WEEK1:介绍、基本语法、流程控制

  • python擅长的领域
  ◇ web开发:Django\pyramid\Tornado\Bottle\Flask\WebPy
  ◇ 网络编程:Twisted\Requests\Scrapy\Paramiko
  ◇ 科学运算:SciPy\Pandas\Ipython
  ◇ GUI图形开发:wxPython\PyQT\Kivy
  ◇ 运维自动化:OpenStack\SaltStack\Ansible\腾讯蓝鲸

• 运维会了开发后可以干什么
  ◇ 帮助公司开发各种自动化工具,定制开发各种开源软件
  ◇ 帮助评估和优化业务技术架构
  ◇ 开发公司的内部办公系统、CRM、网站等
  ◇ 做个全栈工程师,全栈就是指什么都能做的样子

• 学习时间(7个月,每周1天)
  ◇ 前戏阶段--疗程1:语言基础(5-6周)
    ▪ 数据类型
    ▪ 流程控制
    ▪ 常用模块
    ▪ 函数、迭代器、装饰器
    ▪ 递归、迭代、反射
    ▪ 面向对象编程
    ▪ 购物车程序
    ▪ ATM信用卡程序开发
    ▪ 计算器程序开发
    ▪ 模拟人生游戏开发

  ◇ 轻撸怡情--疗程2:网络编程(4-5周)
    ▪ Socket c/s编程、Twisted异步网络架构、网络爬虫开发
    ▪ 多线程、多进程、协程gevent、select\poll\epoll
    ▪ 生产者消费者模型
    ▪ 审计堡垒机系统开发
    ▪ FTP服务器开发
    ▪ 批量命令、文件分布工具
    ▪ RabbitMQ消息队列、SqlAlchemy ORM
    ▪ 类SaltStack配置管理工具开发
    ▪ Reids\MemCache\MongoDB缓存数据库

  ◇ 重则伤身--疗程3:web开发基础(3-4周)
    ▪ html/CSS基础
    ▪ Dom编程
    ▪ 原生JS学习
    ▪ Jquery/EasyUi/AngulaJS
    ▪ Ajax异步加载
    ▪ Highchart画图
    ▪ Bootstrap

  ◇ 继续伤身--疗程4:算法&设计模式(2周)
    ▪ 冒泡、二叉树、哈希、折半等常见算法学习
    ▪ 工厂模式、单例模式、享元模式、代理模式等常用设计模式学习

  ◇ 灰飞烟灭--疗程5:PY WEB框架(5周)
    ▪ MVC架构讲解
    ▪ 自行开发一个WEB框架
    ▪ Django\Tornado\Flask\Bottle\WebPy框架学习
    ▪ Session\中间件\ORM\Cookie\CSRF\FORM...
    ▪ Restful API框架
    ▪ 权限管理后台开发
    ▪ 开发BBS论坛
    ▪ 开发WEB聊天室

  ◇ 放弃治疗--疗程6:项目实战篇(8周)
    ▪ 购物商城开发
    ▪ 主机管理+任务编排+运维审计堡垒机开发
    ▪ 分布式类Nagios/Zabbix监控产品开发
    ▪ CMDB资产管理开发
    ▪ 基于用户视角的网站访问质量检测分析平台开发
    ▪ Docker自动化管理平台开发
    ▪ Openstack二次开发

  • Python介绍
    • PyPy的目标是执行速度,显著提高Python代码的执行速度
    • 最广泛使用的是Cpython
    • Linux下声明解释器   #!/usr/bin/env python (最好用这个) 或者 #!/usr/bin/python

  • 编码的发展
    • ASCII 255个 1bytes表示一个字符
    • 1980年,GB2312,7445个字符(6763个汉字+682个符号)
    • 1995年,GBK1.0,21886个符号
    • 2000年,GB18030,27484个汉字,pc平台必须支持,对嵌入式平台不做要求
    • Unicode,万国码,2字节
    • utf-8,基于Unicode,但是可变长度,en 1byte,zh 3byte,在python中使用utf-8编发,# -*- coding:utf-8 -*-

  • 注释:单行注释 #.....    
               多行注释 ''' ...... ''' 或者 """ ...... """

  • 两则练习
    • 输入密码时不显示明文
      1 import getpass
      2 password=getpass.getpass("password:")
      3 #这个在pycharm中运行会出现问题,使用命令行运行脚本
    • 猜年龄
      #猜3次之后询问是否继续猜年龄,n为结束,否则继续猜
      age_of_oldboy=53
      count=0 #计数器
      while count<3:
          guess_age=int(input("guest age:"))
          if guess_age==age_of_oldboy:
              print("yes,you get it")
              break
          elif guess_age>age_of_oldboy:
              print("think smaller...")
          else:
              print("think bigger!")
          count+=1
          if count==3:
              countine_confirm=input("do you want to keep guessing...")
              if countine_confirm!="n":
                  count=0 #继续猜,需要将计数器重置为0,然后接着猜下面3次

       

posted @ 2019-05-07 20:52  飞琼君  阅读(242)  评论(0编辑  收藏  举报