python基础

python介绍

  • 解释型、面向对象的语言,1991正式公布
  • 特点:
    • 可读性强
    • 语法简洁(由C开发)
    • 面向对象
    • 免费和开源
    • 可移植性和跨平台
  • 应用范围:
    • 科学计算
    • 人工智能
    • web服务器端和大型网站后端
    • GUI开发(图形用户界面)
    • 游戏开发
    • 移动设备
    • 嵌入式设备
    • 系统运维
    • 大数据
    • 云计算
  • 缺点:
    • python解释型语言,性能低(解释器越来越快)
    • python2停止更新,[2,3]不兼容
  • 解释器
    • python程序执行依赖于解释器(主要是cpython)

python开发环境

  1. IDLE
  2. Pycharm
  3. wingIDE
  4. Eclipse
  5. Ipython

图形化程序设计

  • turtle模块语法 as t
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) #同时设置pencolor、fillcolor
t.filling() #返回是否处于填充状态
t.begin_fill() #开始填充图形
t.end_fill() #填充完成
t.hideturtle() #隐藏画笔turtle形状
t.showturtle() #显示画笔turtle形状
```
### python基本知识
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))
  1. 推导式
  • 列表推导式:
    [表达式 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) — <得到生成器对象,可迭代对象>
    #一个生成器只能运行一次,第一次遍历得到数据,第二次遍历没有数据了
文章目录
  1. 1. python介绍
  2. 2. python开发环境
  3. 3. 图形化程序设计
,