-
**kw: 参数按照关键字传值,多余的值都给KW,以字典的方式呈现
1234567 >>>
def
a(
*
*
kw):
c
=
kw
return
c
>>> b
=
a(nianlin
=
18
)
>>>
print
(b)
{
'nianlin'
:
18
}
>>>
items()
把字典的键与值以元素的形式列出来
1234 a
=
{
'a'
:
123
}
for
b,c
in
a.items():
print
(
'b:'
,b,
'c:'
,c)
b: a c:
123
setattr() 函数
用于设置属性值,该属性不一定是存在的。
对已存在的属性进行赋值:
123456789 >>>
class
A(
object
):
... bar
=
1
...
>>> a
=
A()
>>>
getattr
(a,
'bar'
)
# 获取属性 bar 值
1
>>>
setattr
(a,
'bar'
,
5
)
# 设置属性 bar 值
>>> a.bar
5
如果属性不存在会创建一个新的对象属性,并对属性赋值:
12345678 >>>
class
A():
... name
=
"runoob"
...
>>> a
=
A()
>>>
setattr
(a,
"age"
,
28
)
>>>
print
(a.age)
28
>>>
查看全部 -
__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。
查看全部 -
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。举例如下:
查看全部 -
reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
查看全部 -
变量可以指向函数
以函数为参数的函数就是高阶函数
查看全部 -
闭包、匿名函数
查看全部 -
python进阶大纲
查看全部 -
pass是占位符
查看全部 -
按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。
查看全部 -
try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。
查看全部 -
由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。
查看全部 -
把类的实例对象传入函数中
查看全部 -
class Student(object):
def __init__(self, name, score):
self.name = name
self.__score = score
def grade(self):
if self.__score>80:
return "A"
if self.__score>=60:
return "B"
return "c"
@property
def score(self):
return self.__score
@score.setter #实际赋值的调用的方法
def score(self, score):
if score < 0 or score > 100: #判断成绩合法性
raise ValueError('invalid score')
self.__score = score #赋值给score
@property
def grade1(self):
if self.__score>80:
return "A"
if self.__score>=60:
return "B"
return "c"
s = Student('Bob', 59)
s2=Student('ass',112)
print s.grade() #调用方法grade()
print s.grade1 # 用调用类属性的方式打印成绩
print s1.grade1
查看全部 -
@property装饰器把一个封装的属性,把属性方法转化为类的属性
查看全部 -
prod查看全部
举报