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二次開發
html

  • 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次
相關文章
相關標籤/搜索