第一週:初識python

Python涉及不少領域,包括如下方面:python

 一、WEB開發——python有許多優秀的WEB框架,許多的大型網站均是用python開發的,Youtube,豆瓣、知乎、春雨醫生等等,其典型的WEB框架有Django、flash等。linux

二、網絡編程——Python能夠很是方便的完成網絡編程的工做,提供了衆多的解決方案和模版,能夠很是方便的製做出本身的服務器軟件,不管是B/S,仍是C/S模式,都有很好的解決方法。android

三、科學運算——python有許多模塊能夠幫助人們在就算巨型數組、矢量分析、神經網絡等方面高效完成工做,具備本身獨特的優點。正則表達式

四、GUI圖形開發——python能夠很是方便的實現GUI編程,經過TKinter、wxPython、OT等模塊,就能夠根據須要編寫出強大的跨平臺的用戶界面程序。算法

五、運維自動化——OpenStack\SaltStack\騰訊藍鯨等。數據庫

固然python所涉及的領域遠不止這些,還有遊戲編程、雲計算等方面。編程

python的特色以及優缺點數組

python是一種面向對象的解釋型計算機程序設計語言,是一門動態解釋型的強類型定義語言。它具備簡潔性、易讀性、可擴展性、豐富的庫等特色。瀏覽器

優勢:ruby

簡單——python是一種表明簡單思想主義的語言。閱讀一個良好的python程序就想是在閱讀英語同樣,固然,要求是會很是嚴格的。Python這種僞代碼本質是它最大的優勢之一。它使你可以專一於解決問題而不是去搞明白語言自己。

易學——python很是容易上手,它的語法很簡單。

免費、開源——python是FLOSS(自由/開放源碼軟件)之一。換言之,你能夠自由地發佈這個軟件的拷貝、閱讀它的源代碼、對它作改動、把它的一部分用於新的自由軟件中。這也是python如此優秀的緣由之一——由一羣但願看到一個更加優秀的python的人創造而且常常進行改進。

高層語言——使用python時,無需考慮諸如如何管理你的程序使用的內存一類的底層細節。

可移植性——因爲它的開源本質,python已經被移植在許多的平臺上(通過改動可使它工做在不一樣平臺上)。python程序無需修改就能夠運行在如下平臺上:Linux、Windows、FreeBSD、Macintosh、Solaris、OS/二、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC、Symbian以及Google基於linux開發的android平臺。

解釋性——一個編譯性語言如C或C++寫的程序能夠從源文件(即C或C++)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程經過編譯器和不一樣的標記、選項完成。當運行程序時,鏈接/轉載器軟件把你的程序從硬盤複製到內存中而且運行。二python語言寫的程序不須要編譯成二進制代碼。你能夠直接從源代碼運行程序。在計算機內部,python解釋器把源代碼轉換成爲字節碼的中間形式,而後再把它翻譯成計算機使用的機器語言並運行。因爲無需考慮如何編譯程序,如何確保鏈接正確的庫等等,這一切使得使用python更加簡單。因此,因爲只須要把你的python程序拷貝到另一臺計算機上面,就能夠工做,這也使得python程序更加容易移植。

面向對象——python既支持面向過程的編程也支持面向對象的編程。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在面向「對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。與其餘主要的語言如C++和JAVA相比,python以一種很是強大又簡單的方式實現面向對象編程。

可擴展性——若須要一段關鍵代碼運行得更快或者但願某些算法不公開,能夠把部分程序用C或者C++編寫,而後在python程序中使用。

可嵌入性——能夠把python嵌入C/C++程序中,從而向程序用戶提供腳本功能。

豐富的庫——python標準庫確實龐大。它能夠幫助你處理各類工做,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI、Tk和其餘與系統有關的操做。只要安裝了python,全部的功能都是可使用的。除了標準庫之外,還有許多其餘高質量的庫,如wxPython、Twisted和Python圖像庫等。

歸納——它合理地結合了高性能與使得編程簡單有的特點。

規範的代碼——python採用強制縮進的方式使得代碼具備極佳的可讀性。

缺點

速度慢——運行速度相較於其餘語言比較慢。可是對於用戶來講,機器上運行的速度是能夠忽略的,由於用戶根本感受不到這種速度的差別。

架構選擇太多——沒有像C#這樣的官方.net架構,也沒有像ruby因爲歷史短,架構開發的相對集中。

變量

(1)變量的命名規則:

        1)變量名長度不受限制,可是隻能是數字、字母、下劃線,而不能使用空格、連字符、標點符號、引號或者其餘字符,而且不能以數字開頭。

        2)變量名區分大小寫

        3)不能將python關鍵字用做變量名,包括and、as、assert、break、class、continue、         def、elif、else、except、exec、finally、for、from、global、if、import、in 、     is、lambda、not、or、pass、print、return、try、while、yield等。

    注意:一、變量的命名儘可能見名知意;

               二、通常不使用中文變量名(拼音也不推薦);

               三、變量名爲大寫通常表示常量。

用戶交互

用戶進行輸入使用input(「內容」),並對輸入的內容進行格式化的輸出。當輸入密碼要進行加密時使用getpass,用法psw=getpass.getpass("密碼:"),固然,使用前要import getpass。三個單引號或者三個雙引號包含的內容能夠多行是註釋也能夠是多行打印。

交互、輸出格式化方法一
# name = input("name:")
# age = input("age:")
# job = input("job:")
# salary = input("salary:")
# info = '''
# ~~~~~~~~~info of %s~~~~~~~
# Name:%s
# Age:%s
# Job:%s
# Salary:%s
# '''%(name,name,age,job,salary)
# print(info)
#交互方法二
# name = input("name:")
# age = int(input("age:"))
# print(type(age))
# job = input("job:")
# salary = input("salary:")
# info = '''
# ~~~~~~~~info of{_name}~~~~~~~~~
# Name:{_name}
# age:{_age}
# job:{_job}
# salary:{_salary}
# '''.format(_name=name,_age=age,_job=job,_salary=salary)
# print(info)
#交互方法三
name = input("name:")
age = int(input("age:"))
print(type(age))
job = input("job:")
salary = input("salary:")
info = '''
~~~~~~~~info of{0}~~~~~~~~~
Name:{0}
age:{1}
job:{2}
salary:{3}
'''.format(name,age,job,salary)
print(info)

循環
while循環的使用:
count = 0
while count < 3:
age_of_boy = 56
guess_age = int(input ("guess_age:"))
if guess_age == age_of_boy:
print("you get it!")
break
elif guess_age > age_of_boy:
print("think smaller!")
else:
print("think bigger!")
count+=1
else:
print("you have tried too many times!")


注意:while在python中的使用有別與其餘的語言的一點是它能夠與else搭配使用,有點if_else的感受。

for的使用:
# for i in range(10):  #1到10的循環,默認從0開始;range(1,10)表示1到10
# print("loop",i)
上述while中的例子用for循環的效果以下:
# age_of_boy = 56
# count = 0
# for count in range(3):
# guess_age = int(input("guess_age:"))
# if guess_age == age_of_boy:
# print("you get it!")
# break
# elif guess_age > age_of_boy:
# print("think smaller!")
# else:
# print("think bigger!")
# else:
# print("you have tired too many times....")


條件判斷if_else用法:
if 條件(包含兩個條件時中間用and或or鏈接) :print()
else:print()
代碼例子以下:
age_of_boy = 56
guess_age = int(input ("guess_age:"))
if guess_age == age_of_boy:
print("you get it!")
elif guess_age > age_of_boy:
print("think smaller!")
else:
print("think bigger")


注意:python代碼編寫是特別注重縮進編寫規範,好比代碼縮進等。

練習:猜年齡遊戲,最多猜三次退出。
#for的使用
age_of_boy = 56
 count = 0
 for count in range(3):
    guess_age = int(input("guess_age:"))
    if guess_age == age_of_boy:
        print("you get it!")
        break
     elif guess_age > age_of_boy:
        print("think smaller!")
      else:         print("think bigger!")
   else:
     print("you have tired too many times....")

#while的使用、

count = 0
while count < 3:
    age_of_boy = 56
    guess_age = int(input ("guess_age:"))
    if guess_age == age_of_boy:
        print("you get it!")
        break
    elif guess_age > age_of_boy:
        print("think smaller!")
    else:
        print("think bigger!")
    count+=1
else:
    print("you have tried too many times!")
相關文章
相關標籤/搜索