标签:__ 10 内置 变量 python value print 下划线
目录
一、变量命名规划
1.命名规则
(1)命名内容只能是字母、下划线、数字
(2)名字第1字符只能是字母或下划线
(3)区分大小写
2.私有变量
(1)_xxx
- "单下划线" 开始的成员变量相当于私有变量,也叫做保护变量,意思是只有类实例和子类实例能访问到这些变量,需通过类提供的接口进行访问;不能用'from module import *'导入
(2)__xxx
- 双下划线:类中的私有变量/方法名。" 双下划线 " 开始的是私有成员,无法在实例外部直接访问,只有类对象自己能访问。
(3)__xx __
- 双前后下划线,系统定义名字,为特殊属性或方法,特殊方法的存在是给Python解释器调用的,你自己并不需要调用他们,例如:__init __ , 不要自己发明这样的名字。
(4)xx_
- # 单后置下划线,用于避免与Python关键词的冲突。
3.python常用命名规范
(1)模块名:
小写字母,单词之间用_分割
ad_stats.py
(2)包名:
和模块名一样
(3)类名:
单词首字母大写
AdStats
ConfigUtil
(4)全局变量名(类变量,在java中相当于static变量):
大写字母,单词之间用_分割
NUMBER
COLOR_WRITE
(5)普通变量:
小写字母,单词之间用_分割
this_is_a_var
(6)实例变量:
以_开头,其他和普通变量一样
_price
_instance_var
(7)私有实例变量(外部访问会报错):
以__开头(2个下划线),其他和普通变量一样
__private_var
(8)专有变量:
__开头,__结尾,一般为python的自有变量,不要以这种方式命名
__doc__
__class__
(9)普通函数:和普通变量一样
get_name()
count_number()
ad_stat()
(10)私有函数(外部访问会报错):
以__开头(2个下划线),其他和普通函数一样
__get_name()
二、变量赋值规则
Python使用变量之前不需声明,变量赋值既是声明也是定义变量的过程。变量在使用之前都必须赋值。
1.赋空值方法
各类型对象赋空值方法
digital_value=0 #数字
str_value=""或str_value='' #字符串
list_value=[] #列表
ditc_value={} #字典
tuple_value=() #元组
2.增强赋值语句
3.变量赋值比较式
value = 2 < 5;
print(value;) #结果返回true
4.用input()对变量赋值
value=input(); #手工输入23
print(value);
5.删除已声明的变量
del var1
当我们删除var1对象后,再执行打印var1时,会报Not Defined的错误。
三、python变量引用顺序
- 从当前作用域开始寻找变量,没有则就往上一层作用域寻找,还没则继续往上一层找...... ,寻找顺序:
- 当前作用域局部变量->外层作用域变量->再外层作用域变量->......->当前模块全局变量->pyhton内置变量
- 观察下面3个例子,观察a的输出
#例1:
a = 10
def outer():
a = 9
def inner():
a = 8
print(a)
inner()
print(a)
outer()
print(a)
结果:
8
9
10
例2:
a = 10
def outer():
a = 9
def inner():
print(a)
inner()
print(a)
outer()
print(a)
结果:
9
9
10
例3:
a = 10
def outer():
def inner():
print(a)
inner()
print(a)
outer()
print(a)
结果:
10
10
10
四、global定义全局变量
- global定义全局变量作用:声明自定义函数内的变量为全局变量
全局变量例子
x = 50
def func():
global x
print('x的值是', x)
x = 2
print('全局变量x改为', x)
func()
print('x值是', x)
x的值是 50
全局变量x改为 2
x值是 2
标签:__,10,内置,变量,python,value,print,下划线 来源: https://blog.csdn.net/helunqu2017/article/details/116333801
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。