Python学习笔记·Python的类型
注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教!
课程是在中国大学MOOC上学的,有兴趣的同学可以自行搜索
Ps:整理是自己看了一些资料和博客之后写的,尽量将原博客的地址给出来让大家参考,有一些时间可能有些远了还请大家见谅
本周学习了四个类型,做一个整理,并写了测试代码,后续继续整理
数字类型
Python语言包括三种数字类型
-
整数类型:与数学中的整数概念一致,没有取值范围限制
0x,0X开头表示16进制数 ;
0b,0B开头表示2进制数 ;
0o,0O开头表示8进制数; -
浮点数类型:带有小数点及小数的数字
Python语言中浮点数的数值范围存在限制,小数精度也存在限制。这种限制与在不同计算机系统有关;
科学计数法使用字母“e”或者“E”作为幂 的符号,以10为基数; - 复数类型:与数学中的复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识。
三种类型存在一种逐渐“扩展”的关系: 整数-> 浮点数-> 复数 (整数是浮点数特例,浮点数是复数特例)
注:利用tpye()函数返回当前的类型
#数字类型测试代码.py
#©TyxMaek
print("数字类型:")
intN=10 #整数
floatN=10.0 #浮点数
complexN=10+0.10j #复数
print(intN,floatN,complexN)
#分别输出复数的实数部分和虚数部分
print(complexN.real,complexN.imag)
print(3e2) #科学计数法 3e2=3*10^2
#数字类型的关系转化
print("\n数字类型的关系转化")
#不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型
print(intN+floatN)
print(int(3.5)) #只保留整数部分
print(float(3)) #添加小数点
print(complex(3.5)) #添加虚部
print("\n返回数字类型")
print(type(floatN))
注:复数不能转化为整数或者浮点数,输入下列代码系统会报错
下图是数字类型的计算操作符号说明
字符串类型
字符串是用双引号”“或者单引号”括起来的一 个或多个字符。字符串可以保存在变量中,也可以单独存在。 (可以用type()函数测试一个字符串的类型)
-
Python语言转义符:\
输出带有引号的字符串,可以使用转义符
使用\输出带有转移符的字符串 - 字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引”
- 单个索引辅助访问字符串中的特定位置 —— 格式为 : string[<索引>]
- Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1 ;Python同时允许使用负数从字符串右边末尾向左边进行反向索引,最右侧索引值是-1
- 可以通过两个索引值确定一个位置范围,返回这个范围的子串 格式:string[start:end]
start和end都是整数型数值,这个子序列从索引 start开始直到索引end结束,但不包括end位置。 -
字符串之间可以通过+或*进行连接
加法操作(+)将两个字符串连接成为一个新的字符串
乘法操作(*)生成一个由其本身字符串重复连接而成的字符串 - len()函数能否返回一个字符串的长度
- 大多数数据类型都可以通过str()函数转换为字符串
#字符串类型测试代码.py
#©TyxMaek
str1='Hello'
str2="Python"
print(type(str1)) #查看类型
print("输出引号 :\"") #输出引号
str3=str1+str2 #字符运算+
print(" {} + {} 字符运算结果是 {}".format(str1,str2,str3))
str4=str1*2 #字符运算*
print(" {} * 2 字符运算结果是 {}".format(str1,str4))
#索引从左往右 从零开始 ;
print(" {} 字符串的第2个字母是 {}".format(str3,str3[1]))
#最后一个字母可以用-1表示,也可以用数字 (一个是从左往右,一个是从右往左)
print(" {} 字符串的最后1个字母是 {}/ {}".format(str3,str3[-1],str3[10]))
#两个索引值确定一个位置范围,start开始到end结束,但不包含end
start,end=0,5
#下列输出应该是Hello
print(" {} 字符串的第1个到第5个字符子串是 {}".format(str3,str3[start:end]))
#len()函数返回字符串长度
print(len(str1)) #应该输出5
字符串处理方法
#字符串类型测试代码2.py
#©TyxMaek
str1=' Hello Hello'
str2="Python"
#<string>.upper()字符串中字母大写
print("{} 大写后为{}".format(str1,str1.upper()))
#<string>.lower()字符串中字母小写
print("{} 小写后为{}".format(str1,str1.lower()))
#<string>.strip()去两边空格及去指定字符
print("{} 去掉后最前的空格后为{}".format(str1,str1.strip()))
#<string>.strip()只移除字符串头尾指定的字符,中间部分不会移除:
print("{} 去掉后最后的'o'后为{}".format(str1,str1.strip('o')))
#<string>.split()按指定字符分割字符串为数组
print("{} 按照' '空格分割后为{}".format(str1,str1.split(' ')))
print("{} 按照'l'分割1次后为{}".format(str1,str1.split('l',1)))
#<string>.join()连接两个字符串序列
strxl=['p','y','t','h','o','n']
str3link="-"
print("用 {} 连接 {} 连接后为{}".format(str3link,strxl,str3link.join(strxl)))
#<string>.find()搜索指定字符串
print("用 {} 中 'th' 子串起始的位置:{}, 'hello'子串的起始位置:{} , -1表示不存在".format(str2,str2.find('th'),str2.find('hello')))
#<string>.replace()字符串替换
#<string>.replace('要被替代的字符串','用来替代原来的字符串')
print("用'f'替代 {} 中的'o'后的字符串为{}".format(str1,str1.replace('o','f')))
print("用'oof'替代 {} 中的'llo'后的字符串为{}".format(str1,str1.replace('llo','oof')))
#for <var> in <string>字符串迭代
for i in str1:
print(i)
#用转义符可以在字符串中表达一些不可直接打印的信息 例如:用\n表示换行
print("\nHello\nPython\n")
元组类型
-
元组是包含多个元素的类型,元素之间用逗号分割。
例如:t1=123,456,“hello”
元组可以是空的,t2=()
元组包含一个元素时:t3=123,
元组外侧可以使用括号,也可以不使用 -
元组中元素可以是不同类型;
一个元组也可以作为另一个元组的元素,此时,作为元素的元组需要增加括号,从而避免歧义。t4=12,34,(“Hello”) - 元组中各元素存在先后关系,可以通过索引访问元组中元素。
- 元组定义后不能更改,也不能删除。
- 与字符串类型类似,可以通过索引区间来访问元组中部分元素。
- 与字符串一样,元组之间可以使用+号和*号进行运算。
因为tuple不可变,所以代码更安全。如果仅考虑代码的灵活性,也可以用列表类型代替元组类型。
列表
列表(list)是有序的元素集合;列表元素可以通过索引访问单个元素;
-
列表与元组类似
列表中每个元素类型可以不一样
访问列表中元素时采用索引形式 -
列表与元组不同
列表大小没有限制,可以随时修改 -
针对列表有一些基本操作,这些操作与字符串操作类似
-
列表相关方法
#列表类型测试代码.py
#©TyxMaek
list1=[123,('hello')]
print("list1 为: {}".format(list1))
#< list > . append ( x )将元素x增加到列表的最后
list1.append('World')
print("将 'World' 添加到 list1 后为{}".format(list1))
#< list > . sort ( )将列表元素排序 但是不支持字符和数字类型之间的排列
list2=[1,3,5,7,2,4,6,8]
print("list2 为: {}".format(list2))
list2.sort()
print("将 list2 排列后为{}".format(list2))
#< list > . reverse ( )将序列元素反转
list3=[5,7,9,0,1]
print("list3 为: {}".format(list3))
list3.reverse()
print("将 list3 反转后为{}".format(list3))
#< list > . index ( )返回第一次出现元素x的索引值,此元素必须在list中否则会报错
list4=['p','y','t','h','o','n']
print("list4 为: {}".format(list4))
print("'y'在 list4 中的位置为:{} ".format(list4.index('y')))
#< list > . insert ( i, x )在位置i处插入新元素x
list4.insert(3,'n')
print("在 list4 中的3位置插入 'n' 后为{} ".format(list4))
#< list > . count ( x ) 返回元素x在列表中的数量
print("在 list4 中的 'n' 出现{}次 ".format(list4.count('n')))
#< list > . remove ( x )删除列表中第一次出现的元素x
list4.remove('n')
print("在 list4 中的删除第一次出现的 'n' 后为{} ".format(list4))
#< list > . pop ( i)取出列表中位置i的元素,并删除它
print("在 list4 中的取出第4位置的元素是'{}' 后 list4 为{} ".format(list4.pop(4),list4))