日期: 2022-09-21 03:20:48 浏览数:6

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
福安网站建设_企业网站制作公司_高端网站设计开发-福安上往

def foo(x, y, z):
print("x=", x)
print("y=", y)
print("z=", z)
#调用函数
foo(1,3,5) #此处的1,3,5是实参
输出结果:
x= 1
y= 3
z= 5
形参的作用:是用来接收调用函数时输入的值。
2. 什么是实参
对于函数来说,实际参数简称实参。
是指在调用函数时传入的实际的数据,这会被绑定到函数的形参上。
函数调用时,将值绑定到变量名上,函数调用结束,解除绑定,并且实参将不再存在于程序中。
foo(5,2,0)
上面的 5、 2 和 0 都是实参。
fanchen
fanchen
227***223@qq.com
3年前 (2019-05-23)
べ断桥烟雨ミ
Leg***_1949@126.com
54
在编写函数的过程中,可以显式指定函数的参数类型及返回值类型:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
def function_demo(param_A: int, param_B: float, param_C: list, param_D: tuple) -> dict:
pass
这种 “将数据类型写死在代码中” 的行为在集成开发环境/代码编辑器时尤为方便,通过显式地指定函数的参数类型和返回值,能够让智能补全组件提前获知标识符的数据类型,提供有利的辅助开发功能。
べ断桥烟雨ミ
べ断桥烟雨ミ
Leg***_1949@126.com
3年前 (2019-09-29)
李宇
146***0060@qq.com
23
对于上面提到的向函数中传递函数对象的用法,我这里进一步补充。
1.向函数传递的函数本身可以是有参数的:
def demo(*p):
i=0
for var in p:
var(i)
i+=1
def d1(i):
print("这里是第一个子函数,输入的数是",i)
def d2(i):
print("这里是第二个子函数,输入的数是",i)
def d3(i):
print("这里是第三个子函数,输入的数是",i)
def d4(i):
print("这里是第四个子函数,输入的数是",i)
demo(d1,d2,d3,d4)
上面的代码执行起来没问题。
2.就算你的函数是有参数的,将这个函数传递给另一个函数的时候也不能加参数,还是上面的例子:
demo(d1(7),d2,d3,d4)
这样就会报错,因为此时 d1(7) 就是 d1() 的返回值,是不可以在方法内部传递参数并且调用。
李宇
李宇
146***0060@qq.com
2年前 (2020-01-24)
zppet
zpp***sina.com
14
关于函数参数能不能在函数里被改变。
我自己的理解是:如果函数内部出现过赋值语句,则意味着新的对象被生成,函数入参所指向的对象就改变了。这时,再改变,也只是操作的新生成的对象。
测试代码如下:
#!/usr/bin/python3
# -*-coding:utf-8 -*-
# 可写函数说明
def changeme( mylist ):
"修改传入的列表"
b=mylist
print(id(b))
print(id(mylist))
mylist[1]="Hello World!"
print ("函数内取值1: ", mylist)
print("b:",b)
mylist.append([1,2,3,4])
#mylist=[1,2,3,4]
print ("函数内取值2: ", mylist,b)
mylist=[11,21,31,41]
print ("函数内取值3: ", mylist,b)
return
# 调用changeme函数
mylist = [10,20,30]
changeme( mylist )
print ("函数外取值: ", mylist)
输出结果:
55061120
55061120
函数内取值1: [10, 'Hello World!', 30]
b: [10, 'Hello World!', 30]
函数内取值2: [10, 'Hello World!', 30, [1, 2, 3, 4]] [10, 'Hello World!', 30, [1, 2, 3, 4]]
函数内取值3: [11, 21, 31, 41] [10, 'Hello World!', 30, [1, 2, 3, 4]]
函数外取值: [10, 'Hello World!', 30, [1, 2, 3, 4]]
zppet
zppet
zpp***sina.com
2年前 (2020-12-15)
针对楼上 @IS 的关于函数内部可以访问全局变量,但是不能更新(修改)其值。经过测试,其实函数内部是可以修改全局变量的,测试代码如下:
1、访问全局变量:
a = 10def sum ( n ) :
n += a # 调用全局变量a
print ('a = ', a, end = ' , ' )
print ( 'n = ', n )sum(3)输出 :
a = 10 , n = 13
2、在函数内部重新赋值全局变量,再次调用:
a = 10def sum ( n ) :
a = 20 # 重新赋值
n += a # 调用全局变量a
print ('a = ', a, end = ' , ' )
print ( 'n = ', n )sum(3)输出 :
a= 20 , n = 23
3、如果函数内部调用了全局变量,但之后又修改了该变量,则会报错(引发 UnboundLocalError) :
a = 10def sum ( n ) :
n += a # 调用了全局变量a,但是之后又修改了a,引发错误,若将a=11注释掉则不会报错,或将a=11语句置于调用语句之前也不会报错
a = 11 # 修改了全局变量
print ('a = ', a, end = ' , ' )
print ( 'n = ', n )sum(3)
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)