本文爲參加老男孩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=111
和x="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變量
一、變量定義的規則:
有效 標識符名稱的例子有i
、__my_name
、name_23
和a1b2_c3
。
2things
、this is spaced out
和my-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級地區爲菜單。
(本節完)