python学习系列3——基本数据类型一
(有段时间没有更新…最近慕课和学校的选修课一起上,所以每次都想等两边的对同一个知识讲完之后整合好再来写…加上拖延了一会hhh 该打)
1.数字
A.整数
没有取值范围限制
整数类型的分类:
十进制
二进制(0b或0B开头)
八进制(0o或0O开头)
十六进制(0x或0X开头)
数值转换函数:
bin()二进制
oct()八进制
hex()十六进制
pow(x,y)函数的用法
计算x的y次方
pow(x,y[,z])幂余,(x**y)%z
[…]表示框内的那个参数可以省略
比如要求3的3的99次方的最后四位数
pow(3,pow(3,99),10000)
(这样操作还有一个意义:3的99次方是很大的数字,要求3的这么多次方,结果会超出普通计算机的内存大小,通过余数的这个操作,我们可以始终将数值保留在余数范围内,使得计算变得迅速)
B.浮点数
取值范围与小数精度存在限制,但常规计算可以忽略,因为取值范围的数量级约为-10的308次方到10的308次方 精度数量级10的-16次方
浮点数间运算有不确定位数问题(与计算机储存原理有关)
处理方法
可以通过round函数对x进行四舍五入
round(x,d)对x四舍五入,d是小数截取位数,参数d可以省略,默认为0
在浮点数间比较/运算可以用该函数进行辅助
科学计数法
浮点数可以采用科学计数法(与c++类似)
使用字母e或E作为幂的符号,以10为基数
<a e <b 表示a*10的b次方(不知道为什么打出完整的ab尖括号时会变色…)
C.复数
python支持复数
c.real 获得复数实部
c.imag 获得复数虚部
c.conju 求共轭复数
tips
1.类型间可以进行混合运算,结果为 “最宽”类型
变换关系 整数–>浮点数–>复数
123+4.0=127.0
2.int(x)将x变成整数,舍弃小数部分
int(123.45) 结果123
float(x)将x变成浮点数,增加小数部分
float(1) 结果为1.0
complex(x)变为复数并增加复数部分
complex(3)结果为3+0j
3.在数字中间位置使用单个下划线作为分隔来提高数字的可读性
2.运算符
a.*号可以用来重复或进行数学运算
b./真除法 //整除(采用向下取整 so-13/10=-2)
c.关系运算符可以连用,用于同类型对象之间的大小比较,或者测试集合是否为子集
d.divmod(x,y) 商余,(x//y,x%y)同时输出商和余数
divmod(10,3)结果为(3,1)
e.转义字符的处理
字符串界定符前加上字母r/R
f.成员测试运算符in的使用
3.字符串
1:
Q:三单引号形成的是字符串,那为什么说可以用三单引号完成多行注释呢?
A:首先我们明确一点python中实际上是没有提供多行注释的操作的。接下来,我们来解释三单引号“注释”的实现原理:
三单引号行程的字符串没有赋给任何一个变量,仅仅是存在,所以他可以起注释的作用
2.字符串:两类四种表示方法
两类四种表示方法的意义:
当我们希望在字符串中包含单双引号时,表示字符串的符号可以用相反的。
比如
‘这是双引号(")’
这样我们就可以很好的实现单双引号的表示
3.字符串处理函数
len(x) 返回长度
str(x) 将任意类型x所对应的字符串形式
hex(x)或oct(x) 获得整数的十六进制或八进制的小写形式字符串
chr(x)返回某序数对应的字符
ord(x)返回单个字符的序数或Unicode码
字符串常用的八个方法
字符串格式化
.format()方法
分为两组
第一组——格式控制:填充、对齐、宽度
: <填充><对齐><宽度>
>>> "{0:=^20}".format("PYTHON")
'=======PYTHON======='
第二组
<,>千位分隔符
<.精度>浮点数小数精度或字符串输出最大长度
<类型>
切片
切片的方法在系列一以及实践一中有涉及,此处略写哈哈
切片用[M:N:K]根据步长对字符串切片
[M:N],M缺失表示从开头开始,N缺失表示从结尾开始
总结之思维导图
感言
通过最近的python学习,很明显的感觉到python与c++/c的不同…python自带了很多非常有趣且实用的函数,老师上课也经常介绍种种函数,然鹅我觉得,函数的掌握靠讲还是不实际,得靠自己的运用。
最后最后 还是要放一首诗
最近打动我的一首诗 来自顾城