6.3 我的底盘听我的

Posted wyzq9294

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.3 我的底盘听我的相关的知识,希望对你有一定的参考价值。

函数与过程

  函数(function):是有返回值的

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

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

 1 def hello():
 2     print(hello world!)
 3 
 4     
 5 temp = hello()
 6 hello world!
 7 temp
 8 print(temp)
 9 None
10 type(temp)
11 <class NoneType>
12 def back():
13     return [1,hello,3.174]
14 
15 back()
16 [1, hello, 3.174]

局部变量(local variable) 全局变量(global variable)

def discount(price,rate):
    final_price = price * rate
    return final_price
old_price = float(input(请输入原价: ))
rate = float(input(请输入折扣: ))
new_price = discount(old_price,rate)
print(打折后的价格是:%.2f % new_price)

请输入原价: 100
请输入折扣: 0.5
打折后的价格是:50.00

在函数discount(price,rate)中两个参数是price和rate,还有一个是final_pricr,它们都是discount()函数中的局部变量。

修改下代码,看下局部变量的范围

def discount(price,rate):
    final_price = price * rate
    return final_price
old_price = float(input(请输入原价: ))
rate = float(input(请输入折扣: ))
new_price = discount(old_price,rate)
print(这里试图打印局部变量final_price的值: ,final_price)

请输入原价: 100
请输入折扣: 0.5
Traceback (most recent call last):
  File "D:/python/练习/6.3.1 discount.py", line 7, in <module>
    print(‘这里试图打印局部变量final_price的值:‘ ,final_price)
NameError: name ‘final_price‘ is not defined

 

old_price 和 new_price 和 rate 是在函数外定义的,是全局变量,

假如在函数内部去执行读取全局变量,是否可行?

def discount(price,rate):
    final_price = price * rate
    print(这里试图访问全局变量old_price的值:,old_price)
    return final_price
old_price = float(input(请输入原价: ))
rate = float(input(请输入折扣: ))
new_price = discount(old_price,rate)
print(打折后的价格是: ,new_price)


请输入原价: 100
请输入折扣: 0.5
这里试图访问全局变量old_price的值: 100.0
打折后的价格是: 50.0

 

在函数中试图修改全局变量,会发生什么?

python会自动创建一个局部变量(名字是一样的)

 

全局变量在整个代码中都是可以被访问的,在函数内部只能访问但是不能修改全局变量,否则python会自动创建一个名字一样的局部变量。

 

以上是关于6.3 我的底盘听我的的主要内容,如果未能解决你的问题,请参考以下文章

小甲鱼零基础python课后题 P20 019函数:我的地盘听我的

019:函数:我的地盘听我的

Laravel websockets + Laravel Echo 不听我的事件

欢迎您来北大听我的演讲

第019讲:函数 我的地盘听我的--函数变量的作用域(课后测试题及答案 )

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用