一、变量的定义和使用
为什么需要变量?当然是通过变量来存储数据,而存储的数据类型可能是数字、字符串、字符等等,将这些数据存储在变量中,可以方便我们去使用,除了变量之外还有一个常量,区别就是,常量是不可变的,而变量是可变的。
1.1 变量的赋值
要使用一个变量,首先需要做的当然是给这个变量赋值,在 python 中,通过 = 号进行赋值:
var = value
其中,var 为变量,value 为具体的值。
注意,变量是标识符的一种,要遵守标识符命名规则。
1.2 变量的使用
a = 1
print(1)
b = 2
sum = a + b
print(sum)
url = "http://www.baidu.com"
print("百度网址为:" + url)
通过上面变量的定义可以看出来,python 是弱类型语言,因为 python 定义变量时不需要声明变量的类型,而且赋值的数据也可以是不同类型的,类似的弱类型语言有 python、JavaScript、PHP,弱类型语言有以下特点:
1)变量无需声明即可赋值,对于一个不存在的变量赋值就相当于一个新的变量。
2)变量的数据类型可以随时改变。
注意:弱类型并不等于没有类型,可以使用 type() 内置函数类检测某个变量或者表达式的类型。
a = 1
print(type(a))
二、整数类型(int)
2.1 定义与使用
整数即不带小数点的正整数、负整数、0,python 与其他强类型语言不同的地方在于 python 只有一种类型的整数,那就是 int,且整数的取值范围是无限的:
a = 1
# print 1
print(a)
b = 1000000000000
# print 1000000000000
print(b)
c = -1000000000000
# print -1000000000000
print(c)
2.2 进制问题
1)二进制类型:由0和1两个数字组成,书写时以 0b 或 0B 开头,例如,101对应十进制数是5。
a = 0b101
# print 5
print(a)
b = 0B110
# print 6
print(b)
2)八进制类型:八进制整数由0~7共八个数字组成,以 0o 或 0O 开头,第一个符号是数字0,第二个符号是大写或小写的字母 O。
a = 0o26
# print 22
print(a)
b = 0O41
# print 33
print(b)
3)十进制类型:
我们平时常见的整数就是十进制形式,它由0~9共十个数字排列组合而成。
注意,使用十进制形式的整数不能以0作为开头,除非这个数值本身就是0。
4)十六进制类型:由0~9十个数字以及 A~F(或 a~f)六个字母组成,书写时以 0x 或 0X 开头。
a = 0x45
# print 69
print(a)
b = 0x4Af
# print 1199
print(b)
2.3 数字分隔符
为了提高数字的的可读性,Python 3.x 允许使用下划线作为数字(包括整数和小数)的分隔符,通常每隔三个数字添加一个下划线,类似于英文数字中的逗号,下划线不会影响数字本身的值。
a = 1_000_000
# print 1000000
print(a)
三、小数/浮点数类型(float)
3.1 定义与使用
同样和强类型语言有区别的是,python 只有 float 类型表示小数,小数通常以浮点数的形式存储,浮点数和定点数是相对的,小数在存储过程中如果小数点发生移动,就称为浮点数,如果小数点不动,就称为定点数,python 中的小数有两种书写形式:
1)十进制形式:
这种就是我们平时看到的小数形式,例如 34.6、346.0、0.346,书写小数时必须包含一个小数点,否则会被 python 当作整数处理。
2)指数形式:
python 小数的指数形式的写法为:aEn 或 aen,a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E 或 e 是固定的字符,用于分割尾数部分和指数部分,整个表达式等价于 a×10n。
指数形式的小数举例:
2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数。
3.7E-2 = 3.7×10-2,其中 3.7 是尾数,-2 是指数。
0.5E7 = 0.5×107,其中 0.5 是尾数,7 是指数。
注意,指数形式即小数,即使它的最终值看起来像一个整数,例如14E3等价于14000,但14E3是一个小数。
a = 1.23
# print 1.23
print(a)
b = 12e4
# print 120000.0
print(b)
c = 12.3 * 0.1
# print 1.2300000000000002
print(c)
四、字符串类型(str)
字符串就是将多个字符组合在一起,python 中字符串写法有两种,一种是单引号写法,一种是双引号写法:
# 字符串的内容可以包含字母、标点、特殊符号、中文等所有文字。
‘这是单引号写法‘
"这是双引号写法"
注意:字符串中的双引号和单引号没有任何区别。
4.1 处理字符串中的引号
当字符串内容中出现引号时,我们需要进行特殊处理,否则 python 会解析出错,有以下方式,例如:
# ‘I‘m a great coder!‘
str1 = ‘I\‘m a great coder!‘
# print I‘m a great coder!
print(str1)
str2 = "I‘m a great coder!"
# print I‘m a great coder!
print(str2)
4.2 字符串换行
python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求,要想换行书写一个比较长的字符串,可以进行如下操作:
s2 = ‘字符串的换行操作. 字符串的换行操作. 字符串的换行操作.‘
上面 s2 字符串的比较长,所以使用了转义字符 \ 对字符串内容进行了换行,这样就把一个长字符串写成多行。
4.3 长字符串
长字符串即不用加 \ 便可以直接换行书写的字符串:
longstr = ‘‘‘
这个是长字符串.
这个是长字符串.
这个是长字符串.
‘‘‘
print(longstr)
4.4 原始字符串
在原始字符串中,\ 不会被当作转义字符,所有的内容都得到了保持。
在普通字符串或者长字符串的开头加上 r 前缀即可:
str1 = r‘原始字符串内容‘
# print 原始字符串内容
print(str1)
五、布尔类型(bool)
bool 类型用来表示真(对)或假(错),例如 1 > 2 是错的,2 > 1 是对的:
# print False
print(1 > 2)
# print True
print(2 > 1)
注意:True 和 False 是 python 的关键字,作为 python 代码输入时,要注意字母大小写,否则会报错。
另外,布尔类型可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0,因此,下边这些运算都是可以的:
# print 1
print(False + 1)
# print 2
print(True + 1)
六、字节串类型(bytes)
bytes 是 python 3.x 新增的类型,字节串(bytes)和字符串(string)的对比:
字符串由若干个字符组成,以字符为单位进行操作,字节串由若干个字节组成,以字节为单位进行操作。
字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。
字节串和字符串都是不可变序列,不能随意增加和删除数据。
bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定,如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串,说白了,bytes 只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes 并不在意,你想怎么使用就怎么使用,bytes 并不约束你的行为。
bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程,bytes 也可以用来存储图片、音频、视频等二进制格式的文件,字符串和 bytes 存在着千丝万缕的联系,我们可以通过字符串来创建 bytes 对象,或者说将字符串转换成 bytes 对象,有以下三种方法可以达到这个目的:
如果字符串的内容都是 ASCII 字符,那么直接在字符串前面添加 b 前缀就可以转换成 bytes。
bytes 类,调用构造方法,也就是 bytes(),可以将字符串按照指定的字符集转换成 bytes,默认采用 UTF-8。
字符串有 encode() 方法,用来将字符串按照指定的字符集转换成对应的字节串,默认采用 UTF-8。
# 将字符串转换成 bytes
a = bytes(‘将字符串转换成 bytes‘, encoding=‘UTF-8‘)
# print b‘\xe5\xb0\x86\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe8\xbd\xac\xe6\x8d\xa2\xe6\x88\x90 bytes‘
print(a)
原文:https://www.cnblogs.com/isKylin/p/14060029.html