python介绍
- 解释型、面向对象的语言,1991正式公布
- 特点:
- 可读性强
- 语法简洁(由C开发)
- 面向对象
- 免费和开源
- 可移植性和跨平台
- 应用范围:
- 科学计算
- 人工智能
- web服务器端和大型网站后端
- GUI开发(图形用户界面)
- 游戏开发
- 移动设备
- 嵌入式设备
- 系统运维
- 大数据
- 云计算
- 缺点:
- python解释型语言,性能低(解释器越来越快)
- python2停止更新,[2,3]不兼容
- 解释器
- python程序执行依赖于解释器(主要是cpython)
python开发环境
- IDLE
- Pycharm
- wingIDE
- Eclipse
- Ipython
图形化程序设计
"""画笔运动命令"""
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()
python基本知识
- python程序由模块组成,一个模块对应python源文件,对应后缀.py
- 模块由语句组成,程序依次执行
- 一般4空格缩进,不强制空格数
\
行连接符,使代码更加美观- python中一切皆对象,
对象本质就是:一个内存块,拥有特定值,支持特定类型的相关操作
- 车位表示内存,id(标识identity)表示车位编号,车位停的什么车类型(type),详细车牌号表示值(value)
- id()内存地址,type()类型,print()值
- 赋给变量(对象引用)的是内存地址(对象)
- 引用
- 变量位于 : 栈内存
- 对象位于 : 堆内存(id,type,value)
- 标识符: 用于变量、函数、类、模块等名称
- 赋值
链式赋值
用于对同一个对象进行多变量赋值 x=y=12 --> x=12,y=12系列解包赋值
a,b,c = 1,2,3 --> a=1,b=2,c=3 | a,b = b,a常量
没有语法来限制改变常量值,可以改变
- 循环性能优化
- 尽量减少循环内部不必要计算,往外层放
- 尽量使用局部变量查询较快
- 连接字符串使用join,不使用+(产生新的字符串对象)
- 列表操作(删除,插入)尽量在尾部,容易导致后面数据变动
- zip()并行迭代
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© for c in mytest} #统计每个字符的出现字数 - 集合推导式
相当于用花括号的列表 - 生成器推导式(生成元组)
(x**2 for x in range(1,5) if x%5==0) — <得到生成器对象,可迭代对象>
#一个生成器只能运行一次,第一次遍历得到数据,第二次遍历没有数据了