类型转换
int(‘123’) 123
int(‘12.34’) 12
float(‘12.34’) 12.34
str(1.23) ‘1.23’
bool(1) True
python 函数可以返回多个数值 其实返回的是一个list
函数设置默认参数1
2
3
4
5
6def power(x,n=2)
s = 1
while n>0:
n = n - 1
s = s * x
return s
当我们调用power(5)的时候相当于调用power(5,2) 25
可变参数1
2
3
4
5def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
1 | >>> extra = {'city': 'Beijing', 'job': 'Engineer'} |
在参数前面加* 函数内部接收到的是一个tuple
关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
1 | def person(name, age, **kw): |
和关键字参数*kw不同,命名关键字参数需要一个特殊分隔符,*后面的参数被视为命名关键字参数。1
2
3
4def person(name, age, *, city, job):
print(name, age, city, job)
person('Jack', 24, city='Beijing', job='Engineer')
实例属性和类属性1
2class Student(object):
__slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称
定制类
‘str‘ 打印对象的调用1
2
3
4
5
6
7
8>>> class Student(object):
... def __init__(self, name):
... self.name = name
... def __str__(self):
... return 'Student object (name: %s)' % self.name
...
>>> print(Student('Michael'))
Student object (name: Michael)