Python基础-08

目录

1.自定义函数

1.1Pycharm相关设置

1.2定义

函数内存图

1.3python作用

1.4定义函数

1.5调用函数

1.6返回值

1.7可变/不可变类型在传参

1.8函数参数

1.8.1实参传递方式argument

1.8.2形参定义方式parameter

1.9作用域LEGB

1.9.1变量名的查找规则

1.9.2局部变量

1.9.3全局变量

1.9.4 global语句

1.9.4 nonlocal语句

练习


1.自定义函数

def attack():  # 定义函数(做功能),使用功能的话要调用
    print("摆拳")
    print("直拳")
    print("肘击")
    print()
​
​
# 调用函数
attack()
attack()
attack()
def attack():  # 定义函数(做功能),使用功能的话要调用
    print("摆拳")
    print("直拳")
    print("肘击")
    print()
​
​
def attack_repeated(count):  # 形式参数
    for i in range(count):  # 次数不能写死了
        print("摆拳")
        print("直拳")
        print("肘击")
        print("临门一脚")
        print()
​
​
attack_repeated(2)  # 调用函数的时候(2)是实际参数

1.1Pycharm相关设置

  1. F8 -->逐过程调试(调试时跳过方法);F7 -->逐语句调试(调试时进入方法)

  2. “代码自动完成”时间延时设置

    File -> Setting->Editor->General->Code com

  3. 快捷键:

    Ctrl + P:参数信息(在方法中调用参数)

    Ctrl + Q:快速查看文档

    Ctrl + Akt + M:提取方法

1.2定义

  • 函数用于封装一个特定的功能,表示一个功能或者行为。

  • 函数是可以重复执行的语句块,可以重复调用。

  • 注意:自定义函数的调试快捷键是F7(逐语句),其中F8是逐过程。

函数内存图

# 在方法区中存储函数代码,不执行函数体
def fun01(a):
    a = 100
​
​
num01 = 1 
fun01(num01) # 因为调用函数,所以开辟一块内存图,叫做栈帧,由于存储在函数内部定义的变量
# 函数执行完毕后,栈帧立即释放(其中定义的变量也会销毁)
print(num01)  # 1

 
def fun02(a):
    a[0] = 100
    # 改变的是传入的可变对象
​
​
list01 = [1]
fun02(list01)
print(list01[0])

 

 

def fun03(a):
    a = 100
    # 改变的是fun03栈帧中变量a的指向
​
​
list01 = [1]
fun03(list01)
print(list01[0])  # 1

 
def fun04(a):
    a[1] = [200]
    b = 10
​
​
list01 = [1, [2,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值