Python----函数入门
函数的作用:函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。
定义一个函数
- 
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。 
- 
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 
- 
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 
- 
函数内容以冒号起始,并且缩进。 
- 
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None 
![]()  - 函数的调用- 定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。 - 函数必须调用才会进行执行 - 示例1:
- 
def demo(): 
 print("今天是元旦")
 demo()
- 示例2:
def max (a, b): 
 if a > b:
 return a
 else:
 return b
 a = 4
 b = 5
 print(max(a, b))函数的参数作⽤- 
必备参数 
- 
关键字参数 
- 
默认参数 
- 
不定长参数 必备参数必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用demo()函数,你必须传入一个参数,不然会出现语法错误: # 定义函数func并接受参数a,b 
 def func(a, b):
 result = a + b
 print(result)
 # 调用函数并传参a,b 如果不加参数就会报错,这里5 ,10位必备参数
 func(5, 10)关键字参数函数调用使用关键字参数来确定传入的参数值。 def func1(wine): 
 print(f"今天过节我要喝:{wine}")
 func1(wine="红酒")默认参数调用函数时,默认参数的值如果没有传入,则被认为是默认值。 def func(name="sunmmer",age=10): 
 print(f"大家好我叫{name},今年{age}岁了!")
 func()python自定义函数中有两种不定长参数,第一种是*args,可直接传入参数值即可。 加了星号 * 不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。 第二种是**args,这种类型参数会以字典的形式导入,存放已命名的变量参数。 星号可以单独出现,星号后的参数必须用关键字传入。 def func(args1, *args): 
 print(args1)
 print(args)
 func("节日", "烟花", "跨年", "新年")#节日 
 #('烟花', '跨年', '新年')
 字典示例:def func(num, *args, **kwargs): 
 print(num)
 print(args)
 print(kwargs)
 func(1, "元旦", No1="跨年", No2="出去浪")
- 
函数的返回值作⽤return语句[表达式]用于退出函数,返回一个表达式,不带参数的return语句返货None. def num(a, b): 
 result = a + b
 print("函数内 : ", result)
 return result
 result = num(10, 20)
 print("函数外 : ", result)变量作用域一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。 变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。 - 
全局变量 
- 
局部变量 
 # 全局变量
 num = 10
 def demo():
 result = num+20
 print(result)
 
 demo()def demo2():
 global num # 声明num为全局变量
 num = 10 # 局部变量
 
 demo2()
 result = num+20
 print(result)函数的嵌套使用所谓函数嵌套调⽤指的是⼀个函数⾥⾯⼜调⽤了另外⼀个函数 
- 
- 
def num1(a, b): 
 result1 = a + b
 return result1
 num2 = num1(10, 20)
 def num3(num4):
 result2 = num4 + num2
 print(result2)
 num3(5)
 
- 
 
                    
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号