python 09 函数
2024-08-28 04:02:45
函数初识
1. 函数定义:
def 函数名():
函数体
# def 关键字 -- 定义
# 函数名 -- 和变量定义规则一样
# () 必须要写格式 ,一会在盘他
# : 声明语句结束
内存中存放了一堆代码,如果不调用,里面不会变,不会开辟空间
2. 函数调用:
函数名 + ()
def my_len():
s = "alex"
count = 0
for i in s:
count += 1
print(count)
my_len() #调用 显示4
3. 函数的返回值:
return:
def my_len():
s = "alex"
count = 0
for i in s:
count += 1
return count
print(my_len()) # 4 count的值给了my——len()
lst = [1,3,5,7]
def li():
for i in lst:
lst.append(int(input(">>>")))
return lst
print(li()) # lst给了li()
#总结:
return的内容返回给了函数的调用,可以返回任意类型
return下方的代码不执行,终止这个函数(不是终止循环)
return 返回多个内容的时候还是元组形式
return 没有写返回值的时候返回的是None,不写return返回的也是None
4. ()
形参:函数的定义中括号里的是形参
实参:函数的调用括号里的是实参
传参:将实参传递给形参的过程
4.1 位置传参:
形参与实参必须一一对应,形参可以不用,但必须传参。
形参是默认参数是,实参传递时可以不写,若写内容就会将形参的默认参数覆盖。
位置参数 > 默认参数
def func(a,b,c):
print(a,b,c)
func(1,3,5) # 1 3 5 可以是任意数据类型
def func(a,b=2): #b=2 为默认参数,可以不用写实参
print(a,b)
func(1) #1 2
def func(a,b=2): #默认参数必须放最后
print(a,b)
func(1,3) # 1 3 位置参数 > 默认参数 b=3
形参与实参必须一一对应,形参可以不用,但必须传参
4.2 关键字传参:
def func(a,b,c):
print(a,b,c)
func(a=1,c=3,b=2) # 按a,b,c 传参, 1,2,3
def func(a,b,c=4):
print(a,b,c)
func(a=1,c=3,b=2) # 1 2 3 c=4被覆盖
#依次输出name,age,sex:
def userinfo(name,age,sex="男"):
print(name,sex,age)
while True:
name = input("name:")
age = int(input("age:"))
sex = input("sex(如果是男,直接回车!):")
if sex == "女":
userinfo(name,age,sex)
else:
userinfo(name, age)
4.3 混合传参:
位置参数 > 关键字参数
#错误示例:
def func(a,b,c):
print(a,b,c)
func(1,b=3,5) # 位置参数跟随在关键字参数后,报错
def func(a,b,c):
print(a,b,c)
func(1,3,c=5) # 1 3 5
def func(a:int,b:str): # 只有提示作用,没有约束作用
print(a,b)
print(type(a)) # int
print(type(b)) # int
func(1,2)
最新文章
- Python 开源网上商城项目
- 从微软下载安装Windows10
- JAVA(IO流)文件复制
- 10Spring_AOP编程(传统编程)
- Java-Stack
- php根据身份证号码计算年龄
- [转]数据结构之Trie树
- container_of
- C#_Fileuploadify_notMvc
- nginx主配置文件 在那找怎么打开
- JavaScript js无间断滚动效果 scrollLeft方法 使用模板
- java文本编辑器5
- C#socket通信1
- mob分享
- java内存区域——深入理解JVM读书笔记
- CLR类型设计之参数传递
- 打造自己的 JavaScript 武器库(转自SegmentFault公众号)
- 【Linux基础】压缩和解压
- 关于 RESTful API 中 HTTP 状态码的定义
- Drools为什么没有规则流Flow Flie
热门文章
- Redis(五)--- Redis的持久化RDB与AOF
- 技术派-不用sqrt手工计算平方根
- [ PyQt入门教程 ] Qt Designer工具的使用
- nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
- 输出单链表倒数第K个结点值
- Vue 报错 listen EADDRINUSE :::8080
- 【iOS】Interface Builder 预览
- 泥瓦匠 5 年 Java 的成长感悟(下)
- 佳木斯集训Day1
- 【Java例题】5.5 映射类的使用