9.Python初窥门径(函数初识)
2024-09-04 15:17:15
Python(函数初识)
一、初识函数
- 面向过程缺点 : 代码重复,代码描述性不高
- 函数 : 函数是以功能为导向,一个函数封装一个功能.
- 函数的优点 : 减少代码重复性,增强了代码的可读性
二、函数的结构
# 结构
def 函数名():
内容
# def : 定义一个函数,def关键字后紧跟一个空格
# def 函数名() : 函数名命名方式与变量命名规范一致
三、函数的调用
# 结构
def 函数名():
内容
函数名()
# 函数名() : 函数的执行
---------------------------------
# 函数的执行写多少次,执行多少次
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
print(count)
for i in range(3):
new_len() # 执行结果 三次9
四、函数的返回值
return 作用1 : 只能在函数中用,可用于结束函数
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
print("少林")
return
print("武当")
new_len() # 少林
return 作用2 : 给函数的执行者返回具体的值(三种情况)
函数中没有return或只写一个return,函数的执行者得到的是None
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
return
print(new_len()) # None
函数中return后跟单个值,则返回这个值,不改变值得类型
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
return [1,2,3,4,5]
print(type(new_len())) # <class 'list'>
函数中return后跟多个值,函数的执行者得到的是一个元组
lis=[1,2,3,4,5,6,7,8,9]
def new_len():
count=0
for i in lis:
count+=1
return [1,2,3,4,5],123,"123"
print(type(new_len())) # <class 'tuple'>
五、函数的传参
定义 : 在函数调用时,那实参的值赋值给形参的过程叫做传参.
目的 : 函数可扩展性
def new_len(a): # 定义函数时的参数:形参
count=0
for i in a:
count+=1
return count
l1=[1,2,3]
s1="dsadsadsadsad"
print(new_len(l1)) # 3 函数的调用者参数:实参
print(new_len(s1)) # 13 函数的调用者参数:实参
实参分类(三种)
位置参数 : 按照位置为形参赋值,按照顺序一一对应
def meet(sex,age,job):# 位置参数从左到右,形参与实参按照顺序一一对应
print("寻找性别%s,年龄%s岁,工作%s"%(sex,age,job))
meet("女","20-25","老师")
关键字参数 : 按照位置为形参赋值,可不按照顺序一一对应
# 位置参数从左到右,形参与实参可不按照顺序一一对应
def meet(sex,job,age):
print("寻找性别%s,年龄%s岁,工作%s"%(sex,age,job)) # 这里要按照顺序
meet(job="老师",age="20-25",sex="女")
混合参数
# 关键字参数一定要在位置参数后面,一一对应
def meet(job,age,weight,sex):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25",sex="女",weight="120")
形参角度(四种)
位置参数 : 与实参角度位置参数一致
默认参数 : 默认参数一定在位置参数后面,不传参数即沿用默认的参数,更改默认参数可以用位置或指定的方式更改默认参数.
def meet(job,age,weight,sex="女"):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25",weight="120")
---------------------------------
# 更改默认参数,第一种
def meet(job,age,weight,sex="女"):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25",sex="女",weight="120")
# 更改默认参数,第二种
def meet(job,age,weight,sex="女"):
print("寻找性别%s,年龄%s岁,工作%s,体重%s"%(sex,age,job,weight)) # 这里要按照顺序
meet("老师","20-25","120","男")
以下两种函数进阶会讲到
动态参数
仅限关键字参数
最新文章
- ERROR ITMS-90167: ";No .app bundles found in the package";错误
- JSP的基本语法
- WPF,Silverlight与XAML读书笔记第四十五 - 外观效果之模板
- {$ecs_css_path}
- 蓝牙RSSI计算距离
- 10.3 noip模拟试题
- HDU 2025 查找最大元�
- WITH+HInt MATERIALIZE 不见得有效
- mysql基本操作(一)
- TP无限回复
- Le Chapitre VI
- metamask-iframe-stream,没成功
- Arduino入门笔记(7):利用1602、1302实现时钟和定时器
- vue-cli脚手架的安装
- C 语言assert使用
- 20162325 金立清 S2 W11 C20
- 20155234 2610-2017-2第九周《Java学习笔记》学习总结
- DEDECMS模板文件命名规则
- Golang 中操作 Mongo Update 的方法
- ThinkPHP3.2 整合支付宝RSA加密方式