python培训Day2 随笔

今天主要讲解了常用的int、float、str、list、tuple、set类的常用方法。已经encode(编码)和decode(解码)的区别。


wKioL1Y3XKbi3wQLAAGVrT3yed4423.jpg

如上图所示,无论操作系统本身的字符集是什么样式的。在他们互相通信的时候都要将字符集转换成

Unicode这种万国码。这样他们的之间的沟通就不存在障碍了。

例如要将utf-8字符集的汉字‘王’变成GBK格式的就需要如下操作

#先获取‘王’的UTF-8编码

'王'

'\xe7\x8e\x8b'

#调用decode解码成unicode编码,带有u'的就是Unicode编码

x='\xe7\x8e\x8b'
x.decode('utf8')
u'\u738b'

#最后调用encode方法将Unicode编码编译成gbk格式编码

x.decode('utf8').encode('gbk')
'\xcd\xf5'

如果打印这个编码由于操作系统默认字符集缘故可能就会出现乱码

y=x.decode('utf8').encode('gbk')
print y


整数 int 类常用的方法有

#将输入转换为整数型

x=int(10)
[object Object]

#将输入转换为二进制数,其中0b表示二进制数

x=bin(10)
print x
0b1010

#将输入转换成8进制数

x=oct(10)
print x
10

#将输入转换成16进制数

x=hex(11)
print x
0xb

#将输入取绝对值

x=abs(-9)
print x
9

#比较两个数的大小,当第一个数小于第二个数则返回-1,要是相等就返回0,大于就返回1

x=9
cmp(x,10)
-1
cmp(x,9)
0
cmp(x,8)
1

#将两个数相除,求商和余数。例如9除以2 商4余1

divmod(9,2)
(4, 1)


浮点型float类的的方法长整型long的方法都与整数型类似

只不过浮点型是处理带小数点的数如:3.14,9.81之类的

长整型是处理比较长的整数如:123123189788


字符串str类的常用方

#首字母大写

x='abc'
x.x.capitalize()
'Abc'

#内容居中,width:总长度;fillchar:空白处填充内容,默认无

x='abc'
x.center(10)
'   abc    '
x.center(10,'*')
'***abc****'

#内容左侧对齐,width:总长度;fillchar:空白处填充内容,默认无

x='abc'
x.ljust(10,'#')
'abc#######'

#子序列个数

x='dasdasd'
x.count('d')
3

#判断字符串是否为数字或者字母组成

x='abc123'
x.isalnum()
True
y='21daq*#'
x.isalnum()
False

#判断字符串是否为字母

x=‘abc’
x.isalpha()
True

#判断字符串是否为数字

x='123'
x.isnum()
True

#删除字符串前面和后面的空格,换行符等符号

x='  da sda\n'
x.strip()
'da sda'

#以指定的字符将原有的字符串分为前、中、后三段

x='dasdasdasda'
x.partition('s')
('da', 's', 'dasdasda')

#替换字符串中的内容

x='dasd'
x.replace('s','123')
'da123d'

#以指定字符的内容字符串为列表

x='dadasd'
x.split('a')
['d', 'd', 'sd']

#将字符串中的大小写互换

x=‘AbC’
x.swapcase()
'aBc'

#将字符串内容全部转换成小写

x='ABC'
x.lower()
'abc'

#将字符串内容全部转换成小写

x='abc'
x.upper()
'ABC'

#取字符串长度

x='dasdasdasdads'
len(x)
13


列表list类的常用方法

#添加元素

>>>x=[1]
>>> x.append(2)
>>> print x
[1, 2]

#计算列表中指定元素的数量

>>> x=['a','a','b']
>>> x.count('a')
2

#扩展列表,可以在原列表后追加一个列表或者元素

>>> x=['a','a','b']
>>> y=[1,2]
>>> x.extend(y)
>>> print x
['a', 'a', 'b', 1, 2]

#在指定索引位置插入元素

>>> x=['a','a','b']
>>> x.insert(1,'c')
>>> print x
['a', 'c', 'a', 'b']

#删除列表中最后一个元素,并打印出来该元素

>>> x=['a','a','b']
>>> x.pop()
'b'
>>> print x
['a', 'a']

#删除列表中的指定元素

>>> x=['a','a','b']
>>> x.remove('b')
>>> print x
['a', 'a']

#反转列表

>>> x=[1,2,3,4]
>>> x.reverse()
>>> print x
[4, 3, 2, 1]

#列表里的元素排序

>>> x=[5,3,6,7]
>>> x.sort()
>>> print x
[3, 5, 6, 7]


元组tuple中常用的类

这一部分的用法和list方法类似,只是元组不能进行增删改的操作


字典dict中常用的类

#清空字典

>>> x={1:2}
>>> x.clear()
>>> print x
{}

#浅拷贝

>>> x={1:{'a':'c'},2:{'b':'d'}}
>>> y=x.copy()
>>> print y
{1: {'a': 'c'}, 2: {'b': 'd'}}
#注意浅拷贝只是拷贝字典的第一层在x字典再加入新元素,y字典还是保持x原来的样子
>>> x[3]='e'
>>> print x
{1: {'a': 'c'}, 2: {'b': 'd'}, 3: 'e'}
>>> print y
{1: {'a': 'c'}, 2: {'b': 'd'}}
#当修改x字典中的第二层字典的话,那么y字典对应位置的元素也将被修改
>>> x[1]['a']='dasdasdasd'
>>> print x
{1: {'a': 'dasdasdasd'}, 2: {'b': 'd'}, 3: 'e'}
>>> print y
{1: {'a': 'dasdasdasd'}, 2: {'b': 'd'}}

#根据key值获取value值

>>> x={1:2,3:4}
>>> x.get(1)
2

#以元组形式列出所有k,v的组合

>>> x={1:2,3:4}
>>> x.items()
[(1, 2), (3, 4)]

#列出所有字典的key

>>> x={1:2,3:4}
>>> x.keys()
[1, 3]

#列出所有字典的value

>>> x={1:2,3:4}
>>> x.values()
[2, 4]

#删除指定的key并打印对应的value

>>> x={1:2,3:4}
>>> x.pop(1)
2
>>> print x

{3: 4}

#查询指定的key,如果存在就返回value。如果不存在就删除

>>> x={1:2,3:4}
>>> x.setdefault(1,'haha')
2
>>> x.setdefault(5,'haha')
'haha'
>>> print x
{1: 2, 3: 4, 5: 'haha'}

集合set类中的常用方法

#消除列表中重合的元素

>>> x=['a','b','c','a']
>>> se=set(x)
>>> print se
set(['a', 'c', 'b'])

#清空一个集合

>>> x=set(['a','b','c'])
>>> x.clear()
>>> print x
set([])

#将两个集合联合起来同时去除重复的元素

>>> x=set(['a','b','c'])
>>> y=set(['c','d','e'])
>>> x.union(y)
set(['a', 'c', 'b', 'e', 'd'])
>>> x|y
set(['a', 'c', 'b', 'e', 'd'])

#取两个集合的交集

>>> x=set(['a','b','c'])
>>> y=set(['c','d','e'])
>>> x.intersection(y)
set(['c'])
>>> x&y
set(['c'])

#取两个集合的差集

>>> x=set(['a','b','c'])
>>> y=set(['c','d','e'])
>>> x.difference(y)
set(['a', 'b'])
>>> x-y
set(['a', 'b'])

#集合、列表、元组、字符串之间转换

>>> list(s1)
['i', 'b', 'e', 'g', 'n']
>>> str(s1)
"set(['i', 'b', 'e', 'g', 'n'])"
>>> tuple(s1)
('i', 'b', 'e', 'g', 'n')


本文出自 “霹雳豆包” 博客,谢绝转载!

你可能感兴趣的:(day2)