————————————————
原文链接:https://blog.csdn.net/asmartkiller/article/details/118273581
新建const.py:
class _const:
import sys
sys.modules[ name ] = _const()
新建test.py:
import const
const.magic = 23
print const.magic
const.magic = 33
结果:
编程的目的就是为了处理信息,信息则是由各种不同类型的数据表示的,对数据的进一步处理也会使信息更加丰富和有效。
5.1变量
前面已经提到过“变量”这属语,下面再进一步解释一下。
在程序运行时,必须把数据导入计算机的存储单元中,但存储单元的命名是用二进制数表示的,晦涩难懂。为了方便起见,可以给存储单元起上一个通俗易懂的名字,即 变量名 。
变量的生命周期和程序的运行周期是相同的,一个程序运行解释,所占用的存储空间也就随之释放,用变量名表示的数据所占用的这个存储单元也就空闲了。
变量名的命名规则:
由字母、数字、下划线构成,必须由字母开头。
不能包含-、*、?、#、、;、/、、@、%、$、空格等特殊字符。
最好使用有含义的英文单词或汉语拼音。
最好采用小写字母。
不能使用保留字(已被Python语言系统本身赋予特定意义的单词)。Python的保留字如下表所示。
Python保留字列表
Python是区分大小写的,虽然可以将一个英文单词通过字母大小写不同而作为不同变量的变量名,但从程序可读性的角度看,的确不可取。
Python是一种动态类型的语言,变量的类型由变量的值决定。换而言之,给变量赋何种类型的值,变量就是该值的类型。给变量赋值可以通过赋值号(=)来实现。如:
>>>myvar=100
>>>type(myvar)
>>>myvar='tom'
>>>type(myvar)
在这个例子中,变量myvar首先赋值为100,显而易见,100是个整数,通过type()这个函数检测,变量myvar的类型为整数类型(int);接下来变量myvar赋值为‘tom’,通过type()这个函数检测,变量myvar的类型改变为字符串类型(str)。
不仅可以给一个变量赋值为常量,也可以赋值为另一个变量。如:
>>>a=100
>>>b=a
>>>b
100
在这个例子中,“b=a”的实际意义是,变量b和变量a指向同一个存储单元,既然是同一个存储单元,变量b和变量a本质上就是完全相同的,这就好比一个人除了本名之外,还有其他的名字,如笔名、昵称、乳名等等,虽然本质一样,但是可以在不同场合使用。
5.2关于Python的常量问题
在大多数语言中都有常量这个概念,但是Python却没有。其实仔细想想也好像没有设置常量的必要,只要一个变量的值不发生变化,即不给变量重新赋值,它的值当然不会变化,它便是个常量。
5.3基本数据类型
5.3.1整数型和浮点数
整数型(integer),可以是正整数、负整数和0,可以是十进制、八进制、二进制等。
浮点数(float),由整数部分和小数部分组成,主要用于处理包括小数的数。浮点数也可以用科学计数法表示。
5.3.2 字符串类型
字符串类型是由一系列的字母或者其他符号组成的数据序列,通常用单引号、双引号或三引号括起来。
用单引号和双引号括起来的字符串只能放在同一行,用三引号括起来的字符串可以分布在连续多行上。如:
name='我的名字叫王小明'
old="今年6岁"
introduce='''我想说: 我是中国娃
爱讲普通话
要学习写标准的汉字'''
print(name)
print(old)
print(introduce)
运行结果为:我的名字叫王小明
今年6岁
我想说: 我是中国娃
爱讲普通话
要学习写标准的汉字
不管是哪一种引号形式,括起来的部分是一个整体,包括空格和换行符都属于字符串的一部分。
为了保证特殊的输出效果,Python中的字符串支持转义字符,可使用反斜杠“”对一些特殊字符进行转义。常用的转义字符如下:
续行符
换行符
空
水平制表符
” 双引号
’ 单引号
一个反斜杠
f 换页
其中,续行符(“”)用于当一个字符串在一行写不下时用续行符进行连接,但通常更多的采用小括号“()”即可。
如:
第一种方法采用续行符(“”):
>>>str="A thousand wishes, a thousand plans and
a thousand resolutions are better than one action!"
>>>print(str)
A thousand wishes, a thousand plans and a thousand resolutions are better than one action!
第二种方法采用小括号():
>>>str=("A thousand wishes, a thousand plans and "
"a thousand resolutions are better than one action!")
>>>print(str)
A thousand wishes, a thousand plans and a thousand resolutions are better than one action!
下面举例说明换行符(“ ”)的用法:
>>>str=" 登鹳雀楼 白日依山尽, 黄河入海流。 欲穷千里目, 更上一层楼。 "
>>>print(str)
登鹳雀楼
白日依山尽,
黄河入海流。
欲穷千里目,
更上一层楼。
下面举例说明使用转义字符输出双引号(“)的方法:
>>>str="王之涣的诗《登鹳雀楼》中这样写道:" 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。""
>>>print(str)
王之涣的诗《登鹳雀楼》中这样写道:" 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"
>>>
5.3.3布尔类型
布尔类型用来表示逻辑值,所谓逻辑判断的结果,不外乎“真”或“假”两种情况。在Python中“真”用True表示,“假”用False表示。如果布尔类型的变量参与算数运算,则True被当作1,False被当作0。
如:
>>>result=True
>>>print(result)
True
>>>print(result+1)
2
>>>result=False
>>>print(result)
False
>>>print(result+1)
1
5.3.4类型强制转换
Python是一种弱数据类型语言,可以通过给变量重新赋值的方法改变数据类型。但有时为了强制改变数据类型,就要使用类型转换函数来改变。
譬如,为了从键盘读入成绩的数据,可以用float()函数将input()语句读入的字符串转换为浮点数,再赋值给变量score。
>>>score=input("请输入您的成绩:")
请输入您的成绩:96.5 (从键盘输入96.5)
为了计算成绩比及格线高了多少分,使用下面的命令,发现出现了错误提示如下:
>>>score-60
Traceback (most recent call last):
File " ", line 1, in
score-60
TypeError: unsupported operand type(s) for -: 'str' and 'int'
这是属于类型错误,原因是从键盘读入的成绩值(96.5)并非数值类型,不能参与算数运算。用type()函数可以进一步查询变量score的数据类型。
>>>type(score)
使用float()函数进行强制转换后,就可以解决上述问题:
>>>score=float(input("请输入您的成绩:"))
请输入您的成绩:96.5
>>>score=float(score)
>>>type(score)
>>>score-60
36.5
下表列举了一些常用的类型转换函数:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)