函数
In [2]: def hello():
...: print('Hello FishC!')
...:
In [3]: temp = hello()
Hello FishC!
In [4]: temp # 没有返回值
In [5]: print(temp) # 返回值为None
None
In [6]: type(temp) # 类型也是None
Out[6]: builtins.NoneType
函数 return
In [8]: def back():
...: return [1, '赵东伟', 3.14]
...:
In [9]: back()
Out[9]: [1, '赵东伟', 3.14]
In [10]: def back(): # 值不带括号
return 1, '赵东伟', 3.14
....:
In [11]: back() # 返回的是元组
Out[11]: (1, '赵东伟', 3.14)
变量的作用域(局部变量)
def discounts(price, rate):
final_price = price * rate
return final_price
old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣率:'))
new_pice = discounts(old_price, rate)
print('打折后价格是:', new_pice)
print('这里试图打印局部变量final_price的值:', final_price) # 此处打印局部变量
C:\Python35\python3.exe D:/Python/day1/mima.py
请输入原价:90
请输入折扣率:0.8
打折后价格是: 72.0
Traceback (most recent call last):
File "D:/Python/day1/mima.py", line 54, in <module>
print('这里试图打印局部变量final_price的值:', final_price)
NameError: name 'final_price' is not defined # 提示变量没有定义
不要在函数内部修改 局部变量
def discounts(price, rate):
final_price = price * rate
old_price = 50 # Python会创建一个同名的局部变量代替
print('修改后old_price的值是1:', old_price)
return final_price
old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣率:'))
new_pice = discounts(old_price, rate)
print('修改后old_price的值是2:', old_price)
print('打折后价格是:', new_pice)
C:\Python35\python3.exe D:/Python/day1/mima.py
请输入原价:100
请输入折扣率:0.8
修改后old_price的值是1: 50
修改后old_price的值是2: 100.0 # 此处还是100,没有变成50
打折后价格是: 80.0