博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_基础类型
阅读量:4696 次
发布时间:2019-06-09

本文共 9662 字,大约阅读时间需要 32 分钟。

一、进制

1.进制简介

  进制就是进位制,是人们规定的一种进位方法。计算机底层的数据运算和存储都是二进制数据。计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别。

 

2.常用进制 

  对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。我们经常使用的是二进制、八进制、十进制、十六进制。

  • 十进制:有10个基本数字,分别为0、1、2、3、4、5、6、7、8、9,运算规则”逢十进一”;

 

  • 八进制:有8个基本数字,分别为0、1、2、3、4、5、6、7,运算规则”逢八进一”

 

  • 十六进制:有16个基本数字,分别为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,运算规则”逢十六进一”。

 

  • 二进制:有2个基本数字,分别为0、1,运算规则”逢二进一”。

 

3.进制转换

我们有最常用的转换方法:用十进制数据除以目标进制得到余数,并将余数从最后一个到第一个排列,就是转换后的目标进制表示形式(简称“除基取余,直到商为0,余数反转”)。以十进制43向二进制转换为例:

 

得到的数值排列:101011,所以十进制43的二进制表示形式为101011,同理,如果求八进制、十六进制表示形式,用43除以8、16即可。

 

二、基本数据类型

1.字符串

类:str

方法:选中str,按住command(ctrl)+左键跳转至对应的方法

 

字符串常用方法归纳如下:

  • 1)capitalize

功能:实现字符串首字母大写,自身不变,会生成一个新的值

 
capitalize

 例子:

1 #!/usr/bin/env python2 # -*- coding:utf-8 -*-3 name = 'hexin'4 v = name.capitalize() #调用str类,执行其中capitalize的方法5 print(v)

输出:

hexinHexin

 

  • 2)casefold

功能:将所有大写变成小写,另外支持多门语言变化

 
casefold

例子:

1 name = 'HexIn'2 v = name.casefold()3 print(name)4 print(v)

输出:

HexInhexin

 

  • 3)lower,upper

功能:

lower:将所有的大写变小写,局限英文

upper:将所有小写变大写

 

 
lower

例子:

1 name = 'HeXin'2 v = name.lower()3 print(name)4 print(v)

结果:

HeXinhexin

 

  • 4)center

功能:文本居中,空白处填充字符

参数1:表示总长度;参数2:空白处填充的字符(长度为1)

 
center

例子:

1 name = 'HeXin'2 v = name.center(20,'*')3 print(name)4 print(v)

输出:

HeXin*******HeXin********

 

  • 5)count

功能:表示要查找的子序列在字符串中出现的次数

参数1:要查找的值(子序列);参数2:起始位置(索引);参数3:结束位置(索引)

 
count

例子:

1 name = 'HeXinddaklfjsl;dfjcnljdajsflajdf'2 v = name.count('a')3 i = name.count('a',0,15)4 print(name)5 print(v)6 print(i)

输出:

31

 

  • 6)endswith

功能:判断是否以xx结尾

参数1:判断值;参数2,3:起始和结束的位置(个数)

 
endswith

例子:

1 name = 'HeXinddaklfjsl;dfjcnljdajsflajdf'2 v = name.endswith('df')3 i = name.endswith('n',0,5)4 print(name)5 print(v)6 print(i)

输出:

HeXinddaklfjsl;dfjcnljdajsflajdfTrueTrue

 

  • 7)expandtabs

功能:找到制表符\t,进行替换(包含前面的值)

 
expandtabs

例子:

1 name = "al\te\tx\nalex\tuu\tkkk"2 v = name.expandtabs(5)  #包含前面的值,5个长度3 print(v)

输出:

al   e    xalex uu   kkk

 

  • 8)find

功能:找到指定子序列的索引位置,不存在返回-1

 
find

例子:

1 name = 'hexin'2 v = name.find('0')3 i = name.find('x')4 print(v)5 print(i)

输出:

-12

 

  • 9)format,%s,format_map

功能:字符串格式化

 
format

 

 
format_map

例子:

1 tpl1 = "我是:%s;年龄:%s;性别:%s" %( 'hexin',18,'man') 2 print(tpl1) 3  4 tpl2 = "我是:{0};年龄:{1};性别:{2}" 5 v2 = tpl2.format("李杰",19,'都行') 6 print(v2) 7  8 tpl3 = "我是:{name};年龄:{age};性别:{gender}" 9 v3 = tpl3.format(name='李杰',age=19,gender='随意')10 print(v3)11 12 tpl4 = "我是:{name};年龄:{age};性别:{gender}"13 v4 = tpl4.format_map({'name':"李杰",'age':19,'gender':'中'})14 print(v4)

输出:

我是:hexin;年龄:18;性别:man我是:李杰;年龄:19;性别:都行我是:李杰;年龄:19;性别:随意我是:李杰;年龄:19;性别:中

 

  • 10)isalnum

功能:是否是数字或汉字

 
isalnum

例子:

1 name = 'hexin0好'2 v = name.isalnum()3 print(v)

输出:

True

 

  • 11)isdecimal,isdigit,isnumeric

功能:是否是数字

 
isalnum
 
isdecimal
 
isdigit

 

例子:

1 num = '二'2 v1 = num.isdecimal() # '123'3 v2 = num.isdigit()   # '123','②'4 v3 = num.isnumeric() # '123','二','②'5 print(v1,v2,v3)

输出:

False False True

 

  • 12)isidentifer

功能:是否是有效的标识符

 
isidentifier

例子:

1 n = '1name'2 u = 'name'3 v = n.isidentifier()4 i = u.isidentifier()5 print(v)6 print(i)

输出:

FalseTrue

 

  • 13)islower(isupper)

功能:是否全部是小写(大写)

 
islower

例子:

1 name = 'hexin'2 name1 = 'Hexin'3 v = name.islower()4 i = name1.islower()5 print(v)6 print(i)

输出:

TrueFalse

 

  • 14)isprintable

功能:是否包含隐含的XX(包含\n,\t等不可见字符为False)

 

 
isprintable

例子:

1 name = 'hexindas\talj,hexin'2 v = name.isprintable()3 print(v)

输出:

False

 

  • 15)join

功能:元素拼接

 
join

例子:

1 name = 'hexin'2 3 v = "_".join(name) # 内部循环每个元素4 print(v)5 6 name_list = ['1','2','3','4']7 v = "+".join(name_list)8 print(v)

输出:

h_e_x_i_n1+2+3+4

 

  • 16)rjust,ljust

功能:左右填充,类似center

 
ljust

例子:

1 name = 'hexin'2 v = name.ljust(14,'*')3 i = name.rjust(6,'*')4 print(v)5 print(i)

输出

hexin**********hexin

 

  • 17)maketrans,translate

功能:创建对应关系,翻译转换

 
maketrans

例子:

1 m = str.maketrans('aeiou','12345') # 对应关系2 name = "akpsojfasdufasdlkfj8ausdfakjsdfl;kjer09asdf"3 v = name.translate(m)4 print(v)

输出:

1kps4jf1sd5f1sdlkfj815sdf1kjsdfl;kj2r091sdf

 

  • 18)partition

功能:分割,保留分割的元素

 
partition

例子:

1 content = "9SB6SB6"2 v = content.partition('SB') # partition3 print(v)

输出:

('9', 'SB', '6SB6')

 

  • 19)replace

功能:替换

 
replace

例子:

1 content = "1SB2SB3SB4"2 v = content.replace('SB','Love')3 print(v)4 v = content.replace('SB','Love',1)5 print(v)

输出:

1Love2Love3Love41Love2SB3SB4

 

  • 20)strip

功能:移除空白,\n,\t, 自定义

 
strip

 

例子:

1 name = 'hexin \t'2 v = name.strip() # 空白,\n,\t3 print(v)

输出:

hexin

 

  • 21)zfill

功能:填充0

 
zfill

例子:

1 name = 'hexin'2 v = name.zfill(20)3 print(v)

输出:

000000000000000hexin

 

2.整数

类int

  • 1)bit_length

功能:当前整数的二进制表示的最少位数

 
bit_length

例子:

age = 4 # 100print(age.bit_length())

输出:

3

 

  • 2)to_bytes

功能:获取当前数据的字节表示

 
to_bytes

例子:

age = 15v = age.to_bytes(10,byteorder='big')v = age.to_bytes(10,byteorder='little')print(v)

输出:

b'\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00'

 

3.list列表

类list

可变类型

  • 1)append

功能:追加

 
append

例子:

user_list = ['tom','刘','jack','n'] # 可变类型user_list.append('hex')print(user_list)

输出

['tom', '刘', 'jack', 'n', 'hex']

 

  • 2)clear

功能:清空

例子:

user_list = ['tom','刘','jack','n'] # 可变类型user_list.clear()print(user_list)

输出:

[]

 

  • 3)copy

功能:浅拷贝

例子:

user_list = ['tom','刘','jack','n'] t = user_list.copy()print(user_list)print(t)

输出:

['tom', '刘', 'jack', 'n']['tom', '刘', 'jack', 'n']

 

  • 4)count

功能:计数

例子:

user_list = ['tom','n','刘','jack','n','n']t = user_list.count('n')print(user_list)print(t)

输出:

['tom', 'n', '刘', 'jack', 'n', 'n']3

 

  • 5)extend

功能:扩展原列表

例子:

user_list = ['tom','n','刘','jack','n','n']user_list.extend('9')print(user_list)

输出:

['tom', 'n', '刘', 'jack', 'n', 'n', '9']

 

  • 6)index

功能:查找元素索引,没有报错

例子:

user_list = ['tom','n','刘','jack','n','n']v = user_list.index('n')print(v)

输出:

1

 

  • 7)pop

功能:删除并获取元素,索引

例子:

user_list = ['tom','n','刘','jack','n','n']v = user_list.pop(1)print(v)print(user_list)

输出:

n['tom', '刘', 'jack', 'n', 'n']

 

  • 8)remove

功能:删除,值

例子:

user_list = ['tom','n','刘','jack','n','n']user_list.remove('n')print(user_list)

输出:

['tom', '刘', 'jack', 'n', 'n']

 

  • 9)reverse

功能:翻转

例子:

user_list = ['tom','n','刘','jack','n','n']user_list.reverse()print(user_list)

输出:

['n', 'n', 'jack', '刘', 'n', 'tom']

 

  • 10)sort

功能:排序

例子:

num = [11,2,3,6,111]num.sort()print(num)num.sort(reverse=True)print(num)

输出:

[2, 3, 6, 11, 111][111, 11, 6, 3, 2]

 

4.range

  • 1)创建

py2.7:立即生成数字

range(1,11) # 生成 1,23,,4,56.10

 

py3:不会立即生成,只有循环迭代,才一个个生成;

for i in range(1,11):     print(i)for j in range(1,11,2):     print(j)for k in range(10,0,-1):     print(k)
123456789101357910987654321

 

例子

# li = ['eric','alex','tony'] # for i in range(0,len(li)): #     ele = li[i] #     print(ele) li = ['eric','alex','tony'] for i in li:     print(i) # for i in range(0,len(li)): #     print(i+1,li[i])

输出

ericalextony

5.enumerate

功能:额外生成一列有序的数字

例子

li = ['eric','alex','tony']for i,ele in enumerate(li,1):    print(i,ele)#1 eric#2 alex#3 tony
li = ['eric','alex','tony']for i,ele in enumerate(li,1):    print(i,ele)v = input('请输入商品序号:')v = int(v)item = li[v-1]print(item)#1 eric#2 alex#3 tony#请输入商品序号:1#eric

 

6.tuple元组

不可被修改类型,元组元素不可被修改,元祖是其他类型数据可以修改

  • 1)创建
user_tuple = ('hex','eric','seven','hex')
  • 2)count

功能:获取个数

user_tuple = ('hex','eric','seven','hex')v = user_tuple.count('hex')print(v) #2
  • 3)index

功能:获取值得第一个索引位置

user_tuple = ('hex','eric','seven','hex')v = user_tuple.index('hex')print(v)#0

 

  • 4)注意:元组最后加逗号

例子

li = ('hx',)print(li)

 

  • 5)本身不可修改,但是元组元素是其他类型可以修改

user_tuple = ('alex','eric','seven',['1','2','3'],'a4')

# user_tuple[0] = 123 执行错误
# user_tuple[3] = [11,22,33] 执行错误
user_tuple[3][1] = '0'
print(user_tuple)

 

7.dict

可变类型

  • 1)clear

功能:清空

dic = {'k1':'v1','k2':'v2'}dic.clear()print(dic)

 

  • 2)copy

功能:浅拷贝

dic = {'k1':'v1','k2':'v2'}v = dic.copy()print(v)

 

  • 3)get

功能:根据key获取指定value,不存在不报错

dic = {'k1':'v1','k2':'v2'}v = dic.get('k1111',1111)print(v)

 

  • 4)pop

功能:删除并获取对应的value值

# dic = {'k1':'v1','k2':'v2'}# v = dic.pop('k1')# print(dic)# print(v)

输出:

{'k2': 'v2'}v1

 

  • 5)popitem

功能:随机删除键值对,并获取到删除的键值

dic = {'k1':'v1','k2':'v2'}v = dic.popitem()print(dic)print(v)

输出:

{'k1': 'v1'}('k2', 'v2')

 

dic = {'k1':'v1','k2':'v2'}k,v = dic.popitem() # ('k2', 'v2')print(dic)print(k,v)

输出:

{'k2': 'v2'}k1 v1

 

dic = {'k1':'v1','k2':'v2'}v = dic.popitem() # ('k2', 'v2')print(dic)print(v[0],v[1])

输出:

{'k1': 'v1'}k2 v2

 

  • 6)setdefault

功能:增加,如果不存在即删除

dic = {'k1':'v1','k2':'v2'}dic.setdefault('k3','v3')print(dic)dic.setdefault('k1','1111111')print(dic)

输出:

{'k2': 'v2', 'k1': 'v1', 'k3': 'v3'}{'k2': 'v2', 'k1': 'v1', 'k3': 'v3'}

 

  • 7)update

功能:批量增加或修改

dic = {'k1':'v1','k2':'v2'}dic.update({'k3':'v3','k1':'v24'})print(dic)

输出:

{'k1': 'v24', 'k2': 'v2', 'k3': 'v3'}

 

  • 8)fromkeys

功能:从序列键和值设置为value来创建一个新的字典。

例子:

dic = dict.fromkeys(['k1','k2','k3'],123)dic['k1'] = 'asdfjasldkf'print(dic)

输出:

{'k2': 123, 'k1': 'asdfjasldkf', 'k3': 123}

 

8.set

集合,不可重复列表,可变类型。

 

  • 1)创建
s1 = {"alex",'eric','tony'}print(type(s1))print(s1)

输出:

{'alex', 'eric', 'tony'}

 

  • 2)difference

功能:输出s1中存在,s2中不存在的值

s1 = {"alex",'eric','tony','ii'}s2 = {"alex",'eric','tony','hexin'}v = s1.difference(s2)print(v)

 输出:

{'ii'}

 

  • 3)difference_update

功能:s1中存在,s2中不存在,然后对s1清空,然后在重新赋值

s1 = {"alex",'eric','tony','ii'}s2 = {"alex",'eric','tony','hexin'}s1.difference_update(s2)print(s1)

输出:

{'ii'}

 

  • 4)symmetric_difference

功能:s1中存在,s2中不存在的值及s2中存在,s1中不存在的值

s1 = {"alex",'eric','tony','ii'}s2 = {"alex",'eric','tony','hexin'}v = s1.symmetric_difference(s2)print(v)
{'ii', 'hexin'}

 

  • 5)intersection

功能:交集

s1 = {"alex",'eric','tony','ii'}s2 = {"alex",'eric','tony','hexin'}v = s1.intersection(s2)print(v)

输出:

{'eric', 'alex', 'tony'}

 

  • 6)union

功能:并集

s1 = {"alex",'eric','tony','ii'}s2 = {"alex",'eric','tony','hexin'}v = s1.union(s2)print(v)

输出:

{'alex', 'hexin', 'eric', 'ii', 'tony'}

 

  • 7)discard

功能:移除

s1 = {"alex",'eric','tony','ii'}s2 = {"alex",'eric','tony','hexin'}s1.discard('alex')print(s1)

输出:

{'eric', 'tony', 'ii'}

 

  • 8)update

功能:添加

s1 = {"alex",'eric','tony','李泉','李泉11'}s1.update({'alex','123123','fff'})print(s1)

输出:

{'fff', '李泉', '123123', 'tony', 'alex', 'eric', '李泉11'}

转载于:https://www.cnblogs.com/MR-HAIBO/p/6935493.html

你可能感兴趣的文章
RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
查看>>
Java环境变量设置
查看>>
【JBPM4】判断节点decision 方法3 handler
查看>>
filter 过滤器(监听)
查看>>
node启动时, listen EADDRINUSE 报错;
查看>>
杭电3466————DP之01背包(对状态转移方程的更新理解)
查看>>
kafka中的消费组
查看>>
python--注释
查看>>
SQL case when else
查看>>
SYS_CONTEXT 详细用法
查看>>
Pycharm配置autopep8让Python代码更符合pep8规范
查看>>
我的第一篇博客
查看>>
【C++算法与数据结构学习笔记------单链表实现多项式】
查看>>
C#垃圾回收机制
查看>>
31、任务三十一——表单联动
查看>>
python之hasattr、getattr和setattr函数
查看>>
maven使用阿里镜像配置文件
查看>>
Copy code from eclipse to word, save syntax.
查看>>
arguments.callee的作用及替换方案
查看>>
23 Java学习之RandomAccessFile
查看>>