Python 字符、整型、列表字典等操作(二)

  在上次课程中简要的讲述了Python的基础常识,现在来详细的学习一下吧!

一、类和对象

面向过程和面向对象

  面向过程:C

  面向对象:Java、Python等

类和对象的含义:

  类,是对事物的抽象,比如:车

  对象,是类的一个实例,比如:别克

类和对象的关系:

  类是对象的定义,而实例是真正的事物,它存放了类中所定义的对象的具体信息;

  对象的创建,也就是类的实例化。

  对于Python,一切事物都是对象,对象基于类的创建。

具体实例讲解

  右边的两个对象是基于左边的字符串类创建的,而两个字符串同时具有了字符串类的所有功能;

  所有的字符串类的功能集合又成为"string"。依次类推,还有list、dict、int、float等等,下面会依次分别详细讲解其功能和用法。

二、整数

abs(x)#返回数字的绝对值

>>> num = -20
>>> abs(num)
20

bit_length  #转化为二进制数(0b二进制标识)

>>> n = 10
>>> bin(n)
'0b1010'
>>>

def __and__(self, *args, **kwargs)#位运算与(&)

>>> n & s

10

_bool_()#返回布尔值

>>> a.__bool__()
True

divmod 取商,取余
num = 29
res = num.__divmod__(5)
print(res)

_add_()  +
res = num.__add__(10)
print(res)
res = num + 10
print(res)

_mod_() 取商
>>> a.__mod__(3)
2
>>> a % 3
2

三、字符串

  1 1、字符串中大小写的转换:
  2 
  3 s.lower() #大写转小写
  4 
  5 >>> s = 'HAHA'
  6 >>> s.lower()
  7 'haha'
  8 
  9 s.upper()#小写转大写
 10 
 11 >>> s = 'haha'
 12 >>> s.upper()
 13 'HAHA'
 14 
 15 s.swapcase()#大小写互换
 16 
 17 >>> s = 'HaHa'
 18 >>> s.swapcase()
 19 'hAhA'
 20 
 21 s.capitailze()#首字母转大写
 22 
 23 >>> s = 'tom'
 24 >>> s.capitalize()
 25 'Tom'
 26 
 27 2、字符串在输出时的对齐:
 28 
 29 s.ljust(width,[filchar])#左对齐
 30 
 31 >>> s = 'tom'
 32 >>> s.ljust(10,'*')
 33 'tom*******'
 34 
 35 s.rjust(width,[filchar])#右对齐
 36 
 37 >>> s.rjust(10,'*')
 38 '*******tom'
 39 
 40 s.center(width,[filchar])#中间对齐
 41 
 42 >>> s.center(10,'*')
 43 '***tom****'
 44 
 45 s.zfill(width)#s 为长度,不足部分用0补充
 46 
 47 >>> s.zfill(2)
 48 'tom'
 49 
 50 >>> s.zfill(10)
 51 '0000000tom'
 52 
 53 3、字符串中的搜索和替换:
 54 
 55  s.index(sub[, start[, end]])#返回s中出现sub的第一个字母的编号,如果s中没有sub则返回一个运行错误。start/end相当于作用域。
 56 
 57 >>> s.index('o'[0:])
 58 1
 59 
 60 S.find(sub[, start[, end]])#和s.find()相同,只是没有sub时会返回-1.
 61 
 62 >>> s.find('o'[0:])
 63 1
 64 
 65  S.rfind(sub[, start[, end]])#从右边开始查找,如果找到返回字母编号,如果没有则返回-1.
 66 
 67 >>> s = 'tomasdsadasdqweqwd'
 68 >>> s.rfind('d'[0:])
 69 17
 70 
 71 S.rindex(sub[, start[, end]])#从右边开始查找
 72 
 73 >>> s.rindex('d'[0:])
 74 17
 75 
 76 s.count()#统计字符出现次数
 77 
 78 >>> s.count('d')
 79 4
 80 
 81 s.replace(old,new,[count])#替换和次数
 82 
 83 >>> s.replace('d','k',4)
 84 'tomasksakaskqweqwk'
 85 >>> s
 86 'tomasdsadasdqweqwd'
 87 
 88 s.strip([chars])#情况空格
 89 
 90 >>> s = ' sdsds  '
 91 >>> s
 92 ' sdsds  '
 93 >>> s.strip()
 94 'sdsds'
 95 
 96 s.lstrip()
 97 
 98 s.rstrip()#分别为清空左边的空格和右边的空格
 99 
100 >>> s.lstrip()
101 'sdsds  '
102 >>> s.rstrip()
103 ' sdsds'
104 
105 s.expandtabs([tabsize])#将每个tab替换为空格,默认是8个
106 
107 >>> s.expandtabs(2)
108 '  sd  '
109 >>> s
110 '\tsd \t'
111 
112 S.split(sep=None, maxsplit=-1)#以seq为分隔符,把s分成一个list;maxspilt表示分割的次数,默认为空格
113 
114 >>> s = 'asdaeqwfwfqdsajdoqwqdsad'
115 >>> s.split('d',2)
116 ['as', 'aeqwfwfq', 'sajdoqwqdsad']
117 >>> s.split('d',4)
118 ['as', 'aeqwfwfq', 'saj', 'oqwq', 'sad']
119 
120 s.encode()#输出为encode
121 name = "小明"
122 res = name.encode()
123 print(res)
124 
125 4、判断是否全是字母和数字
126 
127 s.isalpha() #判断是否全是字母
128 
129 >>> s.isalpha()
130 True
131 
132 s.isdigit()#判断是否全是数字
133 
134 >>> s.isdigit()
135 False
136 s.isspace()#判断是否全是空白字符
137 
138 >>> s.isspace()
139 False
140 
141 s.islower()#判断是否全部小写
142 
143 >>> s.islower()
144 True
145 
146 s.isupper()#判断是否全是大写
147 
148 >>> s.isupper()
149 False
150 
151 s.istitle()#首字母是否大写
152 
153 >>> s.istitle()
154 False

四、列表和元组

l.append()#增加

>>> l = [1,2,3,4,]
>>> l.append('haha')
>>> l
[1, 2, 3, 4, 'haha']

l.clear()#清空

>>> l.clear()
>>> l
[]

l.copy()#copy列表

>>> l1 = l2.copy()
>>> l1
['a', 'asd', 'tom']
>>> l2
['a', 'asd', 'tom']

l.count()#统计元素个数

>>> l = ['asdsa','das',1,3,4,5,6,2,2,2,2,2,2,3,4,]
>>> l.count(2)
6

l.extend()#扩展

>>> l1
['a', 'asd', 'tom']
>>> l.extend(l1)
>>> l
['asdsa', 'das', 1, 3, 4, 5, 6, 2, 2, 2, 2, 2, 2, 3, 4, 'a', 'asd', 'tom']

l.index(x)#显示x元素的下标

>>> l.index('a')
0
>>> l
['a', 'asd', 'tom']

l.insert(num,[items])#在指定下标位置增加元素

>>> l.insert(2,'ss')
>>> l
['a', 'asd', 'ss', 'tom']

l.pop()#随机删除一个元素

>>> l.pop()
'tom'
>>> l
['a', 'asd', 'ss']

l.remove(item)#删除指定元素

>>> l.remove('a')
>>> l
['asd', 'ss']

l.reverse()#反转

>>> l
['a', 'asd', 'tom']
>>> l.reverse()
>>> l
['tom', 'asd', 'a']

l.sort()#排序;Python3里不允许字母数字混排

>>> l.sort()
>>> l
['a', 'asd', 'tom']

元组的元素不可以被修改,元组的元素的元素可以被修改!

t1 = (2,3,4,5,{'kk':'a','c':'d'})
print(t1)
print(t1[4])

t1[4]['kk'] = 'haha'
print(t1)

五、字典

字典是Python语言中唯一的映射类型。简单地说字典就是用大括号包裹的键值对的集合。

a、字典不支持拼接和重复操作符(+,*)
b、字典的比较操作
先比较字典的长度也就是字典的元素个数
键比较
值比较

d.clear()#清空

d.copy()#copy

>>> a = d.copy()
>>> a
{'b': '123', 'a': 'asd'}
>>> l = [2,3,5,6,7]
>>> d = dict.fromkeys(l)
>>> d
{2: None, 3: None, 5: None, 6: None, 7: None}
>>> d = dict.fromkeys(l,'a')
>>> d
{2: 'a', 3: 'a', 5: 'a', 6: 'a', 7: 'a'}
####
items()#列表形式返回
>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}
>>> dic.items()
dict_items([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])
####
keys()#取出所有的key
>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}
>>> dic.keys()
dict_keys(['k1', 'k2', 'k3'])
####
pop()#通过删除指定的key,删除value
>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}
>>> dic.pop('k2')
'v2'
>>> dic
{'k1': 'v1', 'k3': 'v3'}
####
popitme()#随机删除一对key-value
>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}
>>> dic.popitem()
('k2', 'v2')
>>> dic
{'k1':'v1','k3':'v3'}
####
setdefault()#如果key不存在则创建;如果存在,则返回已存在的值且不修改
>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}
>>> dic.setdefault('k2')
'v2'
>>> dic.setdefault('k4','v4')
'v4'
>>> dic
{'k1': 'v1', 'k4': 'v4', 'k2': 'v2', 'k3': 'v3'}
####
update()#更新
>>> dic
{'k1': 'v1', 'k4': 'v4', 'k2': 'v2', 'k3': 'v3'}
>>> dic2
{'k5': 'v5'}
>>> dic.update(dic2)
>>> dic
{'k1': 'v1', 'k5': 'v5', 'k4': 'v4', 'k2': 'v2', 'k3': 'v3'}
>>> dic2
{'k5': 'v5'}
####
values()
>>> dic
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
>>> dic.values()#所有的值
dict_values(['v1', 'v2', 'v3'])
####

 

 

字典的遍历

遍历key:

for key in dt.keys():

  print(key)

遍历字典的value:

for value in dt.values():

  print(value)

遍历字典的元素:

for item in dt.items():
  print(item)

遍历字典的key-value

for k,v in dt.items():

  print(k,v)

posted on 2016-01-15 01:18  xj_aha  阅读(474)  评论(0编辑  收藏  举报

导航