本小节主要记录几种基础数据类型:整型、浮点型、字符串、复数、布尔值,以及类型转换。中间穿插变量和输入的相关知识点。
环境说明:根据下图操作,出现 >>>,就可以在后面敲相关的代码。

常用四种进制即表达方式:
>>> 10
10
>>> 0b10
2
>>> 0o10
8
>>> 0x10
16
支持四则运算:乘除加减。
幂运算:x**i,i 可为整数或分数或小数
>>> 1+2
3
>>> 1-2
-1
>>> 1*2
2
>>> 1/2
0.5
>>> 2**3
8
>>> 2**0.5
1.4142135623730951
>>> 2**(1/2)
1.4142135623730951

Python没有double类型,小数使用float类型。
查看精度:
>>> import sys
>>> sys.float_info
一般为15个数字的准确度,Python支持无限制且精确的整数计算,如果浮点数精度要求比较高,也可以考虑放大倍数,采用整数来运算。
浮点数运算同整型。
实部+虚部,表示为:a+bj
实部和虚部均为浮点数,可以用z.real和z.imag分别获取实部和虚部。
>>> z = 1.2+2.1j
>>> z.real
1.2
>>> z.imag
2.1
注意直接写的时候需要加括号,将复数括起来,如
>>> 1.2+2.1j.imag
3.3
>>> (1.2+2.1j).imag
2.1
bool 是 int 的子类,True == 1,False == 0
常见容易混淆的False布尔值:
表现形式:用单引号、双引号、三引号括起来。
Python内部以Unicode编码存储字符串,Unicode是真正的字符串,而用ASCII、Utf-8、GBK等字符编码表示的是字节串。
>>> a = 'Xin学数据' # Unicode每个单位算一个字节
>>> len(a)
6
>>> g = a.encode('gbk')
>>> len(g) # gbk中文占2个字节
9
查看对象的方法:dir()。如:查看字符串的方法:dir(str)。
如果知道某个方法查用法,可以用help(),如:help(str.upper)。
字符串运算:s、s0 表示字符串,i、j、m 表示整数

len(s)如果 i 为空则为 0。>>> s = 'hello'; s0 = 'lo'
>>> i = 1; j = 3; m = 2
>>> s = 'hello world'; s0 = 'wo'
>>>
>>> s = 'hello world'; s0 = 'wo'
>>> i = 1; j = 3; m = 2
>>>
>>> s = 'hello world'; s0 = 'wo'
>>> i = 1; j = 7; m = 2
>>> s + s
'hello worldhello world'
>>> s * m
'hello worldhello world'
>>> s0 in s
True
>>> s[i]
'e'
>>> s[i:j:m]
'el '
input():输入的任何信息都会被转化为字符串eval():去引号,返回原来的对象type():查看数据类型id():查看对象的空间编号(主要用来查看对象是否指向同一空间)>>> a = 3
>>> b = input('输入a:')
输入a:a
>>> b
'a'
>>> type(b)
<class 'str'>
>>> c = eval(input('输入a:')) # 输入a之后,相当于是c = a
输入a:a
>>> c
3
>>> type(c)
<class 'int'>
# c 和 a 指向同一个空间
>>> id(a)
3254664325488
>>> id(c)
3254664325488
转义就是使得有特殊功能的字符失去相关功能,或者使得没有特殊功能的字符拥有某个功能。
# 本身单引号是声明字符串使用的,加上\之后变成了普通的单引号,可以直接输出
>>> 'I\'m ok.'
"I'm ok."
# 测试环境直接输入,不能直接输出\n 的换行的效果,需要改用打印
>>> "I'm \n ok." # 用双引号括起来时,单引号可以不用加\
"I'm \n ok."
# 改用print()打印输出,将\n 作为换行打印
>>> print("I'm \n ok.")
I'm
ok.
补充:在字符串存放的时候转义符 \n 还是存为 \n,打印时才转义。
常见的转义符号即含义:
| 符号 | 含义 |
|---|---|
| \b | 退格(BS),将当前位置移到前一列 |
| \n | 换行(LF),将当前位置移到下一行开头 |
| \r | 回车(CR),将当前位置移到本行开头 |
| \t | 水平制表(HT),跳到下一个Tab位置(制表符Tab) |
| \v | 垂直制表(VT) |
| \\ | 打印一个反斜线字符\ |
int():转为int,字符串转为int()不能带小数点,如:int(‘1.0’)会报错,需要先用float()进行转化

float():转为floatstr():转为strcomplex():转为复数,如complex(9),返回(9+0j)chr(i):返回整数 i 所对应的 Unicode 字符,可以是十六进制,如chr(0x61)

ord(s):返回字符串s 所对应的 Unicode 值,如ord(‘a’)

hex():转为十六进制

oct():转为八进制

int(x, base=y):转为十进制,x为y进制时的值,x为字符串,如
int('10',8),八进制的10,即8;int('a', 16),十六进制的a,即10;int('0xa',base=16),同样表示十六进制的a,即10。
都是一些比较琐碎的知识点,篇幅也控制的比较友好,直接看即可。
下篇预告:字符串格式化。