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

"""画笔运动命令"""

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()值
  • 赋给变量(对象引用)的是内存地址(对象)
  1. 引用
  • 变量位于 : 栈内存
  • 对象位于 : 堆内存(id,type,value)
  1. 标识符: 用于变量、函数、类、模块等名称
  2. 赋值
  • 链式赋值用于对同一个对象进行多变量赋值 x=y=12 --> x=12,y=12
  • 系列解包赋值 a,b,c = 1,2,3 --> a=1,b=2,c=3 | a,b = b,a
  • 常量没有语法来限制改变常量值,可以改变
  1. 循环性能优化
  • 尽量减少循环内部不必要计算,往外层放
  • 尽量使用局部变量查询较快
  • 连接字符串使用join,不使用+(产生新的字符串对象)
  • 列表操作(删除,插入)尽量在尾部,容易导致后面数据变动
  1. 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))

  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© for c in mytest} #统计每个字符的出现字数
  • 集合推导式
    相当于用花括号的列表
  • 生成器推导式(生成元组)
    (x**2 for x in range(1,5) if x%5==0) — <得到生成器对象,可迭代对象>
    #一个生成器只能运行一次,第一次遍历得到数据,第二次遍历没有数据了

你可能感兴趣的:(python基础)