文章目录
Python基础
1.基础知识
1.函数计算
通过变量来引用函数
foo = math.sqrt
foo(4)
cmath函数用于计算复数
2.str、repr、``比较
在Python3中已经不再使用反引号了
str函数它会把值转换为合理形式的字符串,以便用户可以理解;
repr函数它会创建一个字符串,以合法的Python表达式的形式来表示值。
3.原始字符串
r'都结束了佛;'\,./fs'
对立面的字符串不会做任何转义,但是原始字符串最后一个字符不能是反斜线,除非你对反斜线进行转义
4.input、raw_input区别
python2中的input会把输入的字符串当成一个代码来执行
Python 3中只有input函数 等价于 python2中的raw_input函数
2.列表和元组
主要区别:列表可以修改,元组则不能。
1通用序列操作:
索引、分片、加、乘、in、还有计算长度、找出最大元素和最小元素的内建函数
分片
>>>a=[1,2,3,4,5,6,7,8,9,10]
>>>a[5::-2]
[6, 4, 2]
>>>a[:5:-2]
[10, 8]
加
两种相同类型的序列才能进行连接操作
[1,2,3] + [4,5,6]
'Hello' + 'world!'
乘
>>>'test'*5
'testtesttesttesttest'
>>> [12]*5
[12, 12, 12, 12, 12]
长度、最小值和最大值
len、min、max
2.list操作
字符串转列表
>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
列表转字符串
>>> ''.join(['a','t','t','u'])
'attu'
改变列表:元素赋值
x[1]=2
改变列表:删除元素
del x[2]
改变列表:分片赋值
ex1.
>>> name = list('Perl')
>>> name[2:] = list('ar')
>>> name
['P', 'e', 'a', 'r']
ex2.
>>> name = list('Perl')
>>> name[1:]=list('python')
>>> name
['P', 'p', 'y', 't', 'h', 'o', 'n']
ex3.
>>> numbers=[1,5]
>>> numbers[1:1]=[2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
ex4.
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:4]=[]
>>> numbers
[1, 5]
列表方法
append count extend index insert pop remove reverse sort cmp(x,y)
pop是唯一一个既能修改列表又能返回元素值得列表方法
cmp/key/reverse参数都可以用于sort函数
3.元组操作
tuple = (‘apple’, ‘bannana’, ‘grape’, ‘orange’)
当元组只有一个元素时,正确的写法为 tuple =(‘apple’,)
tuple 将一个序列作为参数并把它转换为元组。
tuple([1,2,3]) tuple(‘abc’)
3.使用字符串
字符串都是不可变的。
字符串格式化操作符: %
1.字符串格式化
基本的转换说明符,按一定的顺序至关重要。
(1)%字符 标记转换说明符开始
(2)转换标志
+ 表示在转换值之前要加上正负号
- 表示左对齐
0 表示转换值若位数不够则用0填充
(3)最小字段宽度: 转换后字符串至少应该具有该指定的宽度。
如果是*,则宽度从值元组中读取。
(4)点(.)后跟精度值: 如果转换是实数,精度值就表示出现在小数点后的位数;如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。
>>> print('%-10.2f' % pi)
3.12
左对齐 宽度为10 小数点后两位
2.字符串方法
字符串一些有用的字符串和常量:
string.digits:包含数字0~9的字符串
string.letters:包含所有字母(大写或小写)的字符串
(python3中移除了letters,该使用string.ascii_letters)
string.lowercase:包含所有小写字母的字符串
string.printable:包含所有可打印字符的字符串
string.punctuation:包含所有标点的字符串
string.uppercase:包含所有大写字母的字符串
一部分方法:
find:返回子串所在位置的最左端索引。没有找到则返回-1
join:用来连接序列中的元素
lower:返回字符串的小写字母版
replace:返回某字符串的所有匹配项均被替换之后得到字符串。
split:用来将字符串分割成序列
strip:返回去除两侧(不包括内部)空格的字符串
translate:和replace方法类似,不同是它只处理单个字符。优势在于可以同时进行多个替换,有些时候比replace效率要高得多。
Python3.4已经没有string.maketrans()了,取而代之的是内建函数:
bytearray.maketrans()、bytes.maketrans()、str.maketrans()
4.字典:当索引不好用时
1.字典的创建
方法一:
person = {"username":"john","age":18}
方法二:
person = dict(username='john',age=18)
2.字典的基本操作
len(d):返回字典的键值对的长度。
d[k]:获取k这个key对应的值。
d[k] = v:设置键为k的值为v,如果字典中不存在键为k的这一项,那么自动的添加进去。
del d[k]:删除d这个字典中键为k的这一项数据。
k in d:检查d这个字典中是否包含键为k的这一项。(字典中查找的是键,而不是值)
表达式v in l(l为列表)则是用来查找值。
字典中的键可以是任意的不可变类型,比如:浮点类型、整形、长整形、字符串或者元组。
3.字典的常用方法
clear:清空字典所有的key、value
person = {'username':'john','age':18}
a.clear()
print a
get:访问字典中那个键对应的那个值。这个方法不会抛出异常而是返回None。
person = {'username':'john','age':18}
username = person.get('username')
print username
has_key:判断某个键是否存在字典中。相当于k in d在Python3中这个方法不存在,所以最好使用in操作符。
pop:用来获得对应于给定键的值,然后将这个键盘和值的项从字典中删除。会返回这个值。
person = {'username':'john','age':18}
person.pop('username')
popitem:随机的移除字典中的一项。因为字典是无序的。
update:用一个字典更新另外一个字典,若有相同的键则会覆盖。
a = {'url':'http://www.python.org/','title':"python"}
b = {"url":"http://www.google.com/",'name':"google"}
a.update(b)
print a
未完待续…(持续更新)