一 函数
1.给函数abs起“别名”
a = abs #直接用变量指向函数
2.函数定义
def my_ads(x):
return none
3.空函数
def nop():
pass # pass表示什么都不做
#同样的可以有
if age>= 8:
pass
4.import的使用
from abstest import my_abs #从adstes中导入my_abs()函数
5.return 返回多值时,返回的是一个tuple
6.函数参数
(1)默认参数
def power(x,n=2,m=3)
此时调用power(5),m n的值默认为2 3
power(10,5) #m的值为3
power(10,m=6) #m的值为6,n的值为默认值2
默认参数必须是不可变的对象
(2)可变参数(允许传入任意数量的参数)
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
nums = [1, 2, 3]
#将nums传入calc的方法有:
calc(*nums) #常用方法
calc(1,2,3)
calc(nums[0], nums[1], nums[2])
(3)关键字参数
def person(name, age, **kw) #kw是可选的、任意数量的关键字参数
print('name:', name, 'age:', age, 'other:', kw)
person('Bob', 35, city='Beijing')
#name: Bob age: 35 other: {'city': 'Beijing'}
person('Adam', 45, gender='M', job='Engineer')
#name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)
#name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
kw把实参的dict传入kw,但获得的只是一个拷贝
(4)命名关键字参数
检查关键字中的传入值
def person(name, age, **kw):
if 'city' in kw:
# 有city参数
pass
if 'job' in kw:
# 有job参数
pass
限制关键字参数
def person(name, age, *, city, job) #*往后的参数被视为关键字参数
命名关键字参数必须传入参数名,否则就视为位置参数
person('jack', 12,'bj',wg) #错误
person('Jack', 24, city='Beijing', job='Engineer') #正确
网友评论