一.python中的数据类型
python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对象。
对象三个特性
(1) 身份:内存地址,可以用id()获取
(2) 类型:决定了该对象可以保存什么类型值,可执行何种操作,需遵循什么规则,可用type()获取
(3) 值:对象保存的真实数据
这里的字符串、数字、列表等都是数据类型(用来描述某种状态或者特性)除此之外还有很多其他数据,处理不同的数据就需要定义不同的数据类型
标准类型 | 其他类型 |
---|---|
数字 类型 | type |
字符串 | Null |
列表 | 文件 |
元组 | 集合 |
字典 | 函数/方法 |
类 | |
模块 |
二.数字
1. 定义:
a = 1
2. 特性:
(1)只能存放一个值
(2)一经定义,不可更改
(3)直接访问
3.分类:
(1)整型
python的整型相当于C中的long型,Python中的整数可以用十进制,八进制,十六进制表示。
10进制——》2进制:bin(10)==0b1010
10进制——》8进制:oct(10)==0o12
10进制——》16进制:hex(10)==0xa
python2和python3在整型上的区别:
python2:分为整型和长整型,数字尾部加有L的为长整型。在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
python3:整形长度无限制
(2)长整型long(python2)
(3)布尔值bool
True(1)和False(0)
(4)浮点数bloat
Python的浮点数就是数学中的小数,类似C语言中的double。
在运算中,整数与浮点数运算的结果是浮点数。
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23*109和12.3*108是相等的。
浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23*109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的而浮点数运算则可能会有四舍五入的误差。
(5)复数complex
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注意:虚数部分的字母j大小写都可以
三.字符串
1. 定义:
字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串。
2. 特性:
(1) 只能存放一个值
(2) 不可变
(3) 按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
(1) 字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r’l\thf’
(2) unicode字符串与r连用必须在r前面,如name=ur’l\thf’
3. 字符串常用操作:
移除两端空白: str.strip()
分割: str.split(‘;’) #以;为分隔符
长度: len(str)
索引: str[n]
切片: str[0:5:2] #str[0],str[2],str[4]
4.字符串其他操作:
(1)format格式化:
msg = ‘Name:{},age{},sex{}’
msg.format(‘tom’,18,’male’) #括号内的值依次填充到上面大括号中,少了会报错,多了则只填充前3个,后面的值无意义。
msg = ‘Name:{0},age{1},sex{0}’ #取format()中对应索引的值
msg = ‘Name:{x},age{y},sex{z}’
msg.format(x=‘tom’,y=18,z=’male’) #x,y,z可以打乱顺序
(2)startswith和endswith:
str.startwith() #判断是否以()中的字符串开头
str.endswith() #判断是否以()中的字符串结尾
(3)upper和lower:
str.upper() #将字符串中字母全部替换为大写形式
str.lower() #将字符串中字母全部替换小写形式
(4)center、ljust和rjust:
str.center(10,’*’) #以str中字符为中心,填充’*’,使长度变为10
str.ljust(10,’*’) #str中字符左对齐,填充’*’,使长度变为10
str.rjust(10,’*’) #str中字符右对齐,填充’*’,使长度变为10
(5)count计数:
str.count(‘h’,0,3) #计算str字符串中’h’字符的数量
(6)find寻找字符:
str.find(‘h’) #寻找str字符串中’h’字符的位置,返回第一个’h’字符的索引
(7)index索引:
str.index(‘h’) #返回str字符串中第一个’h’字符的索引,若没有’h’会报错
(8)replace替换:
str.replace(‘d’,’D’) #将str字符串中所有’d’换为’D’
(9)title标题化:
str.title() #将str中所有单词的首字母换为大写字母
(10)capitalize:
str.capitalize() #将str中的首字母换为大写字母
(11)isdigit、isupper、islower、isspace和istitle:
str.isdigit() #判断str中字符串是否是整数
str.isupper() #判断str中字符串是否全都是大写字母(忽略数字)
str.islower() #判断str中字符串是否全都是小写字母(忽略数字)
str.isspace() #判断str中字符串是否全都是空格
str.istitle() #判断str中字符串是否是标题格式(单词首字母大写)