函数----更新中

函数

 函数是Python中非常重要的概念,函数可以将代码封装起来,方便重用。

函数的定义

 函数是组织好的,可以重复使用的。用来实现单一,或者复杂的代码逻辑,可以将函数看作是一个小的代码块。
 函数可以自己定义,也可以调用python内置函数。
 函数定义的格式如下:

自定义函数

  1. def 函数名(参数列表): 2.函数参数和自变量必须放在括号()内。 3.函数飞调用不运行。 4.函数的返回值:函数执行完后,返回的内容会返回给调用者。 5.函数的调用:函数名() 6.函数的参数: 形参 实参

函数的参数

 函数的参数分为两种:
 1.形参 :**def 函数名(形参)**
       具有实际意义的
       在函数定义的时候,函数名+参数列表
 2.实参 :**函数名(实际参数)**
      具有实际意义的
 ​
 3.位置参数:
      它跟函数中的参数对应起来。保持一一对应.
 ​
 4.关键字参数:
   以形参作为关键字,不论参数的位置
      def sum_num(num1, num2):
          res = num1 + num2
          print(res)
   num_input1 = int(input("请输入第一个数:"))
   num_input2 = int(input("请输入第二个数:"))
   sum_num(num2=num_input2, num1=num_input1)
 ​
 5.默认值参数
   (1) 直接在形参处来进行赋值,调用是就可以不传入参数,使用默认值。
   (2) 如果按照参数类型进行传递,会覆盖默认值
   
 6.可变长度参数
   (1)在形参前 加 * 代表不定长参数
   ~~~.python
     def average(*args):
         sum_num = 0
         for i in args:
             sum_num += i
         print(sum_num)
         print(f"平均值为:{sum_num / len(args)}")
     average(1.5, 2, 3, 4, 4, -2.5)
 ​
     (2)** 代表传入的类型为字典类型
         注意:代表传入的值为字典类型
         def demo(**num):
             print(num)
         
         demo(a=1,b=3,c="ss",d=[1,2,3,4,5])

1.无参无返回值的函数

def eat(): print('今天中午吃什么?')

###函数的调用 函数名()

eat() 控制台 今天中午吃什么?

2.有参无返回值的函数

 ##有参无返回值
 def study(name):
 print(f'{name}在学习python')
 study('小明')
 **控制台**
 小明在学习python

3.无参有返回值的函数

 ##无参有返回值
 def study():
     name="小吴"
     return name
 #接受返回值
 res=study()
 print(res)
 **控制台**
 "小吴"

4.有参有返回值的函数

 ##有参有返回值
 def sum_num(num1,num2):
     return num1+num2
 #接受返回值
 res=sum_num(1,1)
 print(res)
 **控制台**
 2

5.可变类型的参数 和 不可变数据类型的参数

不可变数据类型的参数: 它在函数体内被修改后,相当于开辟了一块新的内存。 函数体内的会被修改,函数体外的不会被修改。我们可以将函数体内的修改 后的数据return返回给调用处。调用处可以接收这个返回值并将其赋值给其他变量 进行其他的操作。

可变数据类型的参数:函数体内的修改后,会修改函数体外的数据。 如:list() set() dict() 函数体内对这些数据类型进行修改,函数体外的数据也会被修改。

函数的调用

 函数名()--------------------函数名+英文括号

函数的返回值

使用单个返回值,两个函数接,互相使用了内部的变量,就可以设置返回值。 注意: 1.return 后面跟要返回的内容 2.将内容返回到函数的调用处,进行接收 3.如果没有返回值,函数接收时;使用默认返回参数None 也被称为隐含返回值。 多个返回值传参 注意返回的值要是 元组格式,调用处取值时按照索引取值。

函数的作用域

1.L (local) : 局部变量,在函数中未定义的变量 2.E (Enclosing) : 嵌套在父级元素局部的作用域 3.G (global) : 全局变量 4.B (bulid-in): 内建作用域

如果需要局部变量更改全局变量,需要使用global关键字声明。 ==注意,global只能修饰没有被赋值的变量

   def demo():
       # global a
       a = 30
       # print(a)
       return a
   res = demo()
   print("demo函数中的a值为:", res)
   print("最外层的a值为:", a)

重点 定义在函数内部的变量,局部变量 定义在整个py文件里面的,代表的是全局的作用域 局部变量:无法修改全局变量

####

  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值