廖雪峰python精簡(jiǎn)教程(winboy專屬)


安裝Python

  • 下載安裝python64位 32位
  • 記得勾選Add Python 3.5 to PATH ,然后點(diǎn)“Install Now”即可完成安裝。

安裝文本編輯器


編寫程序前應(yīng)該知道

  • 輸出 print()
  • 輸入 input()
  • 變量 簡(jiǎn)單理解為一個(gè)存放東西的箱子
  • 注釋 用#來寫注釋,#所在行計(jì)算機(jī)直接忽視. 注釋是給人看的,而不是給機(jī)器看的.
  • 代碼塊 編輯器中的每一行都是一個(gè)語句,當(dāng)語句以冒號(hào):結(jié)尾時(shí),縮進(jìn)的語句視為代碼塊。
  • 縮進(jìn) 堅(jiān)持使用4個(gè)空格的縮進(jìn), 便于閱讀和理解.sublimes編輯器已經(jīng)默認(rèn)設(shè)置一個(gè)tab等于4個(gè)空格.

數(shù)據(jù)類型

  • 整數(shù)
  • 浮點(diǎn)數(shù)
  • 字符串 字符串是以單引號(hào)'或雙引號(hào)"括起來的任意文本
    轉(zhuǎn)義字符\可以轉(zhuǎn)義很多字符,比如\n表示換行,\t表示制表符,字符\本身也要轉(zhuǎn)義,所以\\\表示的字符就是\
    為了簡(jiǎn)化,Python還允許用r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義
  • 布爾值 TureFalse (大小寫需要完全一樣)
    可以用and,or,not來運(yùn)算布爾值(與或非)
    and 與運(yùn)算, 只有全都Ture才輸出Ture
    or 或運(yùn)算,只有有Ture就輸出Ture
    not 非運(yùn)算, 把True變成FalseFalse變成True
  • 空值 用None表示。None不能理解為0,因?yàn)?code>0是有意義的,而None是一個(gè)特殊的空值。
  • 變量 簡(jiǎn)單理解為一個(gè)存放東西的箱子.
    變量在程序中就是用一個(gè)變量名表示.
    變量名必須是大小寫英文、數(shù)字和_的組合,且不能用數(shù)字開頭.
  • =賦值語句 把=右邊的值賦給左邊.
  • 常量 就是不變的變量. 在Python中, 通常用全部大寫的變量名表示常量, 如PI.
  • 三種除法
    /無論怎么除都是浮點(diǎn)數(shù)
    //結(jié)果取整
    % 結(jié)果取余

字符編碼

  • 請(qǐng)讀者自己搞清楚ASCII、 Unicode和UTF-8的關(guān)系
    • 簡(jiǎn)單說就是從最簡(jiǎn)單的ASCII開始發(fā)展, 各國(guó)為自身需要制定自己語言的編碼. 導(dǎo)致在多語言混合的文本里, 會(huì)出現(xiàn)亂碼.
    • 為解決亂碼問題, 于是制定了Unicode.
      Unicode是所有語言都統(tǒng)一到一套編碼里.
      ASCII編碼是1個(gè)字節(jié), 而Unicode編碼通常是2個(gè)字節(jié).
      但如果你寫的文本基本上全部是英文的話,用Unicode編碼比ASCII編碼需要多一倍的存儲(chǔ)空間, 這在存儲(chǔ)和傳輸上就十分不劃算.
    • 為了解決浪費(fèi)的問題, 于是制定了UTF-8編碼.
      UTF-8編碼簡(jiǎn)單理解就是Unicode的精簡(jiǎn), 只保留最常用的字符.

Python的字符串

  • Python3中, 字符是以Unicode編碼的,這意味著它支持多語言.
  • 可以利用ord()函數(shù) 跟 chr()函數(shù) 進(jìn)行字符和編碼的轉(zhuǎn)換.
    在編寫程序時(shí), 最開頭加上
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    第一行注釋是為了告訴Linux/OS X系統(tǒng),這是一個(gè)Python可執(zhí)行程序,Windows系統(tǒng)會(huì)忽略這個(gè)注釋;
    第二行注釋是為了告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會(huì)有亂碼。
  • 格式化%
    這里的格式化不是指硬盤的格式化, 而是可以理解為模版.
    例如 我們經(jīng)常會(huì)輸出類似親愛的xxx你好!你xx月的話費(fèi)是xx,余額是xx之類的字符串,而xxx的內(nèi)容都是根據(jù)變量變化的,所以,需要一種能夠簡(jiǎn)便地表達(dá)格式化字符串的方式。
    %d 整數(shù), %f 浮點(diǎn)數(shù), %s 字符串, %x 十六進(jìn)制整數(shù) 這四種常見的占位符.
    使用范例: 'Hi, %s, you have $%d.' % ('Michael', 1000000)
    輸出為'Hi, Michael, you have $1000000.'
    %.2f 表示保留小數(shù)點(diǎn)2位顯示.
    當(dāng)字符串里%是表達(dá)一個(gè)普通字符時(shí), 需要編寫為%%.

list和tuple

  • list
    • list是一種有序的集合. 比如,列出班里所有同學(xué)的名字,就可以用一個(gè)list表示:
      >>> classmates = ['Michael', 'Bob', 'Tracy']
      >>> classmates ['Michael', 'Bob', 'Tracy']
      這個(gè)變量classmates就是一個(gè)list。
    • len()函數(shù)可以獲得list元素的個(gè)數(shù).如輸入len(classmates),得到3.
    • 輸入classmates[0], classmates[1], classmates[2]可分別獲得Michael, Bob, Tracy.值得留意的是, 里邊的元素是從0開始數(shù)的.
    • 輸入classmates[-1], classmates[-2], classmates[-3], 則分別獲得Tracy, Bob, Michael,值得注意的是里邊的數(shù)字.表示從最后一個(gè)元素?cái)?shù)起.
    • 使用classmates.append('Adam')往list classmates的最后添加一個(gè)元素Adam
    • 使用classmates.insert(2, 'Jack')Jack這個(gè)元素插到classmates這個(gè)list的第三個(gè)位置.其它元素往后退一位.
    • 使用classmates.pop()刪除list的最后一個(gè)元素.輸入classmates.pop()后,list的最后一個(gè)位置的元素被刪除.
    • 使用classmates.pop(i)來刪除list的特定位置元素. 輸入classmates.pop(2), 則list的第三個(gè)位置的元素被刪除
    • 使用直接賦值可以直接替換list里的某個(gè)元素.如classmates[2] = 'Adam', 則這個(gè)list里的第三個(gè)元素被替換為'Adam'.
    • list里元素的類型可以是不同的, 比如L = ['apple', 13213, bb] 表明字符串, 數(shù)字, 變量 都可以是list的元素.
    • 一個(gè)list可以是另一個(gè)list的元素,如A = ['apple', 'banana', ['mouse', 'keyboard'], 'orange'], 值得留意的是如果輸入len(A)的話, 得到的結(jié)果是4, 因?yàn)榇藭r(shí)子list是被當(dāng)作一個(gè)元素處理.
    • 把list拆開寫比較好理解.
      A = ['apple', 'banana']
      B = ['mouse', 'keyboard', A]
      如果想要取得banana這個(gè)元素, 可以寫A[1]或者B[2][1]. 你可以把B這個(gè)list當(dāng)成二維數(shù)組,以此類推有三維, 四維....
  • tuple
    • tuple稱為元組, 跟list非常類似, 區(qū)別在于tuple后使用()來囊括元素, 而list是使用[]; 其次在于list的元素可重新賦值, tuple的元素不可變換.
    • tuple一旦初始化就不能修改.
    • tuple因?yàn)椴豢勺? 所以代碼更加穩(wěn)定, 可控, 安全.
    • 只有1個(gè)元素的tuple定義時(shí)必須加一個(gè)逗號(hào),,來消除歧義.
      例:t = (1,)

if, elif, else條件判斷

  • 經(jīng)典情景

age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid')

千萬不要忘記條件后的冒號(hào):,else后原本也有條件, 只是省略了, 但該有的冒號(hào):還得加上.


再談input()

  • 在做條件判斷時(shí)需要注意, input()返回的數(shù)據(jù)類型是str,str不能直接和整數(shù)比較,必須先把str轉(zhuǎn)換成整數(shù)。
    Python提供了int()函數(shù)來完成這件事情:

s = input('birth: ') birth = int(s) if birth < 2000: print('00前') else: print('00后')


循環(huán)

  • Python提供兩種循環(huán)
    • for x in...:
    • while ...:

留意條件的冒號(hào)

  • for x in ...:循環(huán)就是把每個(gè)元素代入變量x,然后執(zhí)行縮進(jìn)塊的語句。
  • range()函數(shù) 可以生成一個(gè)整數(shù)序列, 如range(5)是生成0, 1, 2, 3, 4這樣的整數(shù)序列. 再通過list()函數(shù)可以轉(zhuǎn)換為list.
  • while循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時(shí)退出循環(huán)。
  • 利用breakcontinue跳出循環(huán)
    • break的作用是提前結(jié)束循環(huán).
    • continue的作用是提前結(jié)束本輪循環(huán),并直接開始下一輪循環(huán)。

n = 0 while n < 10: n = n + 1 print(n)

n = 0 while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶數(shù),執(zhí)行continue語句 continue # continue語句會(huì)直接繼續(xù)下一輪循環(huán),后續(xù)的print()語句不會(huì)執(zhí)行 print(n)


dict和set

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Python 是一種相當(dāng)高級(jí)的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 2,037評(píng)論 0 3
  • 一、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序...
    績(jī)重KF閱讀 2,008評(píng)論 0 1
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項(xiàng)目接著寫寫一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,792評(píng)論 1 118
  • 簡(jiǎn)介 Python是開源的Python由很多解釋器:CPython(官方),IPython(增強(qiáng)交互模式),PyP...
    齊天大圣李圣杰閱讀 383評(píng)論 0 3
  • 文/孤鳥差魚 夢(mèng)想還沒實(shí)現(xiàn)的年紀(jì)里 悲哀的程度 愈顯粗俗
    孤鳥差魚閱讀 247評(píng)論 0 4

友情鏈接更多精彩內(nèi)容