什么是数据类型?
我们人类可以很容易的分清数字与字符的区别,但计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的。
因此,在每个编程语言里都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。
str(字符串) ‘1’ ” I‘,m a teacher “
python中,凡是用引号(单引、双引),引起来的内容都是字符串。
字符串常用操作:
s = ‘I am from china‘ #首字母大写 print(s.capitalize()) I am from china #全大写 print(s.upper()) I AM FROM CHINA #全小写 print(s.lower()) i am from china #大小写反转 print(s.swapcase()) i AM FROM CHINA #所有首字母大写 print(s.title()) I Am From China #计算字符串长度 print(len(s)) 15 #内容居中,两边填充 print(s.center(50,‘~‘)) ~~~~~~~~~~~~~~~~~I am from china~~~~~~~~~~~~~~~~~~ #判断字符串以什么开始 print(s.startswith(‘I‘)) True #判断字符串以什么结尾 print(s.endswith(‘I‘)) False #查询字符串是否含有某元素,找到返回元素对应下标,找不到返回-1 print(s.find(‘a‘)) 2
比较重要的几个方法:
s=‘ Chi nese ‘ #删除前后空格 print(s.strip()) Chi nese #删除后面的空格 print(s.rstrip()) Chi nese #删除前面的空格 print(s.lstrip()) Chi nese #统计元素个数 print(s.count(‘e‘)) 2 #将字符串以元素中内容分割为列表 print(s.split()) [‘Chi‘, ‘nese‘] print(s.split(‘e‘)) [‘ Chi n‘, ‘s‘, ‘ ‘]
切片:
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)
a = ‘ABCDEFGHIJK‘ print(a[0:3]) ABC print(a[2:5]) CDE #默认到最后 print(a[0:]) ABCDEFGHIJK # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 print(a[0:-1]) ABCDEFGHIJ #加步长 print(a[0:5:2]) ACE #反向加步长 print(a[5:0:-2]) FDB
索引:
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
a = ‘ABCDEFGHIJK‘ print(a[0]) print(a[3]) print(a[5]) print(a[7]) #输出 A D F H
补充:
字符串计算
#相加,即拼接 : + a = ‘hello ‘ b = ‘world‘ print(a+b) #输出 hello world #与数字相乘: * print(‘hello ‘*4) #输出 hello hello hello hell
字符串替换
#将重新替换为你,如果后面不跟次数,默认替换所有 s = ‘重新打开一个终端窗口,重新打开一个终端窗口‘ s1 =s.replace(‘重新‘,‘你‘,1) print(s1) 你打开一个终端窗口,重新打开一个终端窗口
字符串判断
#is系列 name=‘Love123‘ #判断是否由字母或数字组成 print(name.isalnum()) True #判断是否只由字母组成 print(name.isalpha()) False #判断是否只由数字组成 print(name.isdigit()) False
字符串循环
name=‘Love1‘ for i in name: print(i) #输出 L o v e 1
int(整型) 18,23 常用于计算。
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
理论上Python没有限制长整数大小,实际由于机器内存有限,数值不会无限大
注意:在Python3里不再有long类型了,全都是int
float(浮点型)
扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数是由实数部分和虚数部分组成,一般是x+yj形式,其中x为复数的实数部分,y为复数的虚数部分
用来测磁场、量子力学之类的,很少用到。
数字在pycharm 中的表现形式:
加引号的数字是 字符串;不加引号的数字是 “数字”,红色的
bool(布尔值)
只有真或假两种状态,性别、命题真假,常用于判断。
真 1 True
假 0 False
列表是python中的基础数据类型之一,它是以[ ]括起来,每个元素以逗号隔开,而且可以存放各种数据类型。
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。列表是有序的,有索引值,可切片,方便取值。
列表常用方法:
索引、切片同字符串。
增加
li = [1,‘a‘,‘b‘,2,3,‘a‘] #按照索引去增加 li.insert(0,55) print(li) [55, 1, ‘a‘, ‘b‘, 2, 3, ‘a‘] #默认增加到最后一个元素 li.append(‘aaa‘) print(li) [1, ‘a‘, ‘b‘, 2, 3, ‘a‘, ‘aaa‘] #增加一个列表到最后一个元素 li.append([1,2,3]) print(li) [1, ‘a‘, ‘b‘, 2, 3, ‘a‘, [1, 2, 3]] #迭代增,会将内容分解到最小元素 li.extend(‘abc‘) print(li) [1, ‘a‘, ‘b‘, 2, 3, ‘a‘, ‘a‘, ‘b‘, ‘c‘]
删除
li = [1,‘a‘,‘b‘,2,3,‘a‘] #按索引删除 li.pop(0) print(li) [‘a‘, ‘b‘, 2, 3, ‘a‘] #默认删除最后一个 li.pop() print(li) [1, ‘a‘, ‘b‘, 2, 3] #按元素删除 li.remove(‘a‘) print(li) [1, ‘b‘, 2, 3, ‘a‘] #清空列表 li.clear() print(li) [] #直接删除列表 del li print(li) NameError: name ‘li‘ is not defined #切片去删除 del li[0:2] print(li) [‘b‘, 2, 3, ‘a‘]
修改
li = [1,‘a‘,‘b‘,2,3,‘a‘] #按索引修改 li[0] = ‘8‘ print(li) [‘8‘, ‘a‘, ‘b‘, 2, 3, ‘a‘] #切片修改,按迭代处理,内容会分解到最小元素都加进去 li[0:2]=‘hello‘ print(li) [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘b‘, 2, 3, ‘a‘]
查询
li = [1,‘a‘,‘b‘,2,3,‘a‘] #遍历查询 for i in li: print(i) 1 a b 2 3 a #测量长度 l=len(li) print(l) 6 #统计次数 print(li.count(‘a‘)) 2 #查索引 print(li.index(‘b‘)) 2
排序
li = [1, 5, 7, 2, 3, 4] #正排序 li.sort() print(li) [1, 2, 3, 4, 5, 7] #倒排序 li.sort(reverse=True) print(li) [7, 5, 4, 3, 2, 1] #反转 li.reverse() print(li) [4, 3, 2, 7, 5, 1]
数据只读,也叫做只读列表。
元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")
原文:https://www.cnblogs.com/zhaomeng/p/10989442.html