python数据类型使用&字符编码
Posted xiaomogula
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据类型使用&字符编码相关的知识,希望对你有一定的参考价值。
一、二进制
二进制是计算机技术中广泛采用的一种数制。二进制是用0和1两个数码来表示的数。它的基数为2,进位规则是‘逢二进一’,借位规则是‘借一当二’,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本是二进制系统,数据在计算机中主要以补码的形式存储。
发明计算机的人为什么要多此一举的用这种方式来表达数字呢,事实上计算机不像人类这样智能,CPU是一个包含上百万个精巧的晶体管的芯片集合,晶体管表达感情的方式很简单,就是通过高低电压(有电没电),低电压的时候表示0,高电压的时候表示1,因此计算机理解的就只有0和1.
二进制与十进制转换
采用除2取余法
128 64 32 16 8 4 2 1 1 1 1 1 1 1 1 1 255 0 0 0 0 1 1 1 1 15
1 1 0 0 1 0 0 0 200
print(bin(8))
ps:十进制转成八进制
print(oct(9))
十进制转成十六进制
print(hex(16))
二、数字类型使用
可变与不可变类型
- 可变:在值改变的情况,如果id不变,证明就是在修改原值,即可变类型
- 不可变:在值改变的情况,如果id也跟着变,证明根本没有修改原值,即不可变类型
int基本使用
1.常用操作+内置方法
算数运算,比较运算
2.该类型总结
- 存一个值
- 不可变类型
x=10 print(id(x)) x=11 print(id(x))
float基本使用
1.常用操作+内置方法
算法运算,比较运算
2.该类型总结
- 存一个值
- 不可变类型
x=10.1 print(id(x)) x=11.1 print(id(x))
三、字符串使用
三、一 str基本使用
1.常用操作+内置方法
1.1 按索引取值(正向取+反向取):只能取
msg="hello world" print(msg[1]) print(msg[5]) print(msg[-1]) print(msg[-3])
1.2 切片:从一个大字符串中切除一个子字符串(顾头不顾尾,步长)
msg="hello world" print(msg[1:3]) print(msg[6:11]) print(msg[6:11:2]) #world #wrd # 倒着取值(了解):注意方向要一致 print(msg[6:]) print(msg[-1:-6:-1]) print(msg[-1::-1]) print(msg[::-1])
1.3 长度len
msg="hello world" print(len(msg)) # 长度是11,索引最大到10
1.4 成员运算in 和not in : 判断一个子字符串是否存在于一个大字符串中
msg="hello world hello momo" print(‘momo‘ in msg) print(‘world‘ in msg) print(‘hello‘ not in msg) print(not ‘hello‘ in msg)
1.5 移除空白strip
msg=‘ mogu ‘ res=msg.strip() # 默认去除的是字符串左右两边的空格 print(msg) print(res) # strip会从左往右开始吃空格,直到碰到一个非空格为止 # 右面相同的原理 #ps:strip并没有修改原值,是产生一个新值 msg=‘******mo****gu*****‘ print(msg.strip(‘*‘)) msg=‘-&!^%aaaa-!&^%‘ print(msg.strip(‘!-&^%‘))
1.6 切分split :把一个字符串按照某种分隔符切成一个列表
info=‘root:x:0:0:admin user:/root:/bin/bash‘ res=info.split(‘:‘,maxsplit=-1) print(res,type(res)) print(res[0])
l=[‘mogu‘,123,‘chimogu‘]
s1=‘:‘.join(l) #把列表又转成了字符串(前提是列表中所有元素均为字符串)
print(s1,type(s1))
1.7 循环
while循环取值
1 msg=‘hello world‘ 2 i=0 3 while i < len(msg): 4 print(msg[i]) 5 i+=1
for循环取值
msg=‘hello world‘ for item in msg:
print(item)
1.8 大小写切换
# 2、lower,upper print(‘aaAbCCC‘.lower()) print(‘aaAbCCC‘.upper())
1.9 判断以什么开头(startswith),什么结尾(endswith)
print(‘xiaomogu like mogu‘.startswith(‘xiao‘)) print(‘xiaomogu like mogu‘.endswith(‘gu‘))
1.10 格式化输出format
print(‘my name is %s my age is %s‘ %(18,‘mogu‘)) print(‘my name is {name} my age is {age}‘.format(age=18,name=‘mogu‘)) print(‘my name is {} my age is {}‘.format(18,‘mogu‘)) print(‘my name is {0}{0}{0} my age is {1}‘.format(18,‘mogu‘))
1.11 replace 替换操作
msg=‘my name is xiaomogu,xiaomogu say hello‘ print(msg.replace(‘xiaomogu‘,‘xiaonvhai‘,1))
1.12 isdigit:只有在字符串中包含纯数字的情况下结果才为True
print(‘10123‘.isdigit())
1.13 其他了解的知识点
#center,ljust,rjust,zfill 分别对应中央位 左对齐 右对齐 右对齐以0为占位符 print(‘**************%s*************************‘ %‘mogu‘) print(‘mogu‘.center(50,‘*‘)) print(‘mogu‘.ljust(50,‘=‘)) print(‘mogu‘.rjust(50,‘-‘)) print(‘mogu‘.rjust(50,‘0‘)) print(‘mogu‘.zfill(50))
# expandtabs end=‘ ‘ 取消print默认的换行符 print(‘aaabbbb‘,end=‘ ‘) print(‘cccc‘,end=‘‘) print(‘aaaa bbbb‘,end=‘‘) print(‘aaa bbb‘.expandtabs(tabsize=3))
# 代表换行符 代表tab键 (制表符)
三、二 :该类型总结
- 存一个值
- 有序
- 不可变
四、列表使用
list基本使用
list类型转换的工作原理:list(items)
1、先造一个空列表
2、类似调用了一个for循环,从items里取出一个值放入空列表中,循环往复直到取干净为止
1.常用操作+内置方法
1.1 按索引存取值(正向存取+反向存取):即可以取也可以改
ps:不能根据索引往列表里新加入值
l=[‘a‘,‘b‘,‘c‘,‘d‘] print(l[3]) print(l[-1]) l[3] = ‘D‘ print(l)
1.2 切片:从一个大列表中切出一个子列表(顾头不顾尾,步长)
l=[‘a‘,‘b‘,‘c‘,‘d‘] l1=l[1:3] print(l1)
1.3 len 长度
print(len(l))
1.4 成员运算in和not in
names=[‘mogu‘,‘nvhai‘,‘huochai‘,1,3,4] print(4 in names) print(5 not in names)
1.5 追加、插入
##append 追加值(放到末尾) insert(索引,值) l=[‘a‘,‘b‘,‘c‘,‘d‘] l.append(‘aaa‘) print(l) l.insert(0,‘B‘) #[‘B‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘] l.insert(0,‘mogu‘) print(l)
1.6 删除
l=[‘a‘,‘b‘,‘mogu‘,‘d‘] del l[2] # 非字符串独有的删除,是一种通用的删除方式 del print(l) res=l.remove(‘alex‘) # 单纯的删除,没有返回值 remove print(l) print(res) #pop 从列表中拿走一个值: # 1、删除一个元素 # 2、将该元素当做返回值返回 res=l.pop() # 默认从最后一个删除 print(l) print(res) res=l.pop(2) print(res)
1.7 循环
l=[‘a‘,‘b‘,‘c‘] for item in l: #循环取值 print(item)
1.8 需要掌握的操作
l1=[1,2.3,‘a‘,‘a‘,‘b‘,‘a‘] print(l1.count(‘a‘)) #count 次数 l2=[4,5,6] l1.append(l2[0]) l1.append(l2[1]) l1.append(l2[2])#append到l1的末尾 l1.extend(l2)#extend 把多个值往末尾放 print(l1) l1=[1,2.3,‘a‘,‘a‘,‘b‘,‘a‘] l1.index(‘egon‘) # index 查找 找不到会报错 print(l1.index(‘a‘,0,3)) names=[‘mogu‘,‘nvhai‘,‘huochai‘] names.reverse() #reverse 将列表翻转 print(names) nums=[9,3,4,-1,5,100,98] nums.sort() # 默认从小到大排序 sort nums.sort(reverse=True) # 翻转过来从大到小排序 print(nums)
1.9 队列与堆栈
#队列:先进先出 l=[] # 入队 l.append(‘first‘) l.append(‘second‘) l.append(‘third‘) print(l) # 出队 print(l.pop(0)) print(l.pop(0)) print(l.pop(0))
# 堆栈:先进后出 l=[] # 入栈 l.append(‘first‘) l.append(‘second‘) l.append(‘third‘) print(l) # 出栈 print(l.pop(-1)) print(l.pop(-1)) print(l.pop(-1))
2.总结list
- 存多个值
- 有序
- 可变类型
五、元组使用(不可变列表)
以上是关于python数据类型使用&字符编码的主要内容,如果未能解决你的问题,请参考以下文章