-
类型转换函数
python 可以使用int(),str(),float(),bool()等函数将其参数转换为对应的数据类型; -
定义函数
在python 中定义一个函数需要用到def语句,注意写完函数名之后的冒号不能忘记:
def my_abs(x):
if x >= 0:
return x
else:
return -x
如上,定义了一个绝对值函数。
可以将该绝对值函数保存在一个.py文件中,在需要使用该函数时,使用import语句。
ps: python所定义的函数可以返回多个值,如下;
import math
def move(x,y,step,angle=0):
x = x+step*math.cos(angle)
y = y+step*math.sin(angle)
return(x,y)
然后调用该函数:
//在python 命令行中输入
x , y= move(100,100,60,math.pi/6)
print(x,y)
如果将上述代码中x,y都用一个变量取代,然后打印出来,仍然可以得到一个(x,y)的数组。其实函数的返回值并不是两个值,而是一个tuple.
- 默认参数
需要注意的是在定义一个函数的默认参数时,必须初始化一个常量。定义成变量,在调用后会被重新赋值。ps: 不要将其初始化为list - 可变参数
定义时在参数前加*即可定义可变参数,可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple
def changenum(*number):
sum = 0
for x in numbres:
sum += x
return sum
- 关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
在定义函数时关键字参数被表示为**x,在向其中传值时,直接使用key=value的形式传值。示例如下;
def print_info(name,age,**extra):
print('name: %s age: %s' %(name,age))
for city,lab in extra.items():
print('city: %s' %city)
print('lab:%s' %lab)
print()
print_info('dang','11',city='tianjin',lab = 'tank')
执行结果如下:![执行结果1](https://img-blog.csdn.net/20180928222405245?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R4Y2xldA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
- 命名关键字参数
命名关键字的提出,主要是因为函数调用者可以向函数中传入任意命名的参数,这样,在函数内部判断时,就造成了非常不便的后果。在被调函数中可能需要先判断是否有某个名字的参数传入。
def PrintInfo(name ,age, *,city, job)
在需要命名的参数将* 作为特殊参数传入