目录
8.1 定义函数
8.1.1 向函数传递信息
8.2 返回值
8.3 使用其他模块中的函数
def func():
a = 1
b = 2
print(a + b)
func() # 输出:3
def func(c, d):
print(c + d)
a = 1
b = 2
func(a, b) # 输出:3
func(3, 4) # 输出:7
func1(c=2, d=3) # 关键字实参,把此处的c和d换成a,b则会报错
a, b为实参,c, d为形参,当a,b为数和字符串时,按上述方法传递参数,a,b不会改变。而列表,字典等会发生改变。要禁止函数修改列表,实参要传递列表切片。
def list_dict(list0, dict0):
print(list0) # 输出:[1, 2, 3]
list0.append(2)
dict0["color"] = "red"
def list_nochange(list0):
list0.append(2)
print("函数里的list:", list0) # 输出:函数里的list: [1, 2, 3, 2]
list1 = [1, 2, 3]
dict1 = {"color": "green"}
list_dict(list1, dict1)
print(list1) # 输出:[1, 2, 3, 2]
print(dict1) # 输出:{'color': 'red'}
list_nochange(list1[:])
print(list1) # 输出:[1, 2, 3]
注:传递参数时,位置要对应!传递关键字实参时,传递的字母名称要与函数相同,否则报错。
在函数里return 要返回的数据
def return_func():
a = 1
b = 2
return a+b
# return [a, b] # 则下方会输出:[1, 2]
c = return_func()
print(c) # 输出:3
print(return_func()) # 输出:3
所谓的模块就是指其他的,py文件
例如:在Sum.py中有函数return_func(),而在suming.py中我要使用这个函数该如何导入?
# 第一种 导入Sum.py文件
import Sum
# 在suming.py中使用return_func()函数
# c = Sum.return_func(a, b)
# 第二种 从文件导入函数
from Sum import return_func
# 使用: c = return_func(a, b)
# 第三种 从文件导入所有函数
from Sum import *
# 使用方法如第二种
# 从此处看出return_func()函数名过长,那如何简化?
# 使用as即可:from Sum import return_func as rf
# 使用函数时:c = rf(a, b)
# 同理导入文件时也可以如此
本人新手,若有错误,欢迎指正;若有疑问,欢迎讨论。