>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34
>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3
比如int()函数可以把其他数据类型转换为整数:
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
n1 = 255
n2 = 1000
>>>print(hex(n1))
>>>print(hex(n2))
0xff
0x3e8
默认参数可以简化函数的调用。设置默认参数时,有几点要注意:
一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);
二是如何设置默认参数。当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
def power(x):
return x * x
把power(x)修改为power(x, n),用来计算x的n次方
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。
但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
斐波那契数列
def f(n):
if n == 0 or n == 1:
return n
else:
return f(n-1) + f(n-2)
f(6)
计算阶乘n! = 1 x 2 x 3 x … x n,用函数fact(n)表示
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
汉诺塔的移动可以用递归函数非常简单地实现。
def move(n, a, b, c):
if n == 1:
print(a, '-->', c)
return
move(n-1, a, c, b)
print(a, '-->', c)
move(n-1, b, a, c)
move(3,'A', 'B', 'C')
必须要设置正确的返回条件 ----容易形成无底洞