代码改变世界

python17之day2

2017-05-13 10:45  筱筱竹  阅读(275)  评论(0编辑  收藏  举报

一、进制

1.进制简介

  进制就是进位制,是一种进位方法。计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别。

2.常用进制 

1) 十进制:运算规则”逢十进一”;

2) 八进制:运算规则”逢八进一”;

3) 十六进制:运算规则”逢十六进一”;

4) 二进制:运算规则”逢二进一”。

3.进制转换

我们有最常用的转换方法:用十进制数据除以目标进制得到余数,并将余数从最后一个到第一个排列,就是转换后的目标进制表示形式(简称“除基取余,直到商为0,余数反转”)。以十进制43向二进制转换为例,得到的数值排列:101011,所以十进制43的二进制表示形式为101011,同理,如果求八进制、十六进制表示形式,用43除以8、16即可。

 

二、基本数据类型

1.字符串

类:str

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

 

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

1)capitalize

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

2)casefold

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

3)lower,upper

功能:

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

upper:将所有小写变大写

4)center

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

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

例子:

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

输出:

tx
*******tx********

5)count

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

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

6)endswith

功能:判断是否以xx结尾

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

7)expandtabs

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

8)find

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

9)format,%s,format_map

功能:字符串格式化

10) isalnum

功能:是否是数字或汉字

11)isdecimal,isdigit,isnumeric

功能:是否是数字

12) isidentifer

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

13)islower(isupper)

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

14)isprintable

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

15)join

功能:元素拼接

16)rjust,ljust

功能:左右填充,类似center

17)maketrans,translate

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

18)partition

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

19)replace

功能:替换

20)strip

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

21)zfill

功能:填充0

2.整数

类int

1)bit_length

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

2)to_bytes

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

3.list列表

类list

可变类型

1)append

功能:追加

2)clear

功能:清空

 

3)copy

功能:浅拷贝

4)count

功能:计数

5)extend

功能:扩展原列表

6)index

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

7)pop

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

8)remove

功能:删除,值

9)reverse

功能:翻转

10)sort

功能:排序

4.range

1)创建

1-1):立即生成数字

range(1,11) # 生成 1,2,3....,9,10

1-2):不会立即生成,只有循环迭代,才一个个生成;

复制代码
for i in range(1,11): 
    print(i)
复制代码
1
2
3
4
5
6
7
8
9
10
复制代码

 

5.enumerate

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

例子

复制代码
x = ['lilei','alex','lucy']
for i,j in enumerate(x,1):
    print(i,j)

#1 lilei
#2 alex
#3 lucy

 

6.tuple元组

不可被修改类型,子不可被修改,孙可以

1)创建

user_tuple = ('hex','eric','seven','leilei')

2)count

功能:获取个数

user_tuple = ('hex','eric','seven','lei')
v = user_tuple.count('hex')
print(v)

#2

3)index

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

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

例子

lex = ('tx',)
print(lex)

 

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

功能:清空

2)copy

功能:浅拷贝

3)get

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

4)pop

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

5)popitem

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

6)setdefault

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

7)update

功能:批量增加或修改

8)fromkeys

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

8.set

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

 1)创建

s1 = {"alex",'lilei','lucy'}
print(type(s1))
print(s1)

输出:

<class 'set'>
{'alex', 'lilei', 'lucy'}

2)difference

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

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

 输出:

{'lilei'}

 

3)difference_update

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

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

输出:

{'lucy'}

 

4)symmetric_difference

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

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

 

5)intersection

功能:交集

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

输出:

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

 

6)union

功能:并集

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

输出:

{'alex', 'tx', 'eric', 'lilei', 'tony'}

 

7)discard

功能:移除

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

输出:

{'eric', 'tony', 'lilei'}

 

8)update

功能:添加