1.函数定义: #注意:第二行书写时,光标不用向前移动
def my_abs(x):
if x >= 0:
return x
else:
return -x
2.在文件中定义过函数之后,在另一个文件中引入可用: from abstest import my_abs 即可
3.空函数为pass,作用为保证代码可以运行
4.在自定义参数时,要考虑到参数类型的问题,因此需要我们手动完善
def my_abs(x):
if not isinstance(x,(int,float)):
raise TypeErrot('bad operand type')
if x >= 0:
return x
else:
return -x
5.函数返回多个值时,其实返回的是一个tuple(元组)
6.一个函数定义多个参数时,可以将用不到的参数设置为默认值
#定义默认参数时,默认参数必须指向不变对象
def enroll(name, gender, age=6, city='Beijing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
7.使用关键字参数定义函数
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
person('Michael', 30) name: Michael age: 30 other: {}
person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
8.使用命名关键字参数,非必选参数为*后面的值
def person(name, age, *, city, job): print(name, age, city, job)
person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer
9.参数定义顺序:必选参数、默认参数、可变参数、命名关键字参数、关键字参数
10.阶乘函数用fact(n)函数来表示
11.尾递归:在函数返回时,调用自身本身,并且,return语句不能包含表达式。