Python基础知识笔记
运行一个脚本后再进入交互终端 python -i
使用-i参数
1 | $ echo "#!/usr/bin/env python |
print的内容禁止转义 \
使用 r' '
使单引号中的所有字符禁止转义
1 | print 'x\ny\tz' |
打印多行 ‘’’…’’’
使用\n
输入多行时可能不太好阅读,可以通过''' '''
三引号的方式来输出多行
1 | print '''line one |
常量 PI
在Python中的常量也是一个变量,只不过为了显示这是个常量,约定俗成用大写表示常量
在Python中没有任何机制保证大写的变量不会被更改!
1 | 3.1415926 PI = |
字符串与数字间的转换(ASCII)
1 | 'L') ord( |
在Python中使用Unicode编码
1 | '中文' |
Unicode与禁止转义连用 print ur’…’
1 | print u'中\t文' |
Unicode与utf-8字符编码间的转换
Unicode 2 UTF-8
1 | u'ABC' |
UTF-8 2 Unicode
1 | '\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') |
Python文件中使用中文的声明 print u’…’
1 | #!/usr/bin/env python |
字符串格式化(占位符)
常见的占位符:
- %d 整数
- %f 浮点数
- %s 字符串
1 | print 'Hi %s' % 'ps' |
对Unicode字符串进行占位时,字符编码需要前后保持一致
1 | print u'Hi %s, I have %d questions to ask you' % (u'ps', 59) |
对占位符转义%%
–>’%’
1 | print "update %d%" % 59 |
列表
1 | 'Apple', 'Microsoft', 'Samaung'] testlist = [ |
取值 list[index]
列表中最后一个元素的位置是len(testlist) - 1
or testlist[-1]
以此类推,倒数第二个元素是testlist[-2]
1 | testlist |
追加 append(value)
1 | testlist |
插入 insert(index, value)
1 | testlist |
删除末尾及指定位置的元素 pop(index)
1 | testlist |
替换元素
1 | #直接覆盖 |
元组
单个元素的元组
1 | 'apple') testtuple = ( |
“可变元组”
一般情况下元组是不可变的数据结构,如果需要实现让元组可变,可以在元组中加入列表来实现
1 | 'iPhone', 'iPad', 'iMac'], 'Microsoft', 'Google') testtuple = ([ |
if判断语句
基础语法
1 | 100 results = |
简写
只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
1 | '' x = |
循环
for…in…
1 | 'iPhone', 'iPad', 'iMac'], 'Microsoft', 'Google') testtuple = ([ |
while
1 | 0 start = |
raw_input
num = raw_input('please input a num:')
字典
基础语法
1 | 'apple':'pages', 'microsoft':'word', 'google':'docs'} p = { |
检查元素是否包含在字典中
1 | >>> p = {'apple':'pages', 'microsoft':'word', 'google':'docs'} |
1 | #查找不到元素会返回None空 |
删除一个key
1 | 'google') p.pop( |
in关键字
1 | #判断一个元素是否包含在一个字典中 |
集合
- 可变集合(set)
- 不可变集合(frozenset)
集合的基本使用
1 | 1, 2, 3]) s = set([ |
集合中的元素不能重复,集合会自动过滤掉重复的元素
1 | 4) s.add( |
删除集合中的元素
1 | >>> s.remove(2) |
交集与并集
1 | 1, 2, 3]) s1 = set([ |
子集(真子集)超集(真超集)
子集包含集合本身,真子集不包含本身!如(1,2)的子集有:空集,(1),(2),(1,2).而真子集有:空集,(1),(2)没有(12)
1 | #子集(<=) 真子集(<) |
异或
1 | s1 |
差补/相对补集
1 | s1 |
集合的应用: 去重
强制类型转换
字典
字典 2 字符串
1 | 'a':1, 'b':2} d = { |
字典 2 元组
1 | 'a':1, 'b':2} d = { |
字典 2 列表
1 | 'a':1, 'b':2} d = { |
元组
元组 2 字符串
1 | 1, 2, 3) t = ( |
元组 2 列表
1 | 1, 2, 3) t = ( |
元组 2 集合
1 | 1, 2, 3) t = ( |
元组不能转成字典
列表
列表 2 字符串
1 | 1, 2, 3] l = [ |
列表 2 元组
1 | 1, 2, 3] l = [ |
列表 2 集合
1 | 1, 2, 3] l = [ |
列表不能转成字典
字符串
字符串 2 列表
1 | "[[1,2], [3,4], [5,6], [7,8], [9,0]]" s = |
字符串 2 字典
1 | "{1: 'a', 2: 'b'}" s = |
字符串 2 元组
1 | "([1,2], [3,4], [5,6], [7,8], (9,0))" s = |
字符串 2 集合
1 | "test" s = |