python介绍
- 解释型、面向对象的语言,1991正式公布
- 特点:
- 可读性强
- 语法简洁(由C开发)
- 面向对象
- 免费和开源
- 可移植性和跨平台
- 应用范围:
- 科学计算
- 人工智能
- web服务器端和大型网站后端
- GUI开发(图形用户界面)
- 游戏开发
- 移动设备
- 嵌入式设备
- 系统运维
- 大数据
- 云计算
- 缺点:
- python解释型语言,性能低(解释器越来越快)
- python2停止更新,[2,3]不兼容
- 解释器
- python程序执行依赖于解释器(主要是cpython)
python开发环境
- IDLE
- Pycharm
- wingIDE
- Eclipse
- Ipython
图形化程序设计
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| """画笔运动命令"""
t.left(degree) t.right(degree) t.pendown() t.penup() t.circle(半径,degree) t.goto(x,y) t.forward(distance) t.backward(distance) home() seth(degree)
"""画笔控制命令""" t.fillcolor('color') t.color(color1,color2) t.filling() t.begin_fill() t.end_fill() t.hideturtle() t.showturtle() ```
1. python程序由模块组成,一个模块对应python源文件,对应后缀.py 2. 模块由语句组成,程序依次执行 3. 一般4空格缩进,不强制空格数 4. `\`行连接符,使代码更加美观 5. python中一切皆对象,`对象本质就是:一个内存块,拥有特定值,支持特定类型的相关操作` - 车位表示内存,id(标识identity)表示车位编号,车位停的什么车类型(type),详细车牌号表示值(value) - id()内存地址,type()类型,print()值 - 赋给变量(对象引用)的是内存地址(对象) 6. 引用 - 变量位于 : 栈内存 - 对象位于 : 堆内存(id,type,value) 7. 标识符: 用于变量、函数、类、模块等名称 8. 赋值 - `链式赋值`用于对同一个对象进行多变量赋值 x=y=12 --> x=12,y=12 - `系列解包赋值` a,b,c = 1,2,3 --> a=1,b=2,c=3 | a,b = b,a - `常量`没有语法来限制改变常量值,可以改变 9. 循环性能优化 - 尽量减少循环内部不必要计算,往外层放 - 尽量使用局部变量查询较快 - 连接字符串使用join,不使用+(产生新的字符串对象) - 列表操作(删除,插入)尽量在尾部,容易导致后面数据变动 10. zip()并行迭代 ```python names=['a','b','c'] ages=[1,2,3,4] jobs=['好','事','情'] for i,k,j in zip(names,ages,jobs): print('{0}--{1}--{2}'.format(i,j,k))
|
- 推导式
- 列表推导式:
[表达式 for item in 可迭代对象 if 条件判断]
如: [x**2 for x in range(1,5) if x%5==0]
#得到嵌套循环实现的(x,y)
[(row,col) for row in range(3) for col in range(3)]
- 字典推导式
{c:mytest.count(c) for c in mytest} #统计每个字符的出现字数
- 集合推导式
相当于用花括号的列表
- 生成器推导式(生成元组)
(x**2 for x in range(1,5) if x%5==0) — <得到生成器对象,可迭代对象>
#一个生成器只能运行一次,第一次遍历得到数据,第二次遍历没有数据了