Python-基本数据类型

数据类型及操作

-整数类型

与数学中整数概念一致

>可正可负,没有取值范围限制

>pow(x,y)函数:计算xy,想算多大算多大

>4种进制表示形式

十进制:1024,99,-520

二进制,以0b或0B开头:0b010,-0B101

八进制,以0o或0O开头:0o123,-0O456

十六进制,以0x或0X开头:0x9a,-0X65

-浮点数类型

 与数学中实数的概念一致

>带有小数点及小数的数字

>浮点数取值范围和小数精度都存在限制,但常规计算可忽略

>取值范围数量级约-10367至10308,精度数量级10-16

浮点数间运算存在不确定尾数,不是bug

>>>0.1+0.3
0.4
>>>0.1+0.2
0.30000000000000003
#不确定尾数

0.1 53位二进制表示小数部,约10-16

二进制表示小数,可以无限接近,但不完全相同

>>>0.1+0.2==0.3 #False
>>>round(0.1+0.2,1)==0.3 #True

round(x,d):对x四舍五入,d是小数截取位数

浮点数间运算与比较用round()函数辅助

不确定尾数一般发生在10-16左右,round()十分有效

>浮点数可以采用科学计数法表示

使用字母或E作为幂的符号,以10为基数,格式如下:

<a>e<b> 表示 a*10b

例如4.6e-3 值为0.0046       9.6E5值为960000.0

-复数类型

与数学中复数概念一致

>定义j=√-1 以此为基础,构建数学体系

>a+bj被称为复数,其中a是实部,b是虚部

z=1.23+7j
z.real #获得实部
z.imag #获得虚部

-数值运算操作符

 +,-,*,/ (10/3=3.3333333333333335),// (10//3=3),%取余,** (幂运算)

增强赋值操作符:+= (x+=1等同于x=x+1),-= , *= ,...

>数字类型的关系

类型间可进行混合运算,生成结果为“最宽”类型

整数->浮点数->复数

例如:123+5.0=128.0(整数+浮点数=浮点数)

-数值运算函数

abs(x) 绝对值,x的绝对值。abs(-10.23) 结果为10.23
divmod(x,y) 商余,(x//y,x%y),同时输出商和余数divmod(10,3)结果为(3,1)
pow(x,y[,z]) 幂余(x**y%z),[..]表示参数z可省略。pow(3,pow(3,99),1000)结果为4587
round(x[,d]) 四舍五入,d是保留小数位数,默认值为0 round(-10.123, 2) 结果为 -10.12
max(x1,x2, …,xn) 最大值,返回x1,x2, … ,xn中的最大值,n不限 max(1, 9, 5, 4, 3) 结果为 9
min(x1,x2, … ,xn) 最小值,返回x1,x2, … ,xn中的最小值,n不限 min(1, 9, 5, 4, 3) 结果为 1
int(x) 将x变成整数,舍弃小数部分 int(123.45) 结果为123; int("123") 结果为123
float(x) 将x变成浮点数,增加小数部分 float(12) 结果为12.0; float("1.23") 结果为1.23
complex(x) 将x变成复数,增加虚数部分 complex(4) 结果为 4 + 0j

字符串类型及操作

-字符串类型的表示

 由0个或多个字符组成的有序字符序列

>字符串由一对单引号或一对双引号表示

"请输入带有符号的温度值: " 或者 'C'
>字符串是字符的有序序列,可以对其中的字符进行索引

"请" 是 "请输入带有符号的温度值: " 的第0个字符

>字符串有2类共4种表示方法

一对单引号or双引号,仅表示单行字符串

一对三单引号or三双引号,可表示多行字符串

>如果希望在字符串中包含双引号或单引号呢?

'这里有个双引号(")' 或者 "这里有个单引号(')"
> 如果希望在字符串中既包括单引号又包括双引号呢?

''' 这里既有单引号(')又有双引号 (") '''

>字符串序号,字符串使用(传送门)

>字符串切片高级用法

使用[M: N: K]根据步长对字符串切片

<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾

"〇一二三四五六七八九十"[:3] 结果是 "〇一二"
<字符串>[M: N: K],根据步长K对字符串切片

"〇一二三四五六七八九十"[1:8:2] 结果是 "一三五七"

"〇一二三四五六七八九十"[::-1] 结果是 "十九八七六五四三二一〇"

字符串的特殊字符

转义符

转义符表达特定字符的本意

"这里有个双引号(")" 结果为 这里有个双引号(")


转义符形成一些组合,表达一些不可打印的含义

""回退 " "换行(光标移动到下行首) " " 回车(光标移动到本行首)

-字符串操作符

 x+y  连接两个字符串x和y

n*x或x*n  复制n次字符串x

x in s 如果x是s的字串,返回True 否则返回False

-字符串处理函数
一些以函数形式提供的字符串处理功能
len(x)   长度,返回字符串x的长度 len("一二三456") 结果为 6
str(x)    任意类型x所对应的字符串形式 str(1.23)结果为"1.23" str([1,2])结果为"[1,2]"
hex(x) 或 oct(x)    整数x的十六进制或八进制小写形式字符串 hex(425)结果为"0x1a9" oct(425)结果为"0o651"
chr(u)    Unicode ord(x) 描述 x为Unicode编码,返回其对应的字符
ord(x)    x为字符,返回其对应的Unicode编码

-字符串处理方法

>“方法”在编程中是一个专有名词

>“方法”特指<a>.<b>()风格中的函数<b>()

>方法本身也是函数,但与<a>有关,<a>.<b>()风格使用

>字符串或字符变量是<a>,存在一些可用方法

str.lower() 或 str.upper() 返回字符串的副本,全部字符小写/大写 "AbCdEfGh".lower() 结果为 "abcdefgh"
str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成 "A,B,C".split(",") 结果为 ['A','B','C']
str.count(sub) 返回子串sub在str中出现的次数 "an apple a day".count("a") 结果为 4

str.replace(old, new)  返回字符串str副本,所有old子串被替换为new "python".replace("n","n123.io") 结果为 "python123.io"
str.center(width[,fillchar])  字符串str根据宽度width居中,fillchar可选 "python".center(20,"=") 结果为 '=======python======='

str.strip(chars)  从str中去掉在其左侧和右侧chars中列出的字符 "= python= ".strip(" =np") 结果为 "ytho"
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str ",".join("12345") 结果为 "1,2,3,4,5" #主要用于字符串分隔等

-字符串类型格式化

格式化是对字符串进行格式表达的方式

>字符串格式化使用.format()方法,用法如下:

<模板字符串>.format(<逗号分隔的参数>)

 

format()方法的格式控制

槽内部对格式化的配置方式

原文地址:https://www.cnblogs.com/cpg123/p/10332370.html