关于python定义私有函数的信息

求这段python的注释

片段代码没法注释

成都创新互联公司主营祥云网站建设的网络公司,主营网站建设方案,app软件定制开发,祥云h5小程序开发搭建,祥云网站营销推广欢迎祥云等地区企业咨询

比如引入的头文件,看不到头文件的源码或者说明注释之类的,完全只能靠猜测

再说 这只是片段代码 , 几乎得不到什么有用信息。

尝试,注释

# 引入各种模块

import BigWorld

from functools import partial

from gui.Scaleform.Battle import DamagePanel

from gui.battle_control import g_sessionProvider

# 定义一个私有函数,一个参数 bool

def __setFireInVehicle(self, bool):

#调用 old_setFireInVehicle 函数,并传入一个参数 bool

old_setFireInVehicle(self, bool)

# 大概是一个类的函数 callback 回调,传入各种参数

BigWorld.callback(4.57692e+018, partial(g_sessionProvider.getEquipmentsCtrl().changeSettingByTag, 'extinguisher', None, BigWorld.player()))

# 两个赋值语句

old_setFireInVehicle = DamagePanel._setFireInVehicle

DamagePanel._setFireInVehicle = __setFireInVehicle

# 就能得到这么多

再举个例子:

前提:我又一篇文言文,并且你对此文一无所知。

那么问题来了:我随便从中抽取一个片段,问你什么意思。(你觉着你能翻译出来的可能性有多大)

python中函数定义

1、函数定义

①使用def关键字定义函数

def 函数名(参数1.参数2.参数3...):

"""文档字符串,docstring,用来说明函数的作用"""

#函数体

return 表达式

注释的作用:说明函数是做什么的,函数有什么功能。

③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么。Python函数的本质与数学中的函数的本质是一致的。

2、函数调用

①函数必须先定义,才能调用,否则会报错。

②无参数时函数的调用:函数名(),有参数时函数的调用:函数名(参数1.参数2.……)

③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用。

④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的。

⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数。

python中如何调用私有函数

class MyClass: def __init__(self): print "initialize..." def __play(self): print "play..." a = MyClass()initialize... a._MyClass__play()play... dir(a)['_MyClass__play', '__doc__', '__init__', '__module__']python的私有是伪的,还是可以访问到。 方法就是_类名__方法名,python不过是在以__开头的方法名面前加了小动作导致访问不到看起来像私有方法。

在python中什么是私有变量域

默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量。

在python中定义私有变量只需要在变量名或函数名前加上 ”__“两个下划线,那么这个函数或变量就是私有的了。

作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突。

私有变量域就是私有变量的可用范围。

在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername,也就是说,类的内部定义中,所有以双下划线开始的名字都被"翻译"成前面加上单下划线和类名的形式。

例如:为了保证不能在class之外访问私有变量,Python会在类的内部自动的把我们定义的__spam私有变量的名字替换成为

_classname__spam(注意,classname前面是一个下划线,spam前是两个下划线),因此,用户在外部访问__spam的时候就会

提示找不到相应的变量。

python中的私有变量和私有方法仍然是可以访问的;访问方法如下:

私有变量:实例._类名__变量名

私有方法:实例._类名__方法名()

其实,Python并没有真正的私有化支持,但可用下划线得到伪私有。   尽量避免定义以下划线开头的变量!

(1)_xxx      "单下划线 " 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量,需通过类提供的接口进行访问;不能用'from module import *'导入。

(2)__xxx    类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。)," 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。

(3)__xxx__ 系统定义名字,前后均有一个“双下划线” 代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

更多Python知识请关注Python视频教程栏目。


本文标题:关于python定义私有函数的信息
文章来源:http://ybzwz.com/article/doesjod.html