您的位置:首页 > 编程语言 > Python开发

Python基础

2015-10-02 16:21 573 查看
Python中的序列:字符串,元组,列表等。

可以使用len()函数来判断长度;
使用变量名加下标来获取第几个元素,索引值可以为正也可以为负,正从左数,负从右数;
索引同样可以是一个范围[n:m],如果忽略,nm都有默认值;
+,*对于序列是有意义的,*代表重复多少次;


Python中对象的可变与不可变:

不可变的对象:数字,字符串,元组;可变的对象:列表,字典。
不可变的不能这样修改:s = 'via' s[0] = 'a',但可以这样修改:s = 'a' + s[1:]。这是因为Python在运行时会清理旧对象。


Python中字符串常用方法:

find(),replace(),split(),upper();虽然这些方法有的会返回被改变的字符串,但是字符串本身是不会被改变的。
isalpha(),isdigit(),rstrip();
'{0}asdfsdf{1}'.format('aa','ss')


可用于多种类型的通用型操作都是以内置函数或表达式的形式出现的(len[s],s[0]),类型的特定操作都是以方法调用的形式出现的(s.upper())。如果你想获取帮助,可以使用help函数(help(s.upper))。如果想知道所有方法列表可以打印出dir(s)。

Python中的列表:

很像数组,但是比数组更灵活,没有类型的约束,可以存储不同类型的数据。

可变类型,append等方法会直接改变列表。

支持嵌套。

可以使用列表解析语句解析列表:

b = [123,'afdsa',1.2]
c = [[1,2,3],[4,5,6],[7,8,9]]
print(c)
c1 = [row[2] for row in c]
print(c1)
c1 = [row[2] for row in c if row[2] % 2 == 0]
print(c1)
c1 = [c[i][i] for i in [0,1,2]]
print(c1)
c1 = (sum(row) for row in c)
print(next(c1))
print(next(c1))
print(next(c1))
print(list(map(sum, c)))
print({sum(row) for row in c})
print({i: sum(c[i]) for i in range(3)})

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[3, 6, 9]
[6]
[1, 5, 9]
6
15
24
[6, 15, 24]
set([24, 6, 15])
{0: 6, 1: 15, 2: 24}


Python中的字典:

可变对象。

支持嵌套。

无序的,如若你想有序便利,先通过某种方法把key排序,再便利key即可。或直接使用sorted()函数。

访问不存在的见还是会报错。

a = {'food': 'egg', 'level': 1 ,'color': 'red'}
b = {}
b['name'] = 'bob'
b['age'] = 23
b['job'] = 'dev'
print(a)
print(b)
c = {'name': {'last': 'ym', 'first': 'l'},
'job': ['dev', 'mgr'],
'age': 22}
print(c)
print(c['name']['last'])
print(c['job'][:])
c['job'].append('CEO')
print(c)
#cKey = c.keys()
#cKey.sort()
#print(cKey)
for key in sorted(c):
print(key,'=>',c[key])
if not 'sex' in c:
print("no such item")
print(c.get("sex",0))
print(c["sex"] if 'sex' in c else 0)

{'food': 'egg', 'color': 'red', 'level': 1}
{'job': 'dev', 'age': 23, 'name': 'bob'}
{'age': 22, 'job': ['dev', 'mgr'], 'name': {'last': 'ym', 'first': 'l'}}
ym
['dev', 'mgr']
{'age': 22, 'job': ['dev', 'mgr', 'CEO'], 'name': {'last': 'ym', 'first': 'l'}}
('age', '=>', 22)
('job', '=>', ['dev', 'mgr', 'CEO'])
('name', '=>', {'last': 'ym', 'first': 'l'})
no such item
0
0


Python中的元组:

不可变。

没有类型约束,可嵌套。

支持大多数序列操作。

Python中的集合:

不可变,无序,支持集合运算。

x = set('spam')
y = {'s', 'd'}
print(x,y)
print(x&y)


Python中的文件对象:

f = open('data.txt', 'w')
f.write("balalala")
f.close()
f = open('data.txt')
print(f.read())


Python中的类:

class Worker:
def __init__(self, name, pay):
self.name = name
self.pay = pay
def lastName(self):
return self.name.split()[-1]
def giveRaise(self, percent):
self.pay *= (1+percent)
bob = Worker("Bob Smith", 50000)
print(bob.lastName())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息