-
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...
查看全部 -
在类属性和实例属性同名的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。
查看全部 -
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)
查看全部 -
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))
查看全部 -
# 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()
查看全部 -
注意应该是self 不是类名
查看全部 -
在上面的代码中,localtion就是属于Animal这个类的类属性,此后,通过Animal()实例化的所有对象,都可以访问到localtion,并且得到唯一的结果。
类属性也是可以动态添加和修改的,需要注意的是,因为类属性只有一份,所以改变了,所有实例可以访问到的类属性都会变更:
注意应该是Animal(类名) 不是self
查看全部 -
# 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))
查看全部 -
# 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)
查看全部 -
xiaohong.name = 'xiaohong'
xiaohong.sex = 'girl'
xiaohong.age = 13
print(xiaohong.name)
print(xiaohong.sex)
print(xiaohong.age)查看全部 -
xiaohong.age = xiaohong.age + 1查看全部
-
class Person(object): pass xiaohong = Person() xiaoming = Person()查看全部
-
class Person(): pass class Person(object): pass查看全部
-
class Person: pass查看全部
-
重点
查看全部 -
li=['bob', 'about', 'Zoo', 'Credit']
def f (x):
return li[0]
l=sorted(li,key=f)
print(l)查看全部 -
li=list(range(1,101))
print(li)
def f(x):
return (x**0.5) % 1 == 0
for i in filter (f,li):
print(i)查看全部 -
li=['lalice', 'BOB', 'CanDY']
def f(s):
return s.capitalize()
for i in map(f,li):
l=list(map(f,li))
print(l)
查看全部 -
#请参考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())
查看全部 -
#果将类属性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())
在类上调用方法查看全部 -
#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())查看全部
-
# 实例私有属性
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#不能从外部访问私有属性查看全部 -
请给 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)
查看全部
举报