祖宗
def sum_2_num(num1
, num2
):
result
= num1
+ num2
return result
sum_result
= sum_2_num
(10, 20)
print("计算结果:%d" % sum_result
)
传参,数据地址一起
def test(num
):
print("在函数内部 %d 对应的内存地址是 %d" % (num
, id(num
)))
result
= "hello"
print("函数要返回数据的内存地址是 %d" % id(result
))
return result
a
= 10
print("a 变量保存数据的内存地址是 %d" % id(a
))
r
= test
(a
)
print("%s 的内存地址是 %d" % (r
, id(r
)))
局部变量
def demo1():
num
= 10
print("在demo1函数内部的变量是 %d" % num
)
def demo2():
num
= 99
print("demo2 ==> %d" % num
)
pass
demo1
()
demo2
()
全局变量
num
= 10
def demo1():
global num
num
= 99
print("demo1 ==> %d" % num
)
def demo2():
print("demo2 ==> %d" % num
)
demo1
()
demo2
()
元组接受
def measure():
temp
= 39
wetness
= 50
return temp
, wetness
result
= measure
()
print(result
)
print(result
[0])
print(result
[1])
gl_temp
, gl_wetness
= measure
()
print(gl_temp
)
print(gl_wetness
)
总结
把地址传给形参,函数内再赋值,不是修改数据,是修改了指针
def demo(num
, num_list
):
print("函数内部的代码")
num
= 99
num_list
= [1, 2, 3]
print(id(num
))
print(num_list
)
print("函数执行完成")
gl_num
= 99
gl_list
= [4, 5, 6]
demo
(gl_num
, gl_list
)
print(id(gl_num
))
print(gl_list
)
缺参数
def print_info(name
, title
="", gender
=True):
gender_text
= "男生"
if not gender
:
gender_text
= "女生"
print("[%s]%s 是 %s" % (title
, name
, gender_text
))
print_info
("小明")
print_info
("老王")
print_info
("小美", gender
=False)
多值
def demo(arg
,*args
, **kwargs
):
print(arg
)
print(args
)
print(kwargs
)
gl_num
=0
gl_nums
= (1, 2, 3)
gl_dict
= {"name": "小明", "age": 18}
demo
(gl_num
,*gl_nums
, **gl_dict
)
demo
(0,1, 2, 3, name
="小明", age
=18)
转载请注明原文地址:https://blackberry.8miu.com/read-17735.html