函数初识-预习 1.什么是函数 2. 函数的定义 3. 函数的调用 4. 函数的返回值 return 5.函数的参数

  • 函数就是将一些代码进行封装

  • 定义一个事情或者是功能,等到需要的时候直接取用就好了,那么这里定义的东西就是函数

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)

函数初识-预习
1.什么是函数
2. 函数的定义
3. 函数的调用
4. 函数的返回值  return
5.函数的参数

4.2

def func():
	print("今天是周二")
	print("明天是周三")
	return "1-8"
	print("后天是周三")
	return "1-9"
	print("后天是周四")
	print("后天是周五")
print(func())
结果:
今天是周二
明天是周三
1-8
***函数中执行到return的时候就结束了,return以下的代码都不执行,并且终止这个函数

函数初识-预习
1.什么是函数
2. 函数的定义
3. 函数的调用
4. 函数的返回值  return
5.函数的参数

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 = "东莞","清华")
结果:
报错