Python自動化運維課程學習--Day1

  本文爲參加老男孩Python自動化運維課程第一天學習內容的總結。python

大體內容以下:編程

  Python介紹vim

      第一個Python程序: Hello World運維

      Python變量編程語言

      用戶交互(用戶輸入、輸出)ide

      流程控制:條件語句(if/elif/else)、循環語句(for/while/break/continue)函數

1、Python語言介紹:oop

     一、Python語言定義:學習

    1)Python是解釋型語言:這就是說,與C語言和C的衍生語言不一樣,Python代碼在運行以前不須要編譯;ui

         2)Python是動態類型語言:指的是你在聲明變量時,不須要說明變量的類型。你能夠直接編寫相似x=111x="I'm a string"這樣的代碼,程序不會報錯。

         3)Python是強類型定義語言:在使用變量前,必須先定義。

         Python由Guido van Rossum於1989聖誕期間開發,首個正式版本Python編譯器誕生於1991年。現已成爲主流的編程語言之一。

     二、應用領域:主要應用於雲計算、WEB開發、科學去處和數據分析、人工智能、金融、系統運維、圖形GUI等方面。

     三、Python的優缺點:

    優勢:簡單、明確、優雅;開發效率高;可移植性強;可擴展性;可嵌入性。

           缺點:比C語言/JAVA執行速度慢(PyPy解釋器的執行速度有時比C還快);代碼不能加密(解釋型語言);線程不能利用多CPU問題。

      四、Python的解釋器:Python解釋器有不少,如CPython、IPython、PyPy、Jython、IronPython等,但使用最普遍的仍是CPython。

2、關於本文中全部運行Python代碼的環境:

   --操做系統:Ubuntu 16.10 (Linux 4.8.0)

      

   --Python版本:3.5.2

      

   --Python IDE: PyCharm 2016.3.2

      

3、第一個程序:Hello World

        經過vim/vi命令新建一個Python File,命令爲「HelloWorld.py」 ,  vim HelloWorld.py 。

   在HelloWorld.py中輸入正面的內容:

#!/usr/bin/python3.5                     # 告訴Linux系統,要經過/usr/bin/python3.5解釋器來執行正面的代碼
# -*- coding: utf-8 -*-           # Python2中必須添加這個一行,告訴Python解釋器,要以UTF-8的編碼形式執行正面的代碼;Python3中默認UTF-8,能夠不用添加本行。
# Author: Spencer Jiang           # 做者

print("Hello, World!")           # 打印Hello, World!

  兩種運行方式:

    1)、給HelloWorld.py賦可執行權限,而後執行: chmod 755 HelloWorld.py

> chmod 755 HelloWorld.py
> ./HelloWorld.py

    

    2)、直接經過Python執行:python安裝路徑

> /usr/bin/python3.5 HelloWorld.py

    

 

3、Python變量

  一、變量定義的規則:

      • 變量名只能是 字母、數字或下劃線的任意組合
      • 變量名的第一個字符不能是數字
      • 如下關鍵字不能聲明爲變量名
        ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
      • 有效 標識符名稱的例子有i__my_namename_23a1b2_c3

      • 無效 標識符名稱的例子有2thingsthis is spaced outmy-name

  二、變量賦值:經過一個等號給變量賦值

     示例: name = "Spencer Jiang"

     也能夠在一行能多個變量進行賦值。如: 

a, b = 3, "jmw"
print(a, b)
print(type(b), type(a))

######### 下面爲輸出結果:
3 jmw
<class 'str'> <class 'int'>

  

4、用戶交互 與 格式化輸出:

      用戶輸入 Python3用input()函數就行了, Pyhton2有點兒複雜先不去學。

   input()函數能接收從用戶輸入的任務字符,並以字符串類型返回用戶輸入的字符。

  示例1(UserInput.py): name = input("Please input your name: ")   

               age = int(input("Please input you age: "))    # 將用戶輸入的字符轉換成int類型,再賦值給變量 age。

#!/usr/bin/python3.5
# -*- coding:utf-8 -*-
# Author: Spencer Jiang

name = input("Please input your name: ")

age = int(input("Please input you age: "))

print("Your Name: %s, Your Age: %d" % (name, age))

  

   示例2: 用戶名、密碼的輸入,經過getpass模塊,將密碼隱藏顯示。(HidePassword.py)  

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
# Author: Spencer Jiang

import getpass
username = input("Please input your username: ")

password = getpass.getpass("Please input your password: ")

print(username, password)

    

     格式化輸出

    1)、print()函數中添加%號來格式化輸出。

      輸出字符串:%s ,輸出數值 %d, 輸出浮點數%f等, 示例:

#!/usr/bin/python3.5
# -*- coding:utf-8 -*-
# Function : The format output
# Date : 2017-02-10
# Author : Spencer Jiang

username = "Spencer Jiang"
age = 45
salary = 231.32

print("Your name is : %s " % username)
print("Your age is : %d " % age)
print("Your salary is : %f " % salary)
print("Your salary2f is : %.2f " % salary)            # 保留2位小數

  

 

    2)、 經過format()函數進行格式化輸出。

#!/usr/bin/python3.5
# -*- coding:utf-8 -*-
# Function : The format output
# Date : 2017-02-10
# Author : Spencer Jiang

username = "Spencer Jiang"
age = 45
job = "IT Service"
salary = 231.32

info = '''
Name: {_username}
Age: {_age}
Job: {_job}
Salary: {_salary}
'''.format(_username = username, _age = age, _job = job, _salary = salary)

print(info)

  

 

5、流程控制:條件判斷語句(if/elif/else):

  每一個條件後面都以冒號結束,換行(條件爲真時要執行的代碼,以縮進做爲代碼塊標誌,python官方建議縮進4個空格)

      示例1:猜年齡(數字)遊戲(GuessAge.py)。

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
# Author: Spencer Jiang

age_of_spencer = 65         #先設定的年齡的數值
guess_age = int(input("guess an age: "))

if guess_age == age_of_spencer :
    print("Yes, You got it!")
elif guess_age > age_of_spencer :
    print("No, your number is a litter bigger")
else:
    print("No, your number is a litter smaller")

  

6、流程控制:for循環(for x in range(10))、break、continue、pass:

   當知足循環條件時,執行循環語句塊的代碼,當不知足循環條件時,循環語句就結束。

   for/while 循環外也能夠跟一個else。

   break: 當執行break時,就結束整個循環;

   continue: 當執行continue,就結束本次循環,直接進行下次循環。

       pass: 表示點位符,什麼都不執行,防止程序報錯。

         示例1:輸出0到15中的二、四、六、8等4個數字(PrintNumber.py)。

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
# Author: Spencer Jiang

for i in range(0,15,2):
    if i == 0 :                                  # 跳過 0 這個數字
        continue
    if i > 9 :                     # 大於9 就退出循環
        break
    else:
        print(i)

  

 7、流程控制:while循環、break、continue、pass(與for循環相似)

  while 循環,須要有一個計數器,或者在循環語句塊中有終止while條件的語句,不然會一直運行下去。

      示例1(WhileLoop.py): 打印0~9數字

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
# Author: Spencer Jiang

count = 0          # 計數器

while True :
    print(count)
    count = count + 1
    if count > 9 :
        break

  

  示例2(GuessAgeWhile.py):猜年齡(數字): 只能猜3次機會。  

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
# Author: Spencer Jiang

age_of_spencer = 65

count = 0

while count < 3 :
    guess_age = int(input("guess an age: "))
    if guess_age == age_of_spencer :
        print("Yes, You got it!")
        break
    elif guess_age > age_of_spencer :
        print("No, your number is a litter bigger")
    else:
        print("No, your number is a litter smaller")
    count += 1
else:
    print("You guess to much times!!!")

  

  

    示例2,每猜3次不正確後,彈出提示,看用戶是否還要繼續猜下去。若是用戶輸入的是「n"就表示中止。

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-
# Author: Spencer Jiang

age_of_spencer = 65

count = 0

while count < 3 :
    guess_age = int(input("guess an age: "))
    if guess_age == age_of_spencer :
        print("Yes, You got it!")
        break
    elif guess_age > age_of_spencer :
        print("No, your number is a litter bigger")
    else:
        print("No, your number is a litter smaller")
    count += 1
    if count == 3 :
        continue_confirm = input("Do you want to continue to guess?")
        if continue_confirm != 'n' :
            count = 0
else:
    print("You guess to much times!!!")

  

8、 Python代碼註釋: 

  #          單行註釋用 井號「#」 開頭

   ''' 或者 """      多行註釋採用3對單引號或3對雙引號將要註釋的行包圍進來。

       同時3對引號,也能夠表示對字符串的賦值(段落文字),如:

info = """ your information :
name : jmw
age : 32
"""    

9、做業:

  一、模擬用戶登陸接口:1)由用戶輸入用戶名、密碼;2)登陸成功,則顯示歡迎信息;3)登陸失敗超過3次就要鎖定帳號。

      二、三級菜單:省、市、縣3級地區爲菜單。

(本節完)

相關文章
相關標籤/搜索