python基础-数据类型
基本数据类型
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,% |

浙公网安备 33010602011771号