函数初识-预习
Posted lvweihe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数初识-预习相关的知识,希望对你有一定的参考价值。
1.什么是函数
函数就是将一些代码进行封装
定义一个事情或者是功能,等到需要的时候直接取用就好了,那么这里定义的东西就是函数
2. 函数的定义
2.1 关键字 def
def 函数名():
函数体
2.2 定义一个函数
def make():
print("拿出手机")
print("打开陌陌")
print("找一个漂亮的妹子")
print("问她约不约啊")
print("ok,走起")
- 定义好了,但是没有执行
3. 函数的调用
3.1 函数名加小括号
def make(): # 1
print("拿出手机") # 3 9 15
print("打开陌陌") # 4 10 16
print("找一个漂亮的妹子") # 5 11 17
print("问她约不约啊") # 6 12 18
print("ok,走起") # 7 13 19
make() #这就是函数的调用 # 2
#########
make() # 8
make() #想打印几次添加就可以了 # 14
4. 函数的返回值 return
4.1 不写return返回值是None, return写了但是后边什么都不写返回的也是None
def make():
print("拿出手机")
print("打开陌陌")
print("找一个漂亮的妹子")
print("问她约不约啊")
return # "美奴一枚","萝莉一枚" 返回值("美奴一枚","萝莉一枚") #tuple
#返回的内容不受限制,
#跟多个内容,返回值是元祖()
#return是将内容返回给了调用者make(),再赋值给msg
#返回值是什么类型,返回的就是什么类型,如,列表,字典,元组,一个str,数字,bool,集合等
print("ok,走起")
msg= make() #从右向左执行, 没写时 make() == None
print(msg)
4.2
def func():
print("今天是周二")
print("明天是周三")
return "1-8"
print("后天是周三")
return "1-9"
print("后天是周四")
print("后天是周五")
print(func())
结果:
今天是周二
明天是周三
1-8
***函数中执行到return的时候就结束了,return以下的代码都不执行,并且终止这个函数
5.函数的参数
5.1 位置参数
def func(addr): #形参
print(f"我在addr的沙河,我在吃饭")
print(f"alex在addr,在开会")
func("石家庄") #实参
结果:
我在石家庄的沙河,我在吃饭
alex在石家庄,在开会
- 参数
- 定义的参数是 形参
- 调用的参数是 实参 #形参和实参必须一一对应
- 从实参到形参的过程是 传参
- addr是一个变量名 #addr = "东莞"
def func(addr,age): #形参
print(f"我只addr的沙河,我今年age岁")
print(f"alex在addr,他今年age岁")
func("石家庄","30") #实参
结果:
我只石家庄的沙河,我今年30岁
alex在石家庄,他今年30岁
- 形参和实参一一对应,可以填写多个,逗号隔开
def func(a_addr,a_age,b_addr,b_age): #形参
print(f"我只a_addr的沙河,我今年a_age岁")
print(f"alex在b_addr,他今年b_age岁")
func("石家庄","30","以色列",9000) #实参
结果:
我只石家庄的沙河,我今年30岁
alex在以色列,他今年9000岁
- 数字加不加引号效果相同,类型不同
5.2 实参
5.2.1 关键字传参
def func(msg,school):
print(f"嫂子,school的学生,但是要去msg从基层做起")
func(msg = "东莞",school = "清华")
结果:
嫂子,清华的学生,但是要去东莞从基层做起
5.2.1 混合传参
def func(msg,school):
print(f"嫂子,school的学生,但是要去msg从基层做起")
func("东莞",school = "清华")
结果:
嫂子,清华的学生,但是要去东莞从基层做起
5.2.3 位置传参
def func(msg,school):
print(f"嫂子,school的学生,但是要去msg从基层做起")
func("清华","东莞")
结果:
嫂子,清华的学生,但是要去东莞从基层做起
5.3 形参的角度
def func(msg,school = "清华"): #school = "清华"是默认参数
print(f"嫂子,school的学生,但是要去msg从基层做起")
func(msg = "东莞",school = "北大")
结果:
嫂子,北大的学生,但是要去东莞从基层做起
def func(msg,school = "清华"):
print(f"嫂子,school的学生,但是要去msg从基层做起")
func(msg = "东莞")
结果:
嫂子,清华的学生,但是要去东莞从基层做起
5.3.1 简单应用
def func(name,age,addr,sex):
print(f"name,age,addr,sex")
func("韩星",22,"衡水","男")
func("邓春",21,"沧州","男")
func("邸宗超",24,"保定","男")
func("美女",23,"中国","女")
结果:
韩星,22,衡水,男
邓春,21,沧州,男
邸宗超,24,保定,男
美女,23,中国,女
def func(name,age,addr,sex = "男"):
print(f"name,age,addr,sex")
func("韩星",22,"衡水")
func("邓春",21,"沧州")
func("邸宗超",24,"保定")
func("美女",23,"中国","女")
结果:
韩星,22,衡水,男
邓春,21,沧州,男
邸宗超,24,保定,男
美女,23,中国,女
5.4 报错
def func(msg,school):
print(f"嫂子,school的学生,但是要去msg从基层做起")
func("东莞",msg = "清华")
结果:
报错
def func(msg,school):
print(f"嫂子,school的学生,但是要去msg从基层做起")
func(msg = "东莞","清华")
结果:
报错
以上是关于函数初识-预习的主要内容,如果未能解决你的问题,请参考以下文章
RTOS训练营继续程序框架tick中断补充预习课后作业和晚课提问
RTOS训练营继续程序框架tick中断补充预习课后作业和晚课提问