1.为源文件指定不同的字符编码

1
2
3
4
5
# 语法,python源文件默认使用UTF-8编码,特殊的编码注释必须在文件的第一行或者第二行定义
# -*- coding: encoding -*-
eg:
# 使用windows-1252编码
# -*- coding: cp-1252 -*-

2.交互模式中,最近一个表达式的值赋给变量_。我们可以把它当做一个桌面计算器,方便的用于连续计算。

1
2
3
4
5
6
7
8
>>> tax = 12.5 /100
>>> price = 100.5
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

3.在交互式解释器中,输出的字符串会用引号引起来,特殊字符会用反斜杠转义,如果前面带有\的字符被当做特殊字符,可以使用原始字符串,方法是在第一个引号前面加上一个r

1
2
3
4
5
>>> print('c:\user\test')
c:\user
test
>>> print(r'c:\user\test')
c:\user\test

4.python能够优雅的处理那些没有意义的切片:一个过大的索引值(即下标值大于字符串实际长度)将被字符串实际长度所代替,当上边界比下边界大时(即切片左值大于右值)就返回空字符串

1
2
3
4
5
# word = 'superman'
>>> word[4:42]
'rman'
>>> word[42:]
''

5.序列的切片,一定要左边的数字小于右边的数字,否则返回空

1
2
3
4
5
6
7
8
9
10
>>> lang
'python'
>>> lst
['python', 'java', 'c++']
>>> lang[-1:-3]
''
>>> lang[-3:-1]
'ho'
>>> lst[-3:-1]
['python', 'java']

6.反转

1
2
3
4
5
>>> alst = [1, 2, 3, 4]
>>> alst[::-1]
[4, 3, 2, 1]
>>> list(reversed(alst))
[4, 3, 2, 1]

7.append()和extend()是原地修改,没有返回值

1
2
3
4
5
>>> one = ['good', 'good', 'study']
>>> another = one.extend(['day', 'day', 'up'])
>>> another #没有返回值
>>> one
['good', 'good', 'study', 'day', 'day', 'up']

8.extend()和append()区别

1
2
3
4
5
6
7
>>> lst = [1, 2, 3]
>>> lst.append(['quit', 'final'])
>>> lst
[1, 2, 3, ['quit', 'final']]
>>> lst.extend(['test', 'different'])
>>> lst
[1, 2, 3, ['quit', 'final'], 'test', 'different']

9.如果元组只有一个元素时,应该在该元素后面加一个半角的英文逗号

1
2
3
4
5
6
>>> a = (3)
>>> type(a)
<type 'int'>
>>> b = (3, )
>>> type(b)
<type 'tuple'>

10.