各位同学,坚持到这了就不要放弃了,前功尽弃很不划算,不懂的利用Google或者百度。关于本节我将我搜索到的写下来,以供大家理解。
1.*args
args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写。
2.*kwargs
kwargs是键值对参数,为了方便记忆我理解它是key word arguments的缩写。
3.setattr()
set是设置,attr是属性,综合起来就是设置属性的函数。语法是:setattr(object, name, value)
由于字数限制,具体实例就自行搜索一下吧。
1.*args
args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写。
2.*kwargs
kwargs是键值对参数,为了方便记忆我理解它是key word arguments的缩写。
3.setattr()
set是设置,attr是属性,综合起来就是设置属性的函数。语法是:setattr(object, name, value)
由于字数限制,具体实例就自行搜索一下吧。
2017-12-13
已经连题目都看不懂了。“请创建包含两个 Person 类的实例的 list,并给两个实例的 name 赋值,然后按照 name 进行排序。”应该是创建包含三个Person类的实例的list吧。
2017-12-13
@tmackan 最后不解的地方我不知道我理解得正确不,好像属于和数据结构相关的课程,抛砖引玉:“=”是赋值,引用对象,所以你说的2是成立的,”==”是相等,完全相等。“a1“和”a2“定义后,计算机在内存里分别为他们开辟了地址来存储,他们指向的内容地址是不一样的。如果是变量
x="a"
y='a'
print(x == y)
是成立的,因为“a“是同一个字符,内容一致,地址一致。
x="a"
y='a'
print(x == y)
是成立的,因为“a“是同一个字符,内容一致,地址一致。
2017-12-13
import time
def performance(unit):
def perf_decorator(f):
def wrapper(*args, **kw):
t1 = time.time()
r = f(*args, **kw)
t2 = time.time()
if unit=='ms':
t = (t2 - t1) * 1000
else:
t=(t2 - t1)
def performance(unit):
def perf_decorator(f):
def wrapper(*args, **kw):
t1 = time.time()
r = f(*args, **kw)
t2 = time.time()
if unit=='ms':
t = (t2 - t1) * 1000
else:
t=(t2 - t1)
2017-12-12
根据前面map()、filter()、reduce()函数的习惯,方法在前,待操作数据在后,为什么sorted(cmp_ignore_case,['bob', 'about', 'Zoo', 'Credit'])这样写不行?
2017-12-12
if self.score<s.score:
return 1
elif self.score>s.score:
return -1
else:
if self.name<s.name:
return -1
elif self.name>s.name:
return 1
else:
return 0
return 1
elif self.score>s.score:
return -1
else:
if self.name<s.name:
return -1
elif self.name>s.name:
return 1
else:
return 0
2017-12-12
提醒一下有些同学直接定义L = [0,1],这其实是不太合理的,应为如果我调用f(0),或者f(1)的话,就会出现问题了,初始化L应该是[]
2017-12-12
class Person(object):
def __str__(self):
return '(student: %s, %s,%d)' % (self.name, self.gender,self.score)
__repr__ = __str__
s = Student('Bob', 'male', 88)
print s
def __str__(self):
return '(student: %s, %s,%d)' % (self.name, self.gender,self.score)
__repr__ = __str__
s = Student('Bob', 'male', 88)
print s
2017-12-12
class Person(object):
__count = 0
@classmethod
def how_many(cls):
return cls.__count
def __init__(self,name):
self.name=name
Person.__count=Person.__count+1
print Person.how_many()
p1 = Person('Bob')
print Person.how_many()
老是忘记是双下划线,一直通过不了
__count = 0
@classmethod
def how_many(cls):
return cls.__count
def __init__(self,name):
self.name=name
Person.__count=Person.__count+1
print Person.how_many()
p1 = Person('Bob')
print Person.how_many()
老是忘记是双下划线,一直通过不了
2017-12-12
class Person(object):
__count = 0
def __init__(self, name):
Person.__count=Person.__count+1
self.name=name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except AttributeError:
print 'attributeError'
__count = 0
def __init__(self, name):
Person.__count=Person.__count+1
self.name=name
print Person.__count
p1 = Person('Bob')
p2 = Person('Alice')
try:
print Person.__count
except AttributeError:
print 'attributeError'
2017-12-11