旗下导航:搜·么
当前位置:网站首页 > Python教程 > 正文

Python 中类的静态变量怎样明白【Python教程】,python

作者:搜教程发布时间:2019-11-27分类:Python教程浏览:26评论:0


导读:Python运用函数默许值完成函数静态变量,假如是静态要领,可以运用@staticmethod标注。一、Python函数默许值Python函数默许值的运用可以在函数挪用时写...
Python运用函数默许值完成函数静态变量,假如是静态要领,可以运用@staticmethod标注。

一、Python函数默许值
Python函数默许值的运用可以在函数挪用时写代码提供轻易,许多时刻我们只需运用默许值就可以了。 所以函数默许值在python中用到的许多,尤其是在类中心,类的初始化函数中一帮都邑用到默许值。 运用类时可以轻易的建立类,而不须要通报一堆参数。
只需在函数参数名背面加上 ”=defalut_value”,函数默许值就定义好了。有一个处所须要注重的是,有默许值的参数必须在函数参数列表的末了,不允许将没有默许值的参数放在有默许值的参数后,由于假如你那样定义的话,诠释器将不晓得怎样去通报参数。
先来看一段示例代码:

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while True:
ok = raw_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 IOError, 'refusenik user'
print complaint

你挪用上面的函数时,可以修正重试次数和输出的提醒言语,假如你比较懒得话,那末什么都不必改。
二、python运用函数默许值来完成函数静态变量的功用
Python中是不支持静态变量的,然则我们可以经由过程函数的默许值来完成静态变量的功用。
当函数的默许值是内容是可变的类时,类的内容可变,而类的名字没变。(相当于拓荒的内存地区没有变,而个中内容可以变化)。
这是由于python中函数的默许值只会被实行一次,(和静态变量一样,静态变量初始化也是被实行一次。)这就是他们的共同点。
再来看下面的顺序片断:

def f(a, L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
print f(4,['x'])
print f(5)

其输出结果是:

[1]
[1, 2]
[1, 2, 3]
['x', 4]
[1, 2, 3, 5]

前面的好明白,为何末了 “print f(5)”的输出是 “[1, 2, 3, 5]”呢?
这是由于 “print f(4,['x'])”时,默许变量并没有被转变,由于默许变量的初始化只是被实行了一次(第一次运用默许值挪用),初始化实行拓荒的内存区(我们可以称之为默许变量)没有被转变,所以末了的输出结果是“[1, 2, 3, 5]”。

以上就是Python 中类的静态变量怎样明白的细致内容,更多请关注ki4网别的相干文章!

标签:python


欢迎 发表评论: