简介 目录 评价 推荐
  • KyriyaNozen 3天前

    class A(object):
       def __init__(self, a):
           print ('init A...')
           self.a = a

    class B(A):
       def __init__(self, a):
           super(B, self).__init__(a)
           print ('init B...')

    class C(A):
       def __init__(self, a):
           super(C, self).__init__(a)
           print ('init C...')

    class D(C, B):
       def __init__(self, a):
           super(D, self).__init__(a)
           print ('init D...')

    d=D('d')

    结果(class D(C,B) ==> 先执行B再执行C):

              init A...

              init B...

              init C...

              init D...

    0赞 · 0采集
  • KyriyaNozen 2025-02-10

    在类属性和实例属性同名的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。

    0赞 · 0采集
  • qq_慕函数8528375 2025-02-10

    import time


    def performance(unit):

        def perf_decorator(f):

            def wrapper(*args, **kwargs):

                t1 = time.time()

                r = f(*args, **kwargs)

                t2 = time.time()

                t = (t2 - t1) * 1000

                if unit == 'ms':

                    t = (t2 - t1) * 1000 * 1000

                print('call {}() in {}{}'.format(f.__name__,t,unit))

                return r

            return wrapper

        return perf_decorator


    @performance('ms')

    def factorial(n):

        return reduce(lambda x,y:x + y,range(1, n+1))


    factorial(10)

    0赞 · 0采集
  • qq_慕函数8528375 2025-02-10

    import time


    def performance(f):

        def fn(*args, **kw):

            t1 = time.time()

            r = f(*args, **kw)

            t2 = time.time()

            print('call %s() in %fs' %(f.__name__,(t2 - t1)))

            return r

        return fn


    @performance

    def ffa(n):

        return reduce(lambda x,y: x + y, range(1,n+1))

        


    print(ffa(10))

    0赞 · 0采集
  • qq_慕函数8528375 2025-02-10

    # Enter a code

    import socket


    server = socket.socket() # 1.新建 socket


    server.bind(('127.0.0.1', 8999)) # 2.绑定IP和端口(其中127.0.0.1为本机回环IP)


    server.listen(5) # 3.监听连接


    s, addr = server.accept() #4. 接受连接


    print('connect addr :{}'.format(addr))


    content = s.recv(1024)


    print(str(content, encoding = 'utf-8')) #接受来自客户端的消息,并编码打印出来\


    s.close()


    import socket

    client = socket.socket() #1.新建socket


    client.connect(('127.0.0.1', 8999)) #2.连接服务端(注意,IP和端口要和服务端一致)


    client.send(bytes('hello world, hello socket', encoding = 'utf-8')) #发送内容,注意发送的是字节字符串


    client.close()

    0赞 · 0采集
  • KyriyaNozen 2025-02-10

    注意应该是self 不是类名

    https://img1.sycdn.imooc.com/67a8d43d0901736306370406.jpg

    0赞 · 0采集
  • KyriyaNozen 2025-02-10

      在上面的代码中,localtion就是属于Animal这个类的类属性,此后,通过Animal()实例化的所有对象,都可以访问到localtion,并且得到唯一的结果。


      类属性也是可以动态添加和修改的,需要注意的是,因为类属性只有一份,所以改变了,所有实例可以访问到的类属性都会变更:

    https://img1.sycdn.imooc.com/67a8d70b09c16e3507750646.jpg


    注意应该是Animal(类名) 不是self

    https://img1.sycdn.imooc.com/67a8d2b70991f38405640748.jpg

    0赞 · 0采集
  • qq_慕函数8528375 2025-02-08

    # Enter a code

    class Fib(object):

        def __init__(self, num):

            self.num = num

            self.res = []

            a = 0

            b = 1 

            for x in range(num):

                self.res.append(a)

                a,b = b, a + b

        

        def __str__(self):

            return str(self.res)

        

        def __len__(self):

            return self.num


    fib = Fib(10)


    print(fib)

    print(len(fib))

    0赞 · 0采集
  • qq_慕函数8528375 2025-02-08

    # Enter a code

    class Person(object):

        def __init__(self, name, gender, **kw):

            self.name = name

            self.gender = gender

            for k, v in kw.items():

                setattr(self, k, v)


    p = Person('Bob', 'Male', age=18, course='Python')

    print(p.age)

    print(p.course)

    0赞 · 0采集
  • 慕容4489653 2025-02-04
    xiaohong.name = 'xiaohong'
    xiaohong.sex = 'girl'
    xiaohong.age = 13

    print(xiaohong.name)
    print(xiaohong.sex)
    print(xiaohong.age)
    0赞 · 0采集
  • 慕容4489653 2025-02-04
    xiaohong.age = xiaohong.age + 1
    0赞 · 0采集
  • 慕容4489653 2025-02-04
    class Person(object):  pass xiaohong = Person() xiaoming = Person()
    0赞 · 0采集
  • 慕容4489653 2025-02-04
    class Person(): pass  class Person(object):  pass
    0赞 · 0采集
  • 慕容4489653 2025-02-04
    class Person:  pass
    0赞 · 0采集
  • 慕哥0201271 2024-12-01

    重点

    0赞 · 0采集
  • 慕田峪6554729 2024-10-23
    li=['bob', 'about', 'Zoo', 'Credit']

    def f (x):
    return li[0]

    l=sorted(li,key=f)
    print(l)
    0赞 · 0采集
  • 慕田峪6554729 2024-10-23
    li=list(range(1,101))
    print(li)
    def f(x):
    return (x**0.5) % 1 == 0


    for i in filter (f,li):
    print(i)
    0赞 · 0采集
  • 慕田峪6554729 2024-10-23
    li=['lalice', 'BOB', 'CanDY']

    def f(s):
    return s.capitalize()

    for i in map(f,li):
    l=list(map(f,li))
    print(l)

    0赞 · 0采集
  • 慕田峪6554729 2024-10-22

    #请参考Student类,编写Teacher类,老师拥有任教某个科目的属性。

    class Students:
    def __init__(self, name, gender,score ):
    self.name = name
    self.gender = gender
    self.score = score

    class Taecher (Students):
    def __init__(self,name,gender,score,account):
    super().__init__(name,gender,score)
    self.account=account

    def get_info (self):
    return self.name,self.gender,self.score,self.account
    tt=Taecher("张三","女",90,"语文")

    print(tt.get_info())

     
    0赞 · 0采集
  • 慕田峪6554729 2024-10-21
    #果将类属性count改为私有属性__count,则外部无法获取__count,但是可以通过一个类方法获取,请编写类方法获得__count值。


    class Animal(object):
    __count= 999
    def __init__(self, name, age):
    self.name = name
    self.age = age

    @classmethod
    def set_count (cls, new_count):
    cls.__count=new_count

    @classmethod
    def get_count(cls):
    return cls.__count


    print(Animal.get_count())

    Animal.set_count(9868)
    print(Animal.get_count())


    在类上调用方法
    0赞 · 0采集
  • 慕田峪6554729 2024-10-21
    #Animal类的age、name、localtion定义成私有属性,并定义对应的方法修改和获取他们的值。 class Animal : def __init__(self,name,age,localtion): self.__name=name self.__age=age self.__localtion=localtion def get_name (self): return self.__name def change_name (self,new_name): self.__name=new_name def get_age (self): return self.__age def change_age (self,new_age): self.__age=new_age def get_location (self): return self.__localtion def change_localtion(self,new_localtion): self.__localtion=new_localtion dog=Animal('dog',88,'郑州') print(dog.get_name(),dog.get_location()) dog.change_localtion('北京') print(dog.get_name(),dog.get_location())
    0赞 · 0采集
  • 慕田峪6554729 2024-10-21
    # 实例私有属性
    class Animal(object):
        def __init__(self, name, age):
            self.name = name
            self._age = age

    dog = Animal('wangwang',8)
    print(dog.name) # ==> wangwang
    print(dog._age) # ==> 1#不能从外部访问私有属性
    0赞 · 0采集
  • 慕田峪6554729 2024-10-21

    请给 Animal类添加一个类属性 count,每创建一个实例,count 属性就加 1,这样就可以统计出一共创建了多少个 Animal的实例。

    class Animal ():
    count =0
    def __init__(self,name,age):
    self.name=name
    self.age=age
    count+=1


    dog= Animal ('dog',2)
    cat= Animal ('cat',6)
    print(dog.name,dog.age)
    print(cat.name,cat.age)
    0赞 · 0采集
  • 慕田峪6554729 2024-10-21
    class Animal ():
        def __init__(self,name,age)
        self.name=name
        self.age=age
    dog=Animal('dog',2)
    cat=Animal('cat',6)
    print(dog.name,dog.age)
    print(cat.name,cat.age)
    0赞 · 0采集
  • 慕田峪6554729 2024-10-21
    class Animals() :
    dog=Animal()
    cat=Animal()
    0赞 · 0采集
  • 子夜2023 2024-10-11

    1.类的私有属性以__开头,无法通过外部访问,只能通过内部方法访问,为了保护类或实例属性不被外部污染而设计的。

    0赞 · 0采集
  • 慕姐1230071 2024-10-01
    str = "Hello"
    my_list = [str]
    print(my_list)  # 输出: ['Hello']

    str = "Hello"
    as_item_list = list(str)
    print(as_item_list)  # 输出: ['H', 'e', 'l', 'l', 'o']
    0赞 · 0采集
  • 子夜2023 2024-09-27

    4-4  Python类的数学运算

    1. 如何理解def __add__(self, r):
             return Rational(self.p * r.q + self.q * r.p, self.q * r.q)

      >>> r1 = Rational(1, 2)
      >>> r2 = Rational(2, 3)
      >>> print(r1 + r2)

    思路过程:

    不理解r是什么,后面经过查找,代码存在r1+r2时才会调用__add__()函数,此时self.p和self.q指的是r1的p和q,而r.p和r.q指的是r2.p和r2.q

    也就是 (1*3+2*2)/2*3 有理数的答案

    0赞 · 0采集
  • 远航扬帆_2680 2024-09-26
    class Rational(object):
        def __init__(self, p, q):
            self.p = p
            self.q = q
        def __add__(self, r):
            return Rational(self.p * r.q + self.q * r.p, self.q * r.q)
        def __str__(self):
            return '{}/{}'.format(self.p, self.q)
            
        
    r1 = Rational(1, 2)
    r2 = Rational(2, 3)
    r3 = Rational(1, 6)
    print(r1+r2)
    print(r1.__add__(r2))

    重载运算符:

    r1+r2 和

    r1.__add__(r2) 相同

    0赞 · 0采集
  • 远航扬帆_2680 2024-09-26
    class Fib(object):
        def __init__(self,num):
            self.num=num
        
        def __len__(self):
            return len(self.num)
    
    f = [0,1,1,2,3,5,8,13,21,34]
    f_ = Fib(f)
    
    print(f)
    print(len(Fib(f)))

    Fib是一个类

    f_ 是这个类的一个实例,等同于Fib(f)

    f 是一个列表,也是f_ 的属性

    0赞 · 0采集
数据加载中...
开始学习 免费