python 函数 过程_python--11 函数和过程

过程(procedure)是简单/特殊并且没有返回值的

函数 有返回值

python 严格来说只有函数没有过程

>>>def hello():

... print('Hello Junjie!')

...

>>> temp = hello()

Hello Junjie!

>>> temp

>>>print(temp)

None

>>> type(temp)

python 动态确定类型 python没有变量,只有名字

返回多个值 用一个数据类型封装多个返回的值

>>>def back():

... return [1,'junjie',3.14]

...

>>>back()

[1, 'junjie', 3.14]

>>>def back():

... return 1,'junjie',3.14

...

>>> back()

(1, 'junjie', 3.14)

函数变量作用域 变量的可见性

局部变量(Local Variable) 函数中定义的变量,用栈进行存储 方法结束弹栈

全局变量(Grobal Variable) 作用域整个文件

>>> def discounts(price,rate):

... final_price = price * rate

... old_price = 88#这里试图修改全局变量

... print('修改后old_price的值是:', old_price)

... return final_price

...

>>> old_price = float(input('请输入原价:'))

请输入原价:999

>>> rate =float(input('请输入折扣'))

请输入折扣0.5

>>> new_price = discounts(old_price,rate)

修改后old_price的值是: 88

>>>print('修改后old_price的值是',old_price)

修改后old_price的值是 999.0

>>>print('打折后的价格是',new_price)

打折后的价格是 499.5

>>> print('试图打印局部变量的值',final_price)

Traceback (most recent call last):

File "", line 1, in

NameError: name 'final_price' is not defined

全局变量函数中修改全局变量

>>> count = 5

>>> def myFun():

... count = 10

... print(count)

...

>>> myFun()

10

>>>print(count)

5

old_price = 88 #这里试图修改全局变量

python会使用屏蔽(Shadowing)去保护 全局变量

试图去修改全局变量时,python会创建一个与全局变量名字一样的变量 局部变量和全局便利存储的位置不一样

global 关键字 函数中修改全局变量

>>> print(count)

5

>>> count = 5

>>>def myFun():

... global count

... count = 10

... print(count)

...

>>> myFun()

10

>>> print(count)

10

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值