python函数,,内置函数python


内置函数python里面直接调用函数,如:abs(-100)
数据类型转换;python内置的常用函数还包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数;int(‘123‘) //123int(12.34) //12bool(‘‘) //False
函数名其实就是指向一个函数对象的引用,完全可以把函数名赋值给一个变量,相当于给这个函数起了一个别名;a = absa(-1)定义函数在python中,定义一个函数要使用def语句;def my_abs(x): if x >= 0: return x else: return -x空函数:如果想定义一个什么事也不做的空函数,可以用pass语句:def nop(): pass
函数的参数:位置参数:def power(x,n): s = 1 while n > 0: n = n - 1 s = s * x return s默认参数:我们可以在定义方法时,设置参数的默认值,如果有参数传进来,就用传进来的参数,不然就用默认值;def pow(x,n = 2): s = 1 while n > 0: n = n - 1 s = s * x return s注:一:必选参数在前,默认参数在后,否则会报错; 二:如何设置默认参数; 定义默认参数要牢记一点:默认参数必须指向不变对象~不然的话,函数会一直记住这个参数,每次都加一~def add_end(L=[]) L.append(‘END‘) return L当你正常调用时,结果似乎不错;add_end() //[‘END‘]add_end() //二次调用,[‘END‘,‘END‘]add_end() //三次调用,[‘END‘,‘END‘,‘END‘]要修改上面的例子,我们可以用None这个不变对象来实现;def add_end(L = None): if L is None: L = [] L.append(‘END‘) return L
可变参数:我们可以定义可变参数,使传入的参数个数是可变的,我们可以在外面先设一个list或tuple传进去,通过改变list或tuple的参数来达到可变参数传入的效果;但是,我们也可以定义个*num来不限定你传入的参数,你在函数里面可以用一个for n in num来迭代你的数据;def calc(*numbers):sum = 0for n in numbers:sum = sum + n * nreturn sum
关键字参数:我们前面讲的可变参数是允许你传入0个或多个参数,这些参数在传入时会自动组装成一个tuple,而关键字参数允许你传入0或多个key-value类型的参数,这些关键字参数会在传入之后自动组装成一个dict,也就是字典数据类型;def person(name,age,**kw): print(‘name‘,name,‘age‘,age,kw)和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去;
命名关键字参数:我们要限制关键字参数的名字,就可以用命名关键字参数,只接受city和job作为关键字参数;def person(name,age,*,city,job): print(name,age,city,job)这样,你在传入关键字参数的时候,就必须标明是city=‘Beijing‘和job = ‘Engineer‘;这样函数才会接受,不然是不会接受的;person(‘Jack‘,24,city = ‘Beijing‘,job=‘Engineer‘) //正解;person(‘Jack‘,24,‘Beijing‘,‘Engineer‘) //误解;

python函数

评论关闭