python之路:Day01,python之路day01

來源:互聯網
上載者:User

python之路:Day01,python之路day01
本節內容

  1.Python介紹

  2.發展史

  3.變數

  4.使用者輸入

  5.運算式 if...else語句

  6.運算式 for 迴圈

  7.運算式 while 迴圈

  8.模組初識

  9.資料類型初識

  10.資料運算

一、Pyhon介紹  一、編譯型與解釋型語言

  編譯型語言是將來源程式翻譯成可執行檔目標代碼,翻譯與執行是分開的;而解釋型語言是對來源程式的翻譯與執行一次性完成,不產生可儲存的目標代   碼。這隻是表象,二者背後的最大區別是:對解釋型語言執行而言,程式運行時的控制權在解譯器而不在使用者程式;對編譯型語言執行而言,運行時的  控制權在使用者程式。

  從字面上看,“編譯”和“解釋”的確都有“翻譯”的意思,它們的區別則在於翻譯的時機安排不大一樣。打個比方:假如你打算閱讀一本外文書,而你不知  道這門外語,那麼你可以找一名翻譯,給他足夠的時間讓他從頭到尾把整本書翻譯好,然後把書的母語版交給你閱讀;或者,你也立刻讓這名翻譯輔助  你閱讀,讓他一句一句給你翻譯,如果你想往回看某個章節,他也得重新給你翻譯。

  兩種方式,前者就相當於我們剛才所說的編譯型:一次把所有的代碼轉換成機器語言,然後寫成可執行檔;而後者就相當於我們要說的解釋型。

  二、靜態語言與動態語言

  動態類型語言:動態類型語言是指在運行期間才去做資料類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變數指定資料類  型,該語言會在你第一次賦值給變數時,在內部將資料類型記錄下來。

  靜態類型語言:靜態類型語言與動態類型語言剛好相反,它的資料類型是在編譯其間檢查的,也就是說在寫程式時要聲明所有變數的資料類型

  綜合上述python是一門動態解釋型的語言。

二、Pyhon發展史

  1991年,第一個Python編譯器誕生。它是用C語言實現的,並能夠調用C語言的庫檔案。從一出生,Python已經具有了:類,函數,異常處理,包含  表和詞典在內的核心資料類型,以及模組為基礎的拓展系統

  Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.

  Python 2.0 - October 16, 2000,加入了記憶體回收機制,構成了現在Python語言架構的基礎

  Python 2.4 - November 30, 2004, 同年目前最流行的WEB架構Django 誕生

  Python 2.5 - September 19, 2006

  Python 2.6 - October 1, 2008

  Python 2.7 - July 3, 2010  python官方公布只支援到2020年  

  Python 3.0 - December 3, 2008

  Python 3.1 - June 27, 2009

  Python 3.2 - February 20, 2011

  Python 3.3 - September 29, 2012

  Python 3.4 - March 16, 2014

  Python 3.5 - September 13, 2015

  所以現在我所選擇用的是Python3.5,之後的所有代碼都是在這個環境下啟動並執行

三、變數  一、聲明變數  
#!/usr/env python# -*- coding:utf-8 -*-name = "xiaoming"

   上述代碼聲明了一個變數,變數名為:name, 變數name的值為:"xiaoming"

  二、變數的賦值 
name = "xiao ming" name2 = nameprint(name,name2) name = "xiao hua" print("What is the value of name2 now?"name,name2)
   三、變數名的定義規則:

  1、變數名只能是 字母、數字或底線的任意組合

  2、變數名的第一個字元不能是數字

  3、以下關鍵字不能聲明為變數名
  ['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']

注釋

  當行注釋:# 被注釋的內容

  多行注釋:''' 被注釋的內容 '''

四、使用者輸入
#!/usr/env python# -*- coding:utf-8 -*-name=input("請輸入你的名字:")print("Hello",name)

 輸入密碼時,如果想要不可見,需要利用getpass 模組中的 getpass方法,即:

#!/usr/bin/env python# -*- coding: utf-8 -*-  import getpasspwd = getpass.getpass("請輸入密碼:")  # 列印輸入的內容print(pwd)

 但是在windows中的PyCharm不好使

五、運算式 if...else  一、使用者登入驗證  
# 提示輸入使用者名稱和密碼# 驗證使用者名稱和密碼#     如果錯誤,則輸出使用者名稱或密碼錯誤#     如果成功,則輸出 歡迎,XXX!  #!/usr/bin/env python# -*- coding: encoding -*-  name = "xiao gou"password = "123"username = input('請輸入使用者名稱:')pwd = input('請輸入密碼:')  if name == username and password == pwd:    print("歡迎",name)else:    print("使用者名稱和密碼錯誤")
   二、猜年齡

  在程式裡設定好你的年齡,然後啟動程式讓使用者猜測,使用者輸入後,根據他的輸入提示使用者輸入的是否正確,如果錯誤,提示是猜大了還是小了   

 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3   4 my_age = 28 5   6 user_input = int(input("請輸入一個數字:")) 7   8 if user_input == my_age: 9     print("恭喜你蒙對了!")10 elif user_input < my_age:11     print("你猜小了!")12 else:13     print("你猜大了!")
猜年齡
 六、運算式 for  最簡單的迴圈10次 
#!/usr/bin/env python# -*- coding: encoding -*-for i in range(10):    print("loop:", i )
   輸出: 
loop: 0loop: 1loop: 2loop: 3loop: 4loop: 5loop: 6loop: 7loop: 8loop: 9

   需求一:還是上面的程式,但是遇到小於5的迴圈次數就不走了,直接跳入下一次迴圈

for i in range(10):    if i<5:        continue #不往下走了,直接進入下一次loop    print("loop:", i )

   continue 是跳出本次迴圈

  需求二:還是上面的程式,但是遇到大於5的迴圈次數就不走了,直接退出

for i in range(10):    if i>5:        break #不往下走了,直接跳出整個loop    print("loop:", i )

   break 是直接跳出整個迴圈,退出程式

七、運算式 while
  有一種迴圈叫死迴圈,海枯石爛代碼
count = 0while True:    print("你是風兒我是沙,纏纏綿綿到天涯...",count)    count +=1

   死迴圈還是少寫為好,上面代碼迴圈一百次就退出吧

count = 0while True:    print("你是風兒我是沙,纏纏綿綿到天涯...",count)    count +=1    if count == 100:        print("到此為止吧!")        break
 八、模組初識  sys模組 
#!/usr/env python# -*- coding:utf-8 -*-#Version:Python3.4import sysprint(sys.path) # 列印環境變數print(sys.argv)  #輸出$ python test.py helo world['test.py', 'helo', 'world']  #把執行指令碼時傳遞的參數擷取到
   os模組 
#!/usr/bin/env python# -*- coding: utf-8 -*- import os os.system("dir") #調用系統命令
   完全結合一下
import os,sys os.system(''.join(sys.argv[1:])) #把使用者的輸入的參數當作一條命令交給os.system來執行
 九、資料類型初識  一、數字

  1.int(整型)

    在32位機器上,整數的位元為32位,取值範圍為-2**31~2**31-1,即-2147483648~2147483647
    在64位系統上,整數的位元為64位,取值範圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807

  2.long(長整型)

  3.float(浮點型)

    浮點數用來處理實數,即帶有小數的數字

  二、布爾值  

    真或假

    1或0

    True 或 False

  三、字串 
  "hello world" 
  萬惡的字串拼接:  python中的字串在C語言中體現為是一個字元數組,每次建立字串時候需要在記憶體中開闢一塊連續的空,並且一旦需要修改字串的話,就需要再  次開闢空間,萬惡的+號每出現一次就會在內從中重新開闢一塊空間。

  字串格式化輸出 

name = "xiao ming"print "i am %s " % name  #輸出: i am xiao ming
  PS:字串是%s; 整數是%d; 浮點數是%f

  字串常用操作:

    移除空白

    分割

    長度

    索引

    切片

  四、列表

  建立列表:

name_list = ['alex', 'seven', 'eric']或name_list = list(['alex', 'seven', 'eric'])

   基本操作:

    索引

    切片

    追加

    刪除

    長度

    切片

    迴圈

    包含

  五、元組(不可變列表)

  建立元組 

ages = (11, 22, 33, 44, 55)或ages = tuple((11, 22, 33, 44, 55))
   六、字典(無序)

  建立字典 

person = {"name": "mr.wu", 'age': 18}或person = dict({"name": "mr.wu", 'age': 18})

  常用操作:

    索引

    新增

    刪除

    鍵、值、索引值對

    迴圈

    長度

十、資料運算

算數運算:

比較運算:

賦值運算:

邏輯運算:

身份運算:

位元運算:

 三元運算
result = 值1 if 條件 else 值2

如果條件為真:result = 值1
如果條件為假:result = 值2

a,b,c = 1,3,5d = a if a > b else cprint(d)# d = 5

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.