1. Python开发环境
- Mac OS 安装Python:
todo
运行Python 2.x版本:
python
运行Python 3.x版本:python3
-
包管理工具pip,用于安装第三方模块:
Python 2.x版本对应pip
Python 3.x版本对应pip3
pip install Pillow
-
当我们在命令行运行模块文件时,Python解释器把一个特殊变量
__name__
置为__main__
:if __name__=='__main__': test()
2. 数据类型
-
list
是一种有序的集合classmates = ['Michael', 'Bob', 'Tracy']
-
tuple
为有序列表,一旦初始化就不能修改t = (1, 2)
- Python内置了字典:
dict
,使用键-值(key-value)存储,具有极快的查找速度d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
3. 内置方法
- Python 3.5内置函数:Built-in Functions
4. class
在类中定义的函数只有一点不同,就是第一个参数永远是实例变量
self
,并且,调用时,不用传递该参数在Python中,实例的变量名如果以
__
开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问-
类继承
class Animal(object): def run(self): print('Animal is running...') #编写Dog和Cat类时,就可以直接从Animal类继承 class Dog(Animal): pass class Cat(Animal): pass
-
实例属性和类属性
#直接在class中定义属性,这种属性是类属性,归Student类所有 class Student(object): name = 'Student'
5. 注释
- 单行注释:
#单行注释
多行注释:
'''
这是
多行
注释
'''
6. 字符串相关
- 字符串格式化
todo
7. 异常处理
-
异常处理
try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivisionError as e: print('except:', e) finally: print('finally...') print('END')
抛出错误:
todo
raise ValueError('invalid value: %s' % s)
8. 文件读写
-
读写文件:
将小文件一次性读取到内存中:
Python引入了try: f = open('/path/to/file', 'r') print(f.read()) finally: if f: f.close()
with
语句来自动帮我们调用close()
方法with open('/path/to/file', 'r') as f: print(f.read())
写文件也是类似的:
with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
调用
open()
函数时,传入标识符'w'
或者'wb'
表示写文本文件或写二进制文件
-
文件与目录:
操作文件和目录的函数一部分放在os
模块中,一部分放在os.path
模块中import os # 查看当前目录的绝对路径: os.path.abspath('.')
9. 列表生成式
List Comprehensions
,是Python内置的非常简单却强大的可以用来创建list的生成式
'''
生成[1x1, 2x2, 3x3, ..., 10x10]
写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来
'''
[x * x for x in range(1, 11)]
#for循环后面还可以加上if判断
[x * x for x in range(1, 11) if x % 2 == 0]
#还可以使用两层循环,可以生成全排列
[m + n for m in 'ABC' for n in 'XYZ']