基本数据类型
There are only two kinds of programing languages: those people always bitch about and those nobody uses .
---Bjarne Stroustrup
1. 数字类型
Python 语言中总共提供三种数字类型:整型、浮点数、复数
1.1整数类型
进制种类 | 引导符号 | 描述 |
十进制 | 无 | 默认情况 例如:1110,-455 |
二进制 | 0b 或0B | 由字符0和1组成,例如ob101,0B1011 |
八进制 | 0o 或0O | 由字符0到7组成,例如:0o711,0O444 |
十六进制 | 0x 或0X | 由字符0-9、a-f、A-F组成,例如0XACF |
整数的理论取值范围(-∞,∞)但是实际情况取决于计算机的运行内存。可以使用内置函数pow(x,y)来测试运算取值范围,函数表示xy
1.2浮点类型
浮点数类型和数学中实数的概念一致,表示带有小数的数值。
浮点数有两种表示方法,十进制表示和科学计数法表示
0.111454 or 1.4e-2
Decimal库提供了高精度浮点运算
1.3.复数类型
复数即数学中的复数
2.数字类型的计算
操作符运算
操作符 | 描述 |
x+y |
|
x-y |
|
x*y |
|
x/y |
|
x//y | X与y的整数商,即不大于x与y商的最大整数 |
x%y | x与y之商的余数,也称为模运算 |
-y |
|
+x |
|
X**Y | X的Y次方 |
内置的数值计算函数
函数 | 描述 |
abs(x) | X的绝对值 |
divmod(x,y) | 输出为二元组形式,(元组类型) |
pow(x,y) |
|
Round(x,[n]) | 对结果进行四舍五入,保留n位小数 |
Max(x1,x2….xn) | 最大值 |
Min(x1,…xn) | 最小值 |
内置的数字类型转换函数
函数 | 描述 |
int(x) | 将x转换成整数,x可以是字符串or浮点型 |
float(x) | 将x转换成浮点型,x可以是字符串or浮点型 |
Complex(x) | 生成一个复数 |
3.math库的使用
概述:math库为python内置数学类函数库,总共包括4个数学常数,44个函数
分别包括16个数值表示函数,8个幂对数函数,16个三角对数函数,4个高等特殊函数
使用方法:①import math ②from math import floor
π #3.145926……
e #2.72…..
ceil(x) #对x向上取整
floor(x) #对x向下取值整
pow(x,y) #x的y次幂
factorial(x) #x的阶乘,如何x是小数将返回异常
log(x) #自然对数
Log10(x) #常用对数
Sq+rt(x) #x的算术平方根
exp(x) #x的e次幂
degrees(x) #将弧度值x转化成角度值
radians(x) #将角度值转化成弧度值
sin(x) #x的正弦值
cos(x) #x的余弦值
tan(x) #x的正切值
asin(x) #x的反正弦值
acos(x) #x的反余弦值
atan(x) #x的反正切值
以上为例举的部分math库函数,还有些可以查阅。
4.字符串类型以及操作
字符串是字符的序列表示,可以由一对单引号(‘),双引号(“),三引号(“’)构成
字符串以Unicode编码存储,字符串的中文和英文字符都算作1个字符。
字符串的基本操作符
操作符 | 描述 |
x+y | 连接两个字符串 |
x*n 或n*x | 把字符串x复制n遍 |
x in s | 判断x是否为s的子字符串,true or false |
Str[i] | 返回字符串str的第i个字符 |
Str[N:M] | 切片,返回索引第N到M-1的字串 |
切片示例如下:
str = '0123456789′
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白
(后面序列中也一样的操作方法)
特殊的格式化控制字符
\a : 蜂鸣,响铃
\b: 回退,向后退一格
\f: 换页
\n: 换行
\r: 回车,光标回到本行首行
\t 水平制表符
\v 垂直制表符
\0 什么也不做
\\ 反斜杠
内置的字符串处理函数
函数 | 描述 |
len(x) | 返回字符串x的长度 |
str(x) | 返回任意类型x所对应的字符串形式,转格式(改成字符串类型) |
chr(x) | 返回符unicode编码x对应的单字符 |
ord(x) | 返回x对应的Unicode编码 |
hex(x) | 返回整数x对应的十六进制小数形式字符串 |
oct(x) | 返回整数对应的八进制小数形式字符串 |
内置字符串处理方法
方法 | 描述 |
str.lower() | 返回字符串的小写形式 |
str.upper() | 返回字符串的大写形式 |
str.islower() | 当字符串内字符全小写时,TRUE。 |
str.isupper() | 当字符串内所有字符都大写时,TRUE |
str.isprintable() | 当字符串所有的字符都可以打印时,TRUE |
str.isnumeric() | 当字符串全为数字时,True |
str.endwith(suffix[,start[,end]]) | 当str[start:end]以suffix结尾时,返回True |
str.startwith(prfix,[start,[end]]) | 当str[start:end]以prefix开始时,返回True |
str.split(sep=None,maxsplit=-1) | 返回一个列表,由str根据sep被分割的部分组成 |
str.count(sub[,start[,end]]) | 返回sub出现的次数 |
str.replace(old,new[,count]) | 将old字符串替换为new,如果由count,则把前count次old出现替换 |
str.strip([chars]) | 去掉左侧和右侧中chars中列出的字符 |
str.join(iterable) | 返回一个新的字符串 |
str.format() | 排版格式 |
|
|
|
|
format()方法的格式控制
format()方法模板字符串槽除了包括序号,还包括控制信息,槽的样式如下:
{<参数序号>:<格式控制符>}
: | <填充> | <对齐> | <宽度> | <,> | <.精度> | <类型> |
引导符号 | 用于填充单个字符 | <左对齐 >右对齐 ^居中 | 槽设定的宽度 | 数字的千位分隔符 | 浮点数,小数部分的精度,字符串的最大输出长度 | 整数类型:bcdoxx 浮点数类型e,E,f,% |