python3变量、函数
目录
1、实例私有变量,类变量
2、匿名函数、不定长参数、高阶函数
1.1、私有变量
实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问
可以定义方法,把私有变量返回,外部再去访问
class Student(object):
def __init__(self, name, gender):
self.name = name
self.__gender = gender
def get_gender(self):
return self.__gender
def set_gender(self,gender):
self.__gender=gender
if __name__ == '__main__':
bart = Student('Bart', 'male')
if bart.get_gender() != 'male':
print('测试失败!')
else:
bart.set_gender('female')
if bart.get_gender() != 'female':
print('测试失败!')
else:
print('测试成功!')
1.2 类变量
相同名称的实例属性将屏蔽掉类属性,实例属性的优先级是要高于类属性的
class Student(object):
count = 0
def __init__(self, name):
self.name = name
Student.count+=1
if __name__ == '__main__':
if Student.count != 0:
print('测试失败!')
else:
bart = Student('Bart')
if Student.count != 1:
print('测试失败!')
else:
lisa = Student('Bart')
if Student.count != 2:
print('测试失败!')
else:
print('Students:', Student.count)
print('测试通过!')
2.1匿名函数
匿名函数使用lambda定义:lambda x: x * x,就可以完成原来显式定义的f(x)函数的功能,冒号前面的x表示匿名函数的参数,后面的是一个表达式,匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
2.2不定长参数
*args定义一个函数时,*将所有位置参数聚合到一个元组中,赋值给args
for i in args:
print(i)
**kwargs定义一个函数时,**将所有关键字参数聚合到一个字典中,赋值给**kwargs
for i,v in kwargs.items():
print("%s:%s"%(k,v))
items() 函数以列表返回可遍历的(键, 值) 元组数组
2.3高阶函数
函数可以作为变量 map(),reduce(),filter() sorted()
每个人都是一座山 世上最难攀越的山 其实是自己 往上走 即便一小步 也有新高度

浙公网安备 33010602011771号