python中的常量
A. python, 什么是Python的常量和变量
python的世界里本来没有常量,只有你主动不修改的变量来伪装成常量。
B. python常量基本类型有哪些
4、Python有五个标准的数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
4.1 Numbers 四种不同的数值类型:
int(有符号整型) ,long(长整型[也可以代表八进制和十六进制]),Python使用”L”来显示长整型 ,float(浮点型),complex(复数)复数的实部a和虚部b都是浮点型;
4.2 String 字符串行表有取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1。例如:print str[0] # 输出字符串中的第一个字符;
4.3 List 大多数集合类的数据结构实现,支持字符,数字,字符串甚至可以包含列表(所谓嵌套)
加号(+)是列表连接运算符,星号(*)是重复操作。例如:print list * 2 # 输出列表两次 print list + ‘test’# 打印组合的列表 ;
4.4 tuple 元组类似于List,元组是不允许更新的。而列表是允许更新的。
例如:
tuple = ( ‘abcd’, 786 , 2.23, ‘john’, 70.2 )
list = [ ‘abcd’, 786 , 2.23, ‘john’, 70.2 ]
tuple[2] = 1000 # 元组中是非法应用
list[2] = 1000 # 列表中是合法应用
4.4 dictionary 是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
字典(dictionary)是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
例如:
dict = {‘name’: ‘Jack’,’NO.’:6734, ‘grade’: ‘h1’}
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
C. 如何定义和使用Python中常量
一、访问字典的元素使用dobj.get(key, somethingelse),如果对应key值元素不存在,你将会得到somethingelse值,例如“not found” 不要使用dobj[key],因为如果key对应元素不存在,则会产生KeyError异常,这样必须使用try...except来封装 二、名字空间中的属性可以通过字典__dict__来访问 __setattr__负责处理属性赋值,其内进行赋值时要使用self.__dict__[attr] = value以防止递归 三、sys.moles是一个字典,它包含了从Python开始运行起,被导入的所有模块。键字就是模块名,键值就是模块对象。请注意除了你的程序导入的模块外还有其它模块。Python在启动时预先装入了一些模块,如果你在一个Python IDE环境下,sys.moles包含了你在IDE中运行的所有程序所导入的所有模块定义class _const(object): class ConstError(TypeError): pass def __setattr__(self, name, value): if self.__dict__.has_key(name): raise self.ConstError, "Cant rebind const(%s)" % name self.__dict__[name] = value def __delattr__(self, name): if name in self.__dict__: raise self.ConstError, "Cant unbind const(%s)" % name raise NameError, nameimport syssys.moles[__name__] = _const()使用import const const.value = somevalue const.value = newvalue # 产生异常const.ConstError技巧1、使用__setattr__来控制重新绑定 2、sys.moles[name]得到的是模块对象,通过模块对象可以访问其模块属性;而Python不会进行严格的类型检测,所以直接将一个 _const类对象加入sys.moles字典,而__name__的值为对应模块const的名字const,通过 sys.moles[__name__] = _const()用类对象替换模块对象,将对应的名字空间加以限制,当使用import const时,会发生sys.moles[const] = _const();而访问const.attrvalue时会发生sys.moles[const].attrvalue,即 _const().attrvalue
D. python常量的值可以改变吗
首先先要理解常量与变量、赋值即定义
常量
1、python常量:内存中用于保存固定值的单元、在程序中、常量的值不能发生改变的
2、python常量命名规范:通常是以大写字母开头进行区分-Chy常量 chy变量
3、python常量的赋值:数字 字符串 布尔值 空值
4、举例:Aa=123、Ab='chy'、Ac=True和False、Ad=' ';
变量
1、python变量:占用内存中一块空间、用来存放变量的值(或地址)、存放的值是可以发生改变的
2、python变量命名规范:第1个字符必须是字母或下划线开始(_)不可用数字开头 不要用中文开头
3、第1个字符后边可以使用字母、数字、下划线进行组合 chy_0201=[1,2,3]
4、变量的赋值:
变量名=常量
a = 1
print(a)
变量名=其他变量名
a = 1
a = a + 1
print(a)
变量名=表达式
if a = 1:
print('ok')
变量名=函数(返回值)
a = 1
b = 2
c = a + b * 2
print(c)
5、python变量的命名是区分大小写的、小写是变量 大写是常量 chy与Chy是不同的
6、python中已经被使用的关键字不能用于声明变量
7、python中对变量进行赋值时、单引号和双引号是一样的 '' ""
8、赋值可以使用任意类型的数据、一个变量的类型不固定、变量值是有固定的类型的
9、查看数据类型使用type(变量名) asd='123' print(type(asd))
10、通过id(变量名)可以查看变量指向的内存地址
另外一般定义为常量就不会去重新赋值,如果要多次赋值,那就用变量。
首先声明:python没有真正意义上的常量!
但我们可以通过私有属性以及property属性相结合,zhuan自己设置出属于python的伪常量。
当然,这个常量其实也是可以改的,不过是比较麻烦,平常可以当作一个常量用
#1.先是用私有属性初始化一个量
class Man(object):
def __init__(self,age):
self.__age=age
#2.然后用property获取到
@property
def AGE(self):
return self.__age
#3.最后得到常量man.AGE,设置的常量,因property属性,所以调用不需要括号
man = Man(300)
print(man.AGE)
#4.现在验证,输入以下代码,结果为"AttributeError: can't set attribute"
man.AGE=33
#5.这就是python简单的设置伪常量!
希望对你有帮助!谢谢采纳!
E. 在python中怎么定义常量
通常是在py 函数上面,import下面
大写字母作为常量名。
比如:
importxxx
WORKER_NUMBER=100
defhehe():
......
F. python整数常量默认为几进制
python整数常量默认是十进制的。一般的编程语言中,默认的数值型数据的进制,都是十进制的。
G. 如何给python中设定常量
"""
首先声明:python没有真正意义上的常量!
但我们可以通过私有属性以及property属性相结合,自己设置出属于python的伪常量。
当然,这个常量其实也是可以改的,不过是比较麻烦,平常可以当作一个常量用
"""
#1.先是用私有属性初始化一个量
classMan(object):
def__init__(self,age):
self.__age=age
#2.然后用property获取到
@property
defAGE(self):
returnself.__age
#3.最后得到常量man.AGE,设置的常量,因property属性,所以调用不需要括号
man=Man(300)
print(man.AGE)
#4.现在验证,输入以下代码,结果为"AttributeError:can'tsetattribute"
man.AGE=33
#5.这就是python简单的设置伪常量!