本文为百度飞桨领航团零基础Python速成营课节二 python函数基础的学习回顾
课程链接:https://aistudio.baidu.com/aistudio/course/introduce/7073
提示:以下是本篇文章正文内容,下面案例可供参考
1.函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2.任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3.函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4.函数内容以冒号起始,并且缩进。
5.return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
定义一个函数(示例):
def print_name(name): #定义一个名为print_name的函数
"打印学生的名字" #函数的说明
print('姓名:', name) #将传入的参数name打印
return {
'姓名':name} #返回{'姓名':name}给调用方
函数的调用(示例):
rst = print_name('Alice')
#调用print_name函数,并将'Alice'作为参数传入给name;
#执行print('姓名:', name) 此处name值为'Alice'
#后将{'姓名':'Alice'}返回,赋值给rst
rst #此处rst的值为{'姓名':'Alice'}
也可返回多个值:
# 返回多个值
def student_name_and_age():
"记录学生的名字和年龄"
name = input('请输入姓名\n')
age = int(input('请输入年龄\n'))
print(f'姓名:{name};年龄:{age}')
return name,age
rst = student_name_and_age()
type(rst) #我们会发现此时的rst类型为元组,说明当函数返回多个值时,是以元组类型返回的
name, age = student_name_and_age() #可以用这种方式分别接受返回的第一、第二个值
1.位置参数
2.缺省参数
3.可变参数
4.关键字参数
5.命名关键字参数
位置参数是最简单的一种函数调用的方式。位置参数须以正确的顺序传入函数、数量必须和声明时的一样。
def student_name_and_age(name, age):
print('姓名:%s 年龄 %s' %(name, age))
student_name_and_age('张三', 18)
调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
def student_name_and_age(name, age='不愿透露'):
"设置默认参数"
print('姓名:%s 年龄 %s' %(name, age))
student_name_and_age('张三')
# 也可以为默认参数赋值
student_name_and_age('张三', 18)
可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。
def all_student_names(*names):
for name in names:
print('姓名:', name)
all_student_names('张三','李四','王五')
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。等价于如下示例:
def all_student_names(names):
for name in names:
print('姓名:', name)
names = ('张三','李四','王五')
all_student_names(names)
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def student_info(name, age, **kw):
print(f'我的名字叫:{name},年龄:{age},其它信息:{kw}')
student_info('张三', 18, height=180) #此处的height=180会转换成{'height':180}传入**kw
def score_info(name, **kw):
if '语文成绩' in kw:
print(name, '的语文成绩', kw['语文成绩'])
if '数学成绩' in kw:
print(name, '的数学成绩', kw['数学成绩'])
def person_info(name, age, **kw):
print('姓名:', name, '年龄',age)
score_info(name, **kw)
score_cfg = {
'语文成绩':65, '数学成绩':60}
person_info('张三', 18, **score_cfg) #如果score_cfg本身就是字典类型,则调用时需写成**变量名的形式
如果要限制关键字参数的名字,就可以用命名关键字参数
def print_person_info(name, age, *, height, weight):
print('我的名字叫:', name, '年龄:', age,'身高', height, '体重', weight)
print_person_info('张三', 18, height=180, weight=75)
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。
但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
def student_info(name, age=18, *books, city, **kw):
# 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
print('我的名字叫:', name, '年龄:', age,'其它信息:',kw)
print('来自:', city)
for book in books:
print('我有',book,'书')
student_info('张三', 18, '语文','数学','计算机', city='北京', height=180, weight=75)
以上就是今天回顾的内容了,本文仅仅简单介绍了函数的定义与调用,而函数还有着很多更高阶的用法与技巧,快来一起加入到百度飞桨领航团零基础Python速成营一起学习吧,这里有大佬带领大家学习进步。