码迷,mamicode.com
首页 > 其他好文 > 详细

6.3 我的底盘听我的

时间:2020-05-10 14:33:01      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:str   name   输入   定义   pre   mod   一个   全局变量   type   

函数与过程

  函数(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 我的底盘听我的

标签:str   name   输入   定义   pre   mod   一个   全局变量   type   

原文地址:https://www.cnblogs.com/wyzq9294/p/12863022.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!