Python基础篇——基本数据类型
数字类型:整数类型、浮点数类型、复数类型
整数类型:4种进制表示形式:十进制、二进制、八进制、十六进制,默认采用十进制,其他进制需要增加引导符号
进制种类 |
引导符号 |
描述 |
十进制 |
无 |
默认情况 |
二进制 |
0b/0B |
由字符0或1组成 |
八进制 |
0o/0O |
由字符0-7组成 |
十六进制 |
0x/0X |
由字符0-9、a-f或A-F组成 |
浮点数类型:数值范围和小数精度受不同计算机系统限制,一般范围在-10308----10308之间,区分精度:2.22×10-16左右。
表示方法:一般表示、科学计数法
科学计数法:使用字母e/E作为幂符号,以10为基数,
例:<a>e<b>=a×10b
存在不确定小尾数时,通过round(x,d)函数约定运算后保留的位数,以控制精度
复数类型:表达式---a+bj,a是实数,简称实部。b是虚数,简称虚部。虚数后面使用“J”/“j”表示。使用z.real获得实数部分。使用z.imag获得虚数部分
数字类型的运算:数值运算操作符、数值运算函数
数值运算操作符:
操作符 |
描述 |
x+y |
和 |
x-y |
差 |
x*y |
积 |
x/y |
商,结果是浮点数 |
x//y |
整数商,不大于x与y之商的最大整数 |
x%y |
取余 |
-x |
x的负数 |
+x |
x本身 |
x**y |
x的y次幂,xy |
二元运算符(+、-、*、/、//、%、**)都可以与赋值号(=)相连,形成增强赋值操作符(+=、-=、*=、/=、//=、%=、**=),使用op来表示二元运算操作符,
增强赋值操作符用法:x op= y等价于 x = x op y
数值运算函数:
函数 |
描述 |
abs(x) |
x的绝对值 |
divmod(x,y) |
(x//y,x%y),输出二组形式(元组类型) |
pow(x,y)/pow(x,y,z) |
x**y/(x**y)%z,幂运算 |
round(x)/round(x,d) |
对x四舍五入,保留d位小数,无参数d则返回四舍五入的整数值 |
max(x1,x2,…,xn) |
x1,x2,…,xn的最大值,n没有限制 |
min(x1,x2,…,xn) |
x1,x2,…,xn的最小值,n没有限制 |
字符串类型及格式化:索引、切片、基本的format()格式化方法
索引:对字符串中某个字符的检索。
使用方法:<字符串/字符串变量>[序号]
字符串的两种序号体系:正向递增序号、反向递减序号
切片:对字符串中某个子串或区间的检索。
使用方法:<字符串或字符串变量>[N:M] 或者<字符串或字符串变量>[N:M:K]
字符串格式化:解决字符串和变量同时输出时的格式安排问题。通过.format()方法 实现。
使用方法:<模板字符串>.format(<逗号分隔的参数>)
format()方法的槽包括参数序号、格式控制信息。
语法格式:{<参数序号>:<格式控制标记>}
格式控制标记用来控制参数显示时的格式,具体如下:
: |
<填充> |
<对齐> |
<宽度> |
<,> |
<精度> |
<类型> |
引导符号 |
用于填充的单个字符 |
<左对齐 >右对齐 ^居中 |
槽的设定输出宽度 |
数字的千位分隔符适用于整数和浮点数 |
浮点数小数部分的精度或字符串的最大输出长度 |
整数类型 b,c,d,o,x,X 浮点数类型 e,E,f,% |
字符串类型的操作:字符串操作符、处理函数、处理方法
基本字符串操作符(3个):
操作符 |
描述 |
x + y |
连接两个字符串xy |
x * n或n * x |
复制n次字符串x |
x in s |
如果x是s的子串,返回True,否则返回False |
字符串处理函数:
函数 |
描述 |
len(x) |
返回字符串x的长度或其他组合数据类型的元素个数 |
str(x) |
返回任意类型x所对应的字符串形式 |
chr(x) |
返回Unicode编码x对应的单字符 |
ord(x) |
返回单字符x表示的Unicode编码 |
hex(x) |
返回整数x对应的十六进制数小写形式字符串 |
oct(x) |
返回整数x对应的八进制数小写形式字符串 |
常用字符串处理方法:
方法 |
描述 |
str.lower() |
返回字符串str的副本,全部字符小写 |
str.upper() |
返回字符串str的副本,全部字符大写 |
str.spli(sep=None) |
返回一个列表,由str根据sep被分割的部分构成 |
str.count(sub) |
返回sub子串出现的次数 |
str.replace(old,new) |
返回字符串str的副本,所有old子串全部被替换成new |
str.center(width,fillchar) |
字符串居中函数,fillchar参数可选 |
str.strip(chars) |
从字符串str中去掉在其左侧和右侧chars中列出的字符 |
str.join(iter) |
将iter变量除最后元素外每个元素后都增加一个str字符串 |
类型判断和类型间转换
类型判断:使用type(x)函数对变量x进行类型判断,适用于任何数据类型
类型间转换函数
函数 |
描述 |
int(x) |
将x转换为整数,x可以是浮点数和字符串 |
float(x) |
将x转换为浮点型,x可以是整型和字符串 |
str(x) |
将x转换为字符串,x可以是浮点数和整数 |
程序控制结构
程序基本结构(3种):顺序结构、分支结构、循环结构
顺序结构:按照程序指令顺序向前执行
分支结构:程序根据条件进行判断,按照判断结果的不同选择不同的向前执行的路径
循环结构:程序根据判断结构向后执行
程序的分支结构:单分支结构、二分支结构、多分支结构;分支语句适用于任何能够产生True或False的表达式或者函数。
分支结构 |
保留字 |
使用方法 |
单分支结构 |
if |
if<判断语句>: <执行语句> |
二分支结构 |
if-else |
if<判断语句>: <执行语句1> else: <执行语句2> |
多分支结构 |
if-else-else |
if<判断语句>: <执行语句1> else: <执行语句2> … else: <执行语句n> |
程序的循环结构:遍历循环、无限循环、break或continue循环控制
遍历循环:通过保留字for实现。
使用方法:for<循环变量> in <遍历结构>:
<语句块>
遍历结构:字符串、文件、range()函数或组合数据类型
无限循环:通过保留字while实现。
使用方法:while <循环条件>:
<语句块>
循环结构中的两个辅助控制语句:break、continue
break:用于跳出最内层的for/while循环,使程序不再处于循环中,而是执行循环后的代码
continue:用于结束当前本次循环,从循环的头部重新开始循环。
程序的异常处理:try-except
使用方法:try:<程序正常语句>
except:<程序异常后执行的语句>
当程序正常语句出现异常时,则开始执行程序异常后执行代码