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数据类型使用&字符编码的主要内容,如果未能解决你的问题,请参考以下文章

第2章 Python基础-字符编码&数据类型 购物车&多级菜单 作业

第2章 Python基础-字符编码&数据类型 综合 练习题

Python的学习之旅———基本数据类型(字符编码)

Python数据类型和字符编码

day5(字符编码数据类型列表基本操作)

在python 3.6中处理自定义编码时遇到类型错误