函数
使用的是python3.x版本
函数对应的就是java的方法,不过写法倒是和JavaScript类似,使用def来定义,函数名结尾为冒号
不包含参数的函数 1 2 3 4 5 6 def say_hello (): print('hello' ) say_hello()
包含方法参数的函数 1 2 3 4 5 6 7 8 9 def print_max (a,b ): if a > b: print(a,'是最大值' ) elif a == b: print('两者相等' ) else : print(b,'是最大值' ) print_max(5 ,7 )
函数默认值参数 有时候我们可能希望一些参数可选并使用默认值,可以在定义函数时用=来赋予默认值(注意:使用默认值时,在形参列表中必须先列出没有默认值的实参。也就是只有位于末尾的参数才能被赋予默认值)
1 2 3 4 5 6 def function_default (a,b=1 ,c=5 ): print('a = ' ,a,',b = ' ,b,',c = ' ,c) function_default(100 ) function_default(10 ,2 ) function_default(8 ,0 ,8 )
输出结果
1 2 3 a = 100 ,b = 1 ,c = 5 a = 10 ,b = 2 ,c = 5 a = 8 ,b = 0 ,c = 8
关键字参数 前面的那些函数我们都是根据位置来和函数的参数一一对应的,python还支持使用名称而非位置来指定函数中的参数,使得不需要考虑函数调用中的实参顺序
1 2 3 4 5 6 7 8 9 10 11 12 def function_keyword (a,b=1 ,c=5 ): print('a = ' ,a,',b = ' ,b,',c = ' ,c) function_keyword(100 ) function_keyword(10 ,c=2 ) function_keyword(b=8 ,c=0 ,a=8 ) function_keyword(5 ,c=0 ,a=8 )
可变参数 有些时候,参数的数量是不可定的,可以使用*
来实现可变参数
1 2 3 4 5 6 7 8 9 10 11 def funtion_args (a=5 , *nums, **dicts ): print('a =' ,a) for item in nums: print('item值为' ,item) for key,value in dicts.items(): print('key为' ,key,',value为' ,value) funtion_args(1 ,2 ,3 ,4 ,5 ,name='zs' ,age=18 )
对于*nums
,会将所有位置参数汇聚到nums的元组中。
对于**dicts
会将所有关键字参数汇集到dicts的字典中。
有返回值 函数可以接收一些数据,然后返回一些数据,可以使用return来将值返回
1 2 3 4 5 def get_name (): return '张三' name=get_name() print('名字为' ,name)
使用模块 python中的模块就类似于java中的package,使得函数可以进行重用。
比如,我们有一个make_module.py文件
1 2 3 4 5 6 def get_module_name (): return 'make_module' def get_name (): return 'lalall'
现在我们想要调用make_module中定义的函数,在其他文件中import该模块就可以调用模块下的方法
1 2 3 4 5 import make_moduleprint('使用公共方法' ) print(get_module_name())
function_local.py中有两个函数,如果我们想要导入特定的函数,语法如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 from make_module import get_module_namefrom make_module import get_module_name,get_namefrom make_module import get_module_name as mnimport make_module as mfrom make_module import *from make_module import get_module_name,get_nameprint('使用公共方法' ) print(get_name()) print(get_module_name())
很多时候都要使用外部模块,可以使用pip(如果使用的python3的话需要使用pip3)来进行下载安装模块(mac/linux)
安装pip