python函数定义的基本格式_python函数基础
⼀、基本概念
所谓函数就是组织好的,可重复使⽤的,⽤来实现单⼀或相关联功能的代码段。
⼆、函数定义
定义规则如下:函数代码块以def关键字开头,后接函数标识符名称和圆括号 ();
圆括号⾥⾯⽤来传递参数;
圆括号结尾处接冒号‘:’;
函数内部代码块应该缩进;
return结束函数,可选择返回⼀个或多个值。不带表达式的return相当于返回None
三、基本形式
def func1(args):
code block
四、函数参数
在python中函数参数有以下⼏类:必选参数(位置参数)
默认参数
可变参数
关键字参数
命名关键字参数
1.必选参数,就是普通的参数,定义的时候需要传进去的参数调⽤是就必须传进去
def add_num(x, y):
return x + y
调⽤:add_num(1, 2)
输出:3
2.默认参数,定义函数时就指定了参数有默认值,调⽤时不传递默认参数便会使⽤默认值
def power(x, base = 2):
return x ** base
调⽤:power(2)
输出:4
调⽤:power(2, 3)
输出:8
3.可变参数,定义函数时不确定需要接收多少参数时,可以使⽤*args或**args⽤来接收多个参数加了星号*的参数会以元组的形式导⼊,存放所有未命名的变量参数
加了星号**的参数会以字典的形式导⼊,存放所有键值对
def func1(name, *args):
print('name:{} {}'.format(name, args))
def func2(name, **kw):
print('name:{} {}'.format(name, kw))
调⽤:func1(‘xiaoming’)
输出:name:xiaoming ()
调⽤:func1(‘xiaoming’, 1, 2, 3)
输出:name:xiaoming (1, 2, 3)
调⽤:func2(‘xiaohong’)
输出:name:xiaohong {}
调⽤:func2(‘xiaohong’, sex = ‘female’, age = 19)
输出:name:xiaohong {‘sex’: ‘female’, ‘age’: 19}
4.关键字参数,使⽤关键字参数允许函数调⽤时参数的顺序与声明时不⼀致
def func3(name , sex):
print('name:{} sex:{}'.format(name, sex))
调⽤:func3(‘xiaoming’, ‘male’)
输出:name:xiaoming sex:male
调⽤:func3(sex = ‘male’, name = ‘xiaoming’)
输出:name:xiaoming sex:male
5.命名关键字参数,如果想限制关键字参数的名字,就使⽤命名关键字参数使⽤命名关键字参数时,需要使⽤特⾊分隔符*分隔开来,这样*后⾯的关键字参数就被识别为命名关键字参数;
如果参数中已经有了可变参数,则后⾯跟着的命名关键字不需要使⽤*分隔;
def func4(name, age, *, city = 'BeiJing', career):
print('name:', name)
print('age:', age)
print('city:', city)
print('career:', career)
调⽤:func4(‘xiaoming’, 18, career = doctor)
输出:
name: xiaoming
age: 18
city: BeiJing
career: doctor
调⽤:func4(‘xiaohong’, 19, city = ‘ShenZhen’, career = ‘teacher’)
输出:
name: xiaohong
age: 19
city: ShenZhen
career: teacher
6.混合参数,通过前⾯五种参数的组合使⽤,可以有多种函数的传参形式def func5(a, b, c = 1, *args, **kw):
print('a:{} b:{} c:{} args:{} kw:{}'.format(a, b, c, args, kw))
def func6(a, b, c = 1, *, date, **kw):
print('a:{} b:{} c:{} args:{} kw:{}'.format(a, b, c, args, kw))
args = (1, 2)
kw = {‘version’:0}
调⽤:func5(*args, **kw)
调⽤:func5(1, 2, version = 0)
输出:
a:1 b:2 c:1 args:() kw:{‘version’: 0}
a:1 b:2 c:1 args:() kw:{‘version’: 0}
args = (1, 2, 3)
kw = {‘version’:1}
调⽤:func5(*args, **kw)
调⽤:func5(1, 2, 3, version = 1)
输出:
a:1 b:2 c:3 args:() kw:{‘version’: 1}
a:1 b:2 c:3 args:() kw:{‘version’: 1}
args = (1, 2, 3, 4)
kw = {‘version’:2}
python新手函数
调⽤:func5(*args, **kw)
调⽤:func5(1, 2, 3, 4, version = 2)
输出:
a:1 b:2 c:3 args:(4,) kw:{‘version’: 2}
a:1 b:2 c:3 args:(4,) kw:{‘version’: 2}
args = (1, 2)
kw = {‘date’:‘2020/08/23’, ‘version’:0}
调⽤:func6(*args, **kw)
调⽤:func6(1, 2, date = ‘2020/08/23’, version = 0)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。