day01 初識Python

Python是什麼:python

  首先,Python 是一門編程語言。這裏是Python 的官網: https://www.python.org程序員

  下面是維基百科的解釋:web

  Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/),是一種面向對象、直譯式的計算機程序語言,具備近二十年的發展歷史。它包含了一組功能完備的標準庫,可以輕鬆完成不少常見的任務。它的語法簡單,與其它大多數程序設計語言使用大括號不同,它使用縮進來定義語句塊。shell

  與Scheme、Ruby、Perl、Tcl等動態語言同樣,Python具有垃圾回收功能,可以自動管理內存使用。它常常被看成腳本語言用於處理系統管理任務和網絡程序編寫,然而它也很是適合完成各類高級任務。Python虛擬機自己幾乎能夠在全部的做業系統中運行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具能夠將Python源代碼轉換成能夠脫離Python解釋器運行的程序。編程

  Python的官方解釋器是CPython,該解釋器用C語言編寫,是一個由社區驅動的自由軟件,目前由Python軟件基金會管理。服務器

  Python支持命令式程序設計、面向對象程序設計、函數式編程、面向側面的程序設計、泛型編程多種編程範式。網絡

 

Python能夠幹什麼:併發

  Web程序
  Python常常被用於Web開發。好比,經過mod_wsgi模塊,Apache能夠運行用Python編寫的Web程序。使用Python語言編寫的Gunicorn做爲Web服務器,也可以運行Python語言編寫的Web程序。Python定義了WSGI標準應用接口來協調Http服務器與基於Python的Web程序之間的溝通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可讓程序員輕鬆地開發和管理複雜的Web程序。框架

  Python對於各類網絡協議的支持很完善,所以常常被用於編寫服務器軟件、網絡蠕蟲。第三方庫Twisted支持異步在線編寫程序和多數標準的網絡協議(包含客戶端和服務器),而且提供了多種工具,被普遍用於編寫高性能的服務器軟件。另有gevent這個流行的第三方庫,一樣可以支持高性能高併發的網絡開發。異步

  GUI開發
  Python自己包含的Tkinter庫可以支持簡單的GUI開發。可是愈來愈多的Python程序員選擇wxPython或者PyQt等GUI包來開發跨平臺的桌面軟件。使用它們開發的桌面軟件運行速度快,與用戶的桌面環境相契合。經過PyInstaller還能將程序發佈爲獨立的安裝程序包。

  操做系統
  在不少操做系統裏,Python是標準的系統組件。大多數Linux發行版和Mac OS X都集成了Python,能夠在終端機下直接運行Python。有一些Linux發行版的安裝器使用Python語言編寫,好比Ubuntu的Ubiquity安裝器、Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage軟件包管理系統。Python標準庫包含了多個調用做業系統功能的庫。經過pywin32這個第三方軟件包,Python可以訪問Windows的COM服務及其它Windows API。使用IronPython,Python程序可以直接調用.Net Framework。

  其餘
  NumPy、SciPy、Matplotlib可讓Python程序員編寫科學計算程序。有些公司會使用Scons代替make構建C++程序。

  不少遊戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫遊戲的邏輯、服務器。相較於Python,Lua的功能更簡單、體積更小;而Python則支持更多的特性和數據類型。不少遊戲,如EVE Online使用Python來處理遊戲中繁多的邏輯。

  YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。OLPC的做業系統Sugar項目的大多數軟件都是使用Python編寫。

 

聲明:

 1  從這裏開始,下面及之後全部的程序都在python3 的環境中編寫並運行,不考慮兼容2.x 版本的python

 2  博主假定你們已經部署完python3並安裝好了Pycharm 

 

Python 的註釋:

  python 使用 # 來註釋單 這點和shell 同樣

             使用 ''' '''  來註釋多行代碼

 

Python 的變量名稱注意事項:

 1 變量的第一個字符不能爲數字

 2 變量不能使用如下關鍵字

   

1  ['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']

 

 

Hello world:

1 print("Hello World!")

輸入:

name = input("your nanme: ")
print("hello ",name)

判斷:

1 valid_name = "yang"
2 input_name = input("your nanme: ")
3 print("hello ",input_name)
4 if input_name == valid_name:
5     print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
6 else:
7     print("Invalid name")

多種結果的判斷:

valid_name = "yang"
valid_name2 = "lu"
input_name = input("your nanme: ")
print("hello ",input_name)
if input_name == valid_name:
    print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
elif input_name == valid_name2:
    print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
else:
    print("Invalid name")

while循環:

valid_name = "yang"
valid_name2 = "lu"
while True:
    input_name = input("your nanme: ")
    print("hello ",input_name)
    if input_name == valid_name:
        print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
    elif input_name == valid_name2:
        print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
    else:
       print("Invalid name")

while 條件循環:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 count = 0
 4 while count < 3:
 5     input_name = input("your nanme: ")
 6     print("hello ",input_name)
 7     if input_name == valid_name:
 8         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 9     elif input_name == valid_name2:
10         print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
11     else:
12        print("Invalid name")
13     count += 1  # count = count + 1

while 跳出循環:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 count = 0
 4 while count < 3:
 5     input_name = input("your nanme: ")
 6     print("hello ",input_name)
 7     if input_name == valid_name:
 8         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 9         break
10     elif input_name == valid_name2:
11         print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
12         break
13     else:
14        print("Invalid name")
15     count += 1  # count = count + 1

for 循環:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 for i in range(3):
 4     input_name = input("your nanme: ")
 5     print("hello ", input_name)
 6     if input_name == valid_name:
 7         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 8         break
 9     elif input_name == valid_name2:
10         ("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
11         break
12 else:
13     print("Invalid name")

for 跳出循環:

  同while

 

跳出本次循環:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 for i in range(3):
 4     input_name = input("your nanme: ")
 5     print("hello ", input_name)
 6     if input_name == valid_name:
 7         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 8         continue
 9     elif input_name == valid_name2:
10         ("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
11         continue
12 else:
13     print("Invalid name")

跳出多層循環:

python 不能夠跳出多級循環,所以須要加一個計數器,在子循環中來改變這個計數器達到父循環跳出的目的

 1 count = 0
 2 for i in range(10):
 3     print("this is i___{_i} ".format(_i=i))
 4     for b in range(10):
 5         print("this is b____{_b} ".format(_b=b))
 6         if b == 6:
 7             count = 1
 8             break
 9     if count == 1:
10         break

 

模塊:

  python 的模塊相似於shell 中的一個函數,能夠導入使用,python 官方自帶了不少庫,固然第三方庫更豐富一些。

  使用官方的密碼庫來讓密碼輸入不可見:

1 #!/usr/bin/env python3
2 
3 import getpass
4 
5 username = input("username: ")
6 passwd = getpass.getpass("passwd: ")
7 
8 print(username,"-----  heh =-----",passwd)
相關文章
相關標籤/搜索