当前位置: 首页 > news >正文

做游戏制作 网站黑马培训价目表

做游戏制作 网站,黑马培训价目表,平面设计学徒,wordpress插件 osgi定义一个函数非常简单,但是怎么定义一个函数,需要什么参数,怎么去调用却是我们需要去思考的问题。 如同大多数语言一样(如 Java),Python 也提供了多种参数的设定(如:默认值参数、关…

定义一个函数非常简单,但是怎么定义一个函数,需要什么参数,怎么去调用却是我们需要去思考的问题。

如同大多数语言一样(如 Java),Python 也提供了多种参数的设定(如:默认值参数、关键字参数、形参等)。使用这些参数定义出来的代码,可以让我们适应不同的开放场景,也能简化我们的代码开发工作。

默认值参数

我们创建一个函数,定义参数中一个或多个赋予默认值后,我们可以使用比允许的更少的参数去调用此函数,举个例子(注意:以下代码都使用python3.7版本):

def def_param_fun(prompt, retries=4, reminder='Please try again!'):    while True:        ok = input(prompt)        if ok in ('y', 'ye', 'yes'):            return True        if ok in ('n', 'no', 'nop', 'nope'):            return False        retries = retries - 1        if retries < 0:            raise ValueError('invalid user response')        print(reminder)        # 我们可以如下进行调用def_param_fun('Do you really want to quit?')
def_param_fun('Do you really want to quit?', 2)
def_param_fun('Do you really want to quit?', 2, 'Please, yes or no!')

如上所示,我们可以使用一个或多个参数去调用此函数,我们实际生产中,很多情况下会赋予函数参数默认值的情形,因此,合理使用此种参数形式可以简化我们很多工作量。

重要:使用默认值参数时,如果我们的默认值是一个可变对象时,我们调用函数可能出现不符合我们预期的结果。如下:​​​​​​​

def f(a, l=[]):    l.append(a)    return l    # 此时调用函数print(f(1))print(f(2))print(f(3))
# 返回值# [1]# [1, 2]# [1, 2, 3]

这是由于函数在初始化时,默认值只会执行一次,所以在默认值为可变对象(列表、字典以及大多数类实例),我们可以如下操作:​​​​​​​

def f(a, l=None):    if l is None:        l = []    l.append(a)    return l
# 再次调用函数print(f(1))print(f(2))print(f(3))
# 返回值# [1]# [2]# [3]

可变参数

可变参数也就是我们对于函数中定义的参数是可以一个或多个可以变化的,其中 *args代表着可以传入一个list或者tuple, **args代表着可以传入一个dict。举个例子:​​​​​​​

def variable_fun(kind, *arguments, **keywords):    print("friend : ", kind, ";")    print("-" * 40)    for arg in arguments:        print(arg)    print("-" * 40)    for kw in keywords:        print(kw, ":", keywords[kw])        # 函数调用variable_fun("xiaoming",             "hello xiaoming", "nice to meet you!",            mother="xiaoma",            father="xiaoba",            son="see you")            # 输出结果first arg:  xiaoming ...----------------------------------------hello nice to meet you!----------------------------------------mother : xiaomafather : xiaobason : see you

我们还可以使用下面的方式进行调用,得到上面相同的结果:​​​​​​​

list01 = ["hello xiaoming", "nice to meet you!"]dict01 = {'mother': 'xiaoma', 'father': 'xiaoba', 'son': 'see you'}variable_fun("xiaoming", *list01, **dict01)

以上其实是python的解包操作,和java类似。

关键字参数

关键字参数允许你调用函数时传入0个或任意个含参数名的参数,这样可以让我们灵活的去进行参数的调用。举个例子:​​​​​​​

# 借用官网例子def key_fun(voltage, state='a stiff', action='voom', type='Norwegian Blue'):    print("-- This key_fun wouldn't", action, end=' ')    print("if you put", voltage, "volts through it.")    print("-- Lovely plumage, the", type)    print("-- It's", state, "!")
# 函数调用  key_fun(1000)                                          # 1 positional argumentkey_fun(voltage=1000)                                  # 1 keyword argumentkey_fun(voltage=1000000, action='VOOOOOM')             # 2 keyword argumentskey_fun(action='VOOOOOM', voltage=1000000)             # 2 keyword argumentskey_fun('a million', 'bereft of life', 'jump')         # 3 positional argumentskey_fun('a thousand', state='pushing up the daisies')  # 1 positional, 1 keyword

注意不可以重复传值,否则会报如下错误:​​​​​​​

# TypeError: key_fun() got multiple values for argument 'voltage'key_fun(100, voltage=1000)                             # error

总结

本节主要简单的介绍了python中函数参数的使用,设定的方式可以配合使用,但是也不要过多的去设计,否则会造成函数的可读性变的很差。

http://www.hkea.cn/news/17168/

相关文章:

  • 网络规划方案计划书电脑清理优化大师
  • 青岛商业网站建设长沙靠谱的关键词优化
  • 吉林网站建设企业绍兴seo排名
  • 做外贸网站能用虚拟主机吗西安百度推广优化公司
  • 主题网站开发报告网络广告案例
  • 化妆品电子商务网站建设策划书搜索引擎优化的对比
  • 网站关键词排名优化软件电工培训课程
  • 湘潭做网站找磐石网络一流做博客的seo技巧
  • 常用的网站推广的方式方法上海百度关键词推广
  • 免费建企业网站营销方式和手段
  • wordpress和t广告优化师怎么学
  • qq音乐是哪个公司开发的网站建设优化收费
  • 做导购网站要多少钱自动推广软件
  • 卢松松网站模板惠州网站排名提升
  • 网站设计参考文献有哪些武汉seo公司哪家专业
  • 乐山公司网络建设百度seo优化策略
  • 上海宝山网站建设培训班今晚赛事比分预测
  • 中国和城乡建设部网站制作一个网站的费用是多少
  • 上海网站开发制作网站建设知名公司
  • 网站语言选择上海搜索引擎优化公司排名
  • 福田的网站建设公司哪家好百度一下打开网页
  • 企业网站 cms搜狗排名优化工具
  • 基于web网站开发对网络营销的理解
  • 哪些网站用echarts做的市场调研方案范文
  • wordpress 漫画在线长春网站seo哪家好
  • 有没有网站开发软件怎么知道自己的域名
  • wordpress地图在哪seo网站推广收费
  • 网站调研怎样做地推拉新app推广怎么做
  • 做英文网站用什么源码重庆seo网站
  • seo网站推广方案深圳百度快速排名优化