Python函数参数传递以及变量作用域详解

发布时间:2021-09-18 10:49:40 作者:chen
来源:亿速云 阅读:130

这篇文章主要介绍“Python函数参数传递以及变量作用域详解”,在日常操作中,相信很多人在Python函数参数传递以及变量作用域详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python函数参数传递以及变量作用域详解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.传递多个参数

使用*号,表示函数接受多个参数

>>> def f(*args): print args >>> f(1) (1,) >>> f(1,2,3) (1, 2, 3) >>> f() () >>> f(1,2) (1, 2)

2.传递字典参数

使用**号,表示传递的是字典参数

>>> def f1(**args): print args >>> f1(a=1,b=2) {'a': 1, 'b': 2}
3.将函数名作为参数传递

#coding=utf-8               #用来支持中文,=号前后不能有空格 #minmax.py def minmax(test,*args):    res=args[0]    for arg in args[1:]:    #循环args中内容副本        if test(arg,res):            res=arg    return res def lessthan(x,y):return x<y def grtrthan(x,y):return x>y print minmax(lessthan,4,7,9,22,2,18) print minmax(grtrthan,4,7,9,22,2,18)
4.传递混合参数

>>> def f2(a,*pargs,**kargs): print a,pargs,kargs >>> f2(1,2,3,4,5,x=11,y=12) 1 (2, 3, 4, 5) {'y': 12, 'x': 11}
5.练习--字符串∪和∩运算

>>> def intersct(*args): res=[] for x in args[0]: for other in args[1:]: if x not in other:break else:res.append(x) return res >>> def union(*args): res=[] for seq in args: for x in seq: if not x in res: res.append(x) return res >>> s1,s2,s3="SPAM","SCAM","SLAM" >>> intersct(s1,s2) ['S', 'A', 'M'] >>> union(s1,s2) ['S', 'P', 'A', 'M', 'C']
6.类成员变量和实例变量

>>> class C:    X = 33    def m(self):    X = 44    self.X = 55 >>> obj = C() >>> print obj.X 33 >>> obj.m() >>> print obj.X 55 >>> C.X 33

到此,关于“Python函数参数传递以及变量作用域详解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. python函数详解
  2. go语言:函数参数传递详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Windows10系统将预装Windows Terminal的示例分析

下一篇:怎么诊断网站是否被降权

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》