一、变量
1.变量无须声明即可直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
a = 20 # python使用等号 ( = ) 作为赋值运算符 print(type(a)) # type()用于传出输入数据的类型 a = 'hello world' print(type(a)) name = 'faker' age = 24 print('名字', name, '年龄', age, sep='|') # 默认以空格隔开变量,可通过sep设置其他分隔符 print('大漠孤烟直', '\t', end='') # 输出后默认换行,可通过end设置 print('长河落日圆') 输出结果: <class 'int'> <class 'str'> 名字|faker|年龄|24 大漠孤烟直 长河落日圆
二、数值类型
1、整型
整型用来表示整数,python中整型包括正整数、0和负整数。Python 的整型支持存储各种整数值,无论多大或者多小。除此之外,Python 的整型还支持 None 值(空值)。
a = 5 a = 9999999999999999 print(type(a)) a = None 输出结果: <class 'int'>
整型数值有 4 种表示形式:
1.十进制形式:最普通的整数就是十进制形式的整数,在使用十进制表示整数值时,不能以 0(零)作为十进制数的开头(数值是 0 除外)。
2.二进制形式:由 0 和 1 组成,以 0b 或 0B 开头。
3.八进制形式:八进制整数由 0~7 组成,以 0o 或 0O 开头(第一个字母是零,第二个字母是大写或小写的 O)。需要注意的是,在 Python 2.x 中,八进制数值还可以直接以 0(零)开头。
4.十六进制形式:由 0~9 以及 A~F(或 a~f)组成,以 0x 或 0X 开头。
a = 0x13 print("a的值为:", a) b= 0b111 print('b的值为:', b) c= 0o54 print('c的值为:', c)
为了提高数值(包括浮点型)的可读性,Python 3.x 允许为数值(包括浮点型)增加下画线作为分隔符。这些下画线并不会影响数值本身。
price = 123_456_789 # price实际值为123456789
2、浮点型
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:
1.十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
2.科学计数形式:例如 5.12e2(即 5.12×102)、5.12E2(也是 5.12 ×102)。
只有浮点型数值才可以使用科学计数形式表示。例如 51200 是一个整型值,但 512E2 则是浮点型值。
a = 1.234 print("a的值为:", a) print("a的类型为:", type(a)) b = 1.23e2 print("b的值为:", b) print("b的类型为:", type(b)) c = 2e3 print("c的值为:", c) print("c的类型为:", type(c)) 输出结果: a的值为: 1.234 a的类型为: <class 'float'> b的值为: 123.0 b的类型为: <class 'float'> c的值为: 2000.0 c的类型为: <class 'float'>
3、复数
python可以支持复数,复数的虚部用 j 或 J 来表示。
a = 1 + 0.2j print(a) print(type(a)) b = 3 - 0.1j print(b) # 复数运行 print(a + b) 输出结果: (1+0.2j) <class 'complex'> (3-0.1j) (4+0.1j)
三、字符串
1、字符串
就是”一串字符”,字符串必须使用引号括起来,可以使用单引号或者双引号(二者没有区别)。字符串中的内容几乎可以包含任何字符,英文字符也行,中文字符也行。
如果字符串内容本身包含了单引号或双引号,此时就需要进行特殊处理:
1.使用不同的引号将字符串括起来。
2.使用转义字符对引号进行转义。python 允许使用反斜线 \ 将字符串中的特殊字符进行转义。
input() 函数返回用户输入的值,用户可以输入任何内容,input() 函数总是返回一个字符串。
a = ' "I love you", he said. ' b = ' he said,"let\'s go." ' a = input('输入一个值:') print(type(a), a) # 输入123 输出结果: <class 'str'> 123
2、长字符串
使用三个引号定义长字符串,该长字符串中既可包含单引号,也可包含双引号。如果所定义的长字符串没有赋值给任何变量,也就相当于注释掉了。
s = ''' 日照香炉生紫烟, 遥看瀑布挂前川。 飞流直下三千尺, 疑是银河落九天。 '''
3、原始字符串
由于字符串中的反斜线都有特殊的作用,因此当字符串中包含反斜线时,就需要使用转义字符 \ 对字符串中包含的每个 \ 进行转义。原始字符串以“r”开头,它不会把反斜线当成特殊字符。
s = 'D:\\python\\libs' s = r'D:\python\libs'
4、转义字符
在指定字符前添加反斜杠 \,以此来表示对该字符进行转义。python 中常用的转义字符:
| \ | 在行尾的续行符,即一行未完,转到下一行继续写 |
| \' | 单引号 |
| \" | 双引号 |
| \0 | 空 |
| \n | 换行符 |
| \r | 回车符 |
| \t | 水平制表符,用于横向跳到下一制表位 |
| \a | 响铃 |
| \b | 退格(Backspace) |
| \\ | 反斜线 |
四、bytes类型
字符串(str)由多个字符组成,以字符为单位进行操作;字节串(bytes)由多个字节组成,以字节为单位进行操作。bytes 对象只负责以字节(二进制格式)序列来记录数据。
如果希望将一个字符串转换成 bytes 对象,有如下三种方式:
- 如果字符串内容都是 ASCII 字符,则可以通过直接在字符串之前添加 b 来构建字节串值。
- 调用 bytes() 函数(其实是 bytes 的构造方法)将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 。
- 调用字符串本身的 encode() 方法将字符串按指定字符集转换成字节串,如果不指定字符集,默认使用 UTF-8 。
a = b"hello" print(a) b = bytes('飞流直下三千尺', encoding='utf8') print(b) c = '飞流直下三千尺'.encode() print(c) 输出结果: b'hello' b'\xe9\xa3\x9e\xe6\xb5\x81\xe7\x9b\xb4\xe4\xb8\x8b\xe4\xb8\x89\xe5\x8d\x83\xe5\xb0\xba' b'\xe9\xa3\x9e\xe6\xb5\x81\xe7\x9b\xb4\xe4\xb8\x8b\xe4\xb8\x89\xe5\x8d\x83\xe5\xb0\xba'
如果程序获得了 bytes 对象,也可调用 bytes 对象的 decode() 方法将其解码成字符串。
d = c.decode() print(d) 输出结果: 飞流直下三千尺
五、布尔类型
python提供了 bool 类型来表示真(True)或假(False),布尔类型可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0。
print(5 > 3) print(5 < 3) print(1 + True) print(1 + False) 输出结果: True False 2 1
六、格式化字符串
python提供了 % 对各种类型的数据进行格式化输出。
| %d,%i | 转换为带符号的十进制形式的整数 |
| %o | 转换为带符号的八进制形式的整数 |
| %x,%X | 转换为带符号的十六进制形式的整数 |
| %e | 转化为科学计数法表示的浮点数(e 小写) |
| %E | 转化为科学计数法表示的浮点数(E 大写) |
| %f,%F | 转化为十进制形式的浮点数 |
| %g | 智能选择 %f 或 %e 格式 |
| %G | 智能选择 %F 或 %E 格式 |
| %c | 格式化字符及其 ASCII 码 |
| %r | 使用 repr() 将变量或表达式转换为字符串 |
| %s | 使用 str() 将变量或表达式转换为字符串 |
当使用上面的转换说明符时,可指定转换后的最小宽度,指定了字符串的最小宽度为 6,因此程序转换数值时总宽度为 6,程序自动在数值前面补充了三个空格。
n = 123 print('num is %6d' % n) print('num is %6o' % n) print('num is %6x' % n) print('num is %6e' % n) 输出结果: num is 123 num is 173 num is 7b num is 1.230000e+02
在默认情况下,转换出来的字符串总是右对齐的,不够宽度时左边补充空格。python 也允许在最小宽度之前添加一个标志来改变这种行为,Python 支持如下标志:
-:指定左对齐。
+:表示数值总要带着符号(正数带“+”,负数带“-”)。
0:表示不补充空格,而是补充 0。
对于转换浮点数,Python 还允许指定小数点后的数字位数:如果转换的是字符串,Python 允许指定转换后的字符串的最大字符数。这个标志被称为精度值,该精度值被放在最小宽度之后,中间用点 ( . ) 隔开。
n = 123.456789 print("n is: %8.3f" % n) print("n is: %08.3f" % n) print("n is: %+08.3f" % n) s = "python" print("s is: %.3s" % s) print("s is: %10.2s" % s) 输出结果: n is: 123.457 n is: 0123.457 n is: +123.457 s is: pyt s is: py
浙公网安备 33010602011771号