python - 内置对象 之 变量

一、变量命名规划

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

(0)

相关推荐