1. 程式人生 > >python基礎入門終極總結

python基礎入門終極總結

簡介

學習python最快的方法就是和java對比!!!

所有 Python 檔案將以 .py 為副檔名。

Linux下執行python指令碼

Linux系統一般整合Python,如果沒有安裝,可以手動安裝,聯網狀態下可直接安裝。Fedora下使用yum install,Ubuntu下使用apt-get install,前提都是root許可權。安裝完畢,可將Python加入環境變數,這樣在使用Python時無須每次都指定安裝路徑。

Python執行檔案

與bash shell一樣,可以直接執行Python程式檔案。新建hello.py檔案,鍵入如下內容並儲存:

如果沒有配置python的環境變數需要在py檔案開頭使用

#!/usr/bin/python2.7,指定python的絕對路徑

比如:

執行  ./test.py

Python安裝與環境變數的配置

想學會用,首先要學會安裝,在下面的網址中有具體介紹,在這不多講python安裝和環境變數的配置了。

Python程式設計模型

第一步 設定檔案頭

主要設定python的路徑和檔案的編碼


#!/usr/bin/python
指定用什麼直譯器執行指令碼以及直譯器所在的位置
# -*- coding: utf-8 -*-
用來指定檔案編碼為utf-8的

Python與java對比

語法類區別

Python不需要指定資料型別,但是必須賦值

Python沒有{ }作為結構體

,同個嚴格的縮排表示結構體

Python中null使用 None表示

使用範圍:在變數前加兩個下劃線如:__content = “haha”代表該類變數私有,不加則預設公有

Python的構造方法以固定的 __init__() 名字命名

類和物件的區別

Python的self相當於java中的this的關鍵字

和java相比呼叫方法無需new

定義方法用def +方法名,且類裡面的每個方法必須含有入參且必須是第一個入參self;

Python中的繼承和實現直接在類的括號內填寫繼承的類或實現的介面,class Child ( Parent ):  Child類繼承Parent類,可繼承多個類,在Parent後用“,”隔開;

Python中的io流先用open開啟,使用read直接讀取

資料結構對比

陣列

  • java:

int[] array={1, 2, 3, 4, 5};

  • Python:

list = [1, 2, 3, 4, 5 ]

不過由於Python 是動態資料型別 ,所以在list中的元素可以是不同的資料型別:

list=[1, 2, "a", "b", "c"]

語法

縮排

Main方法 和 if __name__ == '__main__':不能和不同方法一樣的縮排

有時候新手會因為python的縮排導致程式出現各種問題,所以縮排一定要規範起來

縮排儘量使用一個tab和兩個空格

這兩個作用不一樣,
1. # coding:utf-8
作用是定義原始碼的編碼. 如果沒有定義, 此原始碼中是不可以包含中文字串的.
PEP 0263 -- Defining Python Source Code Encodings
https://www.python.org/dev/peps/pep-0263/
2. sys.getdefaultencoding()
是設定預設的string的編碼格式

一句話:兩個都寫沒錯。

Python 構造方法

 __init__() 

Python的self關鍵字

首先明確的是self只有在類的方法中才會有,獨立的函式或方法是不必帶有self的。self在定義類的方法時是必須有的,雖然在呼叫時不必傳入相應的引數。self名稱不是必須的,在python中self不是關鍵詞,你可以定義成a或b或其它名字都可以,但是約定成俗

注意:在繼承時,傳入的是哪個例項,就是那個傳入的例項,而不是指定義了self的類的例項。

例子

class Parent:
    def pprt(self):
        print(self)
class Child(Parent):
    def cprt(self):
        print(self)
c = Child()
c.cprt()
c.pprt()
p = Parent()
p.pprt()
執行結果如下
<__main__.Child object at 0x0000000002A47080>
<__main__.Child object at 0x0000000002A47080>
<__main__.Parent object at 0x0000000002A47240>

Python 識別符號

在 Python 裡,識別符號由字母、數字、下劃線組成。

在 Python 中,所有識別符號可以包括英文、數字以及下劃線(_),但不能以數字開頭。

Python 中的識別符號是區分大小寫的。

以下劃線開頭的識別符號是有特殊意義的

  • 以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from xxx import * 而匯入;
  • 以雙下劃線開頭的 __foo 代表類的私有成員;
    以雙下劃線開頭和結尾的 __foo__ 代表 Python 裡特殊方法專用的標識,如 __init__() 代表類的建構函式。

Python 可以同一行顯示多條語句,方法是用分號 ; 分開,如:

>>> print 'hello';print 'runoob';

hello

runoob

Python 保留字元

下面的列表顯示了在Python中的保留字。這些保留字不能用作常數或變數,或任何其他識別符號名稱。

所有 Python 的關鍵字只包含小寫字母。

and

exec

not

assert

finally

or

break

for

pass

class

from

print

continue

global

raise

def

if

return

del

import

try

elif

in

while

else

is

with

except

lambda

yield

行和縮排

學習 Python 與其他語言最大的區別就是,Python 的程式碼塊不使用大括號 {} 來控制類,函式以及其他邏輯判斷。python 最具特色的就是用縮排來寫模組

縮排的空白數量是可變的,但是所有程式碼塊語句必須包含相同的縮排空白數量,這個必須嚴格執行。

注意:程式碼的縮排為一個TAB鍵,或者4個空格——官方建議使用空格

如下所示:

if True:

    print "True"else:

  print "False"

以下程式碼將會執行錯誤:

#!/usr/bin/python# -*- coding: UTF-8 -*-# 檔名:test.py

if True:

    print "Answer"

    print "True"else:

    print "Answer"

    # 沒有嚴格縮排,在執行時會報錯

  print "False"

執行以上程式碼,會出現如下錯誤提醒:

$ python test.py  

  File "test.py", line 10

    print "False"

                ^IndentationError: unindent does not match any outer indentation level

IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮排方式不一致,有的是 tab 鍵縮排,有的是空格縮排,改為一致即可。

如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的檔案裡格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴格。

因此,在 Python 的程式碼塊中必須使用相同數目的行首縮排空格數。

建議你在每個縮排層次使用 單個製表符 或 兩個空格 或 四個空格 , 切記不能混用

多行語句

Python語句中一般以新行作為語句的結束符。

但是我們可以使用斜槓( \)將一行的語句分為多行顯示,如下所示:

total = item_one + \

        item_two + \

        item_three

語句中包含 [], {} 或 () 括號就不需要使用多行連線符。如下例項:

days = ['Monday', 'Tuesday', 'Wednesday',

        'Thursday', 'Friday']

Python 引號

Python 可以使用引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字串,引號的開始與結束必須的相同型別的。

其中三引號可以由多行組成,編寫多行文字的快捷語法,常用於文件字串,在檔案的特定地點,被當做註釋。

word = 'word'

sentence = "這是一個句子。"

paragraph = """這是一個段落。

包含了多個語句"""

Python註釋

python中單行註釋採用 # 開頭。

#!/usr/bin/python# -*- coding: UTF-8 -*-# 檔名:test.py

# 第一個註釋

print "Hello, Python!";  # 第二個註釋

輸出結果:

Hello, Python!

註釋可以在語句或表示式行末:

name = "Madisetti" # 這是一個註釋

python 中多行註釋使用三個單引號(''')或三個雙引號(""")。

#!/usr/bin/python# -*- coding: UTF-8 -*-# 檔名:test.py

'''

這是多行註釋,使用單引號。

這是多行註釋,使用單引號。

這是多行註釋,使用單引號。

'''

"""

這是多行註釋,使用雙引號。

這是多行註釋,使用雙引號。

這是多行註釋,使用雙引號。

"""

Python空行

函式之間或類的方法之間用空行分隔,表示一段新的程式碼的開始。類和函式入口之間也用一行空行分隔,以突出函式入口的開始。

空行與程式碼縮排不同,空行並不是Python語法的一部分。書寫時不插入空行,Python直譯器執行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的程式碼,便於日後程式碼的維護或重構。

記住:空行也是程式程式碼的一部分。

等待使用者輸入

下面的程式執行後就會等待使用者輸入,按回車鍵後就會退出:

#!/usr/bin/python# -*- coding: UTF-8 -*-

raw_input("按下 enter 鍵退出,其他任意鍵顯示...\n")

以上程式碼中 ,\n 實現換行。一旦使用者按下 enter(回車) 鍵退出,其它鍵顯示。

同一行顯示多條語句

Python可以在同一行中使用多條語句,語句之間使用分號(;)分割,以下是一個簡單的例項:

#!/usr/bin/python

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

執行以上程式碼,輸入結果為:

$ python test.py

runoob

Print 輸出

print 預設輸出是換行的如果要實現不換行需要在變數末尾加上逗號 ,

#!/usr/bin/python# -*- coding: UTF-8 -*-

x="a"

y="b"# 換行輸出print xprint y

print '---------'# 不換行輸出print x,print y,

# 不換行輸出print x,y

以上例項執行結果為:

a

b---------

a b a b

多個語句構成程式碼組

縮排相同的一組語句構成一個程式碼塊,我們稱之程式碼組。

像if、while、def和class這樣的複合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行程式碼構成程式碼組。

我們將首行及後面的程式碼組稱為一個子句(clause)。

如下例項:

if expression : 

   suite elif expression :  

   suite  else :  

   suite

命令列引數

很多程式可以執行一些操作來檢視一些基本資訊,Python 可以使用 -h 引數檢視各引數幫助資訊:

$ python -h

usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d     : debug output from parser (also PYTHONDEBUG=x) -E     : ignore environment variables (such as PYTHONPATH) -h     : print this help message and exit 

 [ etc. ] 

Python 變數型別

變數儲存在記憶體中的值。這就意味著在建立變數時會在記憶體中開闢一個空間。

基於變數的資料型別,直譯器會分配指定記憶體,並決定什麼資料可以被儲存在記憶體中。

因此,變數可以指定不同的資料型別,這些變數可以儲存整數,小數或字元。

變數賦值

Python 中的變數賦值不需要型別宣告。

每個變數在記憶體中建立,都包括變數的標識,名稱和資料這些資訊。

每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。

等號(=)用來給變數賦值。

等號(=)運算子左邊是一個變數名,等號(=)運算子右邊是儲存在變數中的值。例如:

例項(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 賦值整型變數 miles = 1000.0 # 浮點型 name = "John" # 字串 print counter print miles print name

以上例項中,100,1000.0和"John"分別賦值給counter,miles,name變數。

執行以上程式會輸出如下結果:

1001000.0John

多個變數賦值

Python允許你同時為多個變數賦值。例如:

a = b = c = 1

以上例項,建立一個整型物件,值為1,三個變數被分配到相同的記憶體空間上。

您也可以為多個物件指定多個變數。例如:

a, b, c = 1, 2, "john"

以上例項,兩個整型物件 1 和 2 分別分配給變數 a 和 b,字串物件 "john" 分配給變數 c。

標準資料型別

在記憶體中儲存的資料可以有多種型別。

例如,一個人的年齡可以用數字來儲存,他的名字可以用字元來儲存。

Python 定義了一些標準型別,用於儲存各種型別的資料。

Python有五個標準的資料型別:

  • Numbers(數字)
  • String(字串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)

Python數字

數字資料型別用於儲存數值。

他們是不可改變的資料型別,這意味著改變數字資料型別會分配一個新的物件。

當你指定一個值時,Number物件就會被建立:

var1 = 1
var2 = 10

您也可以使用del語句刪除一些物件的引用。

del語句的語法是:

del var1[,var2[,var3[....,varN]]]]

您可以通過使用del語句刪除單個或多個物件的引用。例如:

del var
del var_a, var_b

Python支援四種不同的數字型別:

  • int(有符號整型)
  • long(長整型[也可以代表八進位制和十六進位制])
  • float(浮點型)
  • complex(複數)

例項

一些數值型別的例項:

int

long

float

complex

10

51924361L

0.0

3.14j

100

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

080

0xDEFABCECBDAECBFBAEl

32.3e+18

.876j

-0490

535633629843L

-90.

-.6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2E-12

4.53e-7j

  • 長整型也可以使用小寫 l,但是還是建議您使用大寫 L,避免與數字 1 混淆。Python使用 L 來顯示長整型。
  • Python 還支援複數,複數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 複數的實部 a 和虛部 b 都是浮點型。

Python字串

字串或串(String)是由數字、字母、下劃線組成的一串字元。

一般記為 :

s="a1a2···an"(n>=0)

它是程式語言中表示文字的資料型別。

python的字串列表有2種取值順序:

  • 從左到右索引預設0開始的,最大範圍是字串長度少1
  • 從右到左索引預設-1開始的,最大範圍是字串開頭

如果你要實現從字串中獲取一段子字串的話,可以使用 [頭下標:尾下標] 來擷取相應的字串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。

[頭下標:尾下標] 獲取的子字串包含頭下標的字元,但不包含尾下標的字元。

比如:

>>> s = 'abcdef'>>> s[1:5]'bcde'

當使用以冒號分隔的字串,python 返回一個新的物件,結果包含了以這對偏移標識的連續的內容,左邊的開始是包含了下邊界。

上面的結果包含了 s[1] 的值 b,而取到的最大範圍不包括尾下標,就是 s[5] 的值 f。

加號(+)是字串連線運算子,星號(*)是重複操作。如下例項:

例項(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- str = 'Hello World!' print str # 輸出完整字串 print str[0] # 輸出字串中的第一個字元 print str[2:5] # 輸出字串中第三個至第五個之間的字串 print str[2:] # 輸出從第三個字元開始的字串 print str * 2 # 輸出字串兩次 print str + "TEST" # 輸出連線的字串

以上例項輸出結果:

Hello World!

H

llo

llo World!Hello World!Hello World!Hello World!TEST

Python列表

List(列表) 是 Python 中使用最頻繁的資料型別。

列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表(即巢狀)。

列表用 [ ] 標識,是 python 最通用的複合資料型別。

列表中值的切割也可以用到變數 [頭下標:尾下標] ,就可以擷取相應的列表,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。

加號 + 是列表連線運算子,星號 * 是重複操作。如下例項:

例項(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] tinylist = [123, 'john'] print list # 輸出完整列表 print list[0] # 輸出列表的第一個元素 print list[1:3] # 輸出第二個至第三個元素 print list[2:] # 輸出從第三個開始至列表末尾的所有元素 print tinylist * 2 # 輸出列表兩次 print list + tinylist # 列印組合的列表

以上例項輸出結果:

['runoob', 786, 2.23, 'john', 70.2]

runoob[786, 2.23][2.23, 'john', 70.2][123, 'john', 123, 'john']['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

Python元組

元組是另一個數據型別,類似於List(列表)。

元組用"()"標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於只讀列表。

例項(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # 輸出完整元組 print tuple[0] # 輸出元組的第一個元素 print tuple[1:3] 

相關推薦

python基礎入門終極總結

簡介 學習python最快的方法就是和java對比!!! 所有 Python 檔案將以 .py 為副檔名。 Linux下執行python指令碼 Linux系統一般整合Python,如果沒有安裝,可以手動安裝,聯網狀態下可直接安裝。Fedora下使用yum instal

Python基礎入門總結

Python基礎入門教學 基礎中的基礎 列表、元組(tuple)、字典、字串 變數和引用 函式 python視訊教程下載 基礎中的基礎 解釋型語言和編譯型語言差距;   Python概述   直譯器執行原理     which python3可以檢視pyt

python 基礎入門

兩個 快捷語法 字母 雙引號 ted perl 關鍵字 表達 pass Python 特點 1.易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。 2.易於閱讀:Python代碼定義的更清晰。 3.易於維護:Pytho

Python基礎入門教程,Python學習路線圖

第一天 字符 語法 知識 國內 排序 inux 跟著 最好的 給大家整理的這套python學習路線圖,按照此教程一步步的學習來,肯定會對python有更深刻的認識。或許可以喜歡上python這個易學,精簡,開源的語言。此套教程,不但有視頻教程,還有源碼分享,讓大家能真正

python-基礎入門-3(對文件操作)

col 文件打開 hello cnblogs you write line div 打印 打開文件用open()函數 open(filename)默認為讀取模式 等價於open(filename,‘r‘) 1 txt=open(filename) 2 print txt.r

Python基礎入門-字典

常用 學習 python value 今天 size clas efault font   今天我們來看看一下Python中的字典的一些常見用法。關於字典的學習,我們應該知道字典的定義及區別與其他數據結構的特點、常用的操作方法。好了,我們開始搞事情! 1.字典定義 字典是花

Python基礎入門-實現猜數字小遊戲

結束 選擇 提示 int pri 返回 重新開始 系統默認 pan 今天呢,我們來通過前面學過的一些知識點來完成一個猜數字大小的遊戲程序設計。那麽呢,一般人寫代碼直接上來就幹,沒有分析,這樣的做法是沒有產出的,除非你是大牛,今天呢,我會把我學習編程的思路分享給大家,我的思路

python基礎知識漏洞總結

註意 while循環 xtend 排序 指定 imp 文件 dex 逗號 1.字符串格式化: format 1 # format 2 s0 = "我叫{},今年{}歲了,我喜歡{}".format("王力宏",46,"娃哈哈") #按位置格式化 3 s1 = "我叫

Python基礎入門筆記

輸出字符串 字符串 格式 運算 類型轉換 去年 常量 浮點 布爾值 時間:2018年9月4日 22:54:49 #請各位讀者註意時效性 以下Python學習筆記基於Python3 懶得改格式了,將就一下 Python學習筆記1.Python源於1989年聖誕期間

Python基礎常見問題總結(一)

ecs 字段 避免 定義靜態方法 工作 如果 數位 元組tuple method 1.__ foo 、foo_ 和 __foo__ 三者之間的區別是什麽?__foo表示私有屬性、_foo表示受保護的屬性、__foo__表示Python自帶的屬性 2.請您簡述Python編

Python基礎入門(字串)

#字串 單引號和雙引號都一樣 str1 = "abc" str2 = 'abc' #多行字串用三引號 str3 = '''a b c ''' print(str1,str2,str3) abc abc a b c In [4]: #轉義字元 \ print("\\") print("/")

Python基礎入門(輸入和輸出)

  #輸入和輸出 import math ​ str = input("請輸入:"); ​ print ("你輸入的內容是: ", str) print('常量 PI 的值近似為:%5.3f。' % math.pi) print('{0} 和 {1}'.format('Kobe', '

Python基礎知識回顧總結

1.encode與decode的使用 2.轉義字元不僅是,還有%,eg:%%表示一個% 3.python對print的使用與C語言不同,eg: **C:**print(“小明提高的成績為:%d”,x); **python:**print(“小明提高的成績為:%d”%x)或print(

Python基礎入門----基本資料型別上

                                          &nb

Python基礎入門(類Class)

例項化:建立一個類的例項,類的具體物件。 類(Class): 用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。 方法:類中定義的函式。 類變數:類變數在整個例項化的物件中是公用的。類變數定義在類中且在函式體之外。類變數通常不作為例項變數使用。 資料成員:類變數

Python基礎入門(錯誤與異常)

#錯誤與異常 ​ #錯誤主要是語法上的錯誤 # prinnt("no") #拼寫錯誤 NameError: name 'prinnt' is not defined print("yes"); # 多加了分號然而並沒有錯 # print("no")#中文輸入法 IndentationError: u

Python基礎入門,利用Django搭建第一個web框架!(文末福利)

  本文面向:有Python基礎,剛接觸web框架的Django初學者。 環境:windows7 python3.5.1 pycharm Django 1.10版 pip3 一、Django簡介 百度百科:一個開放原始碼的Web框架,由Python語言編寫......

Python基礎入門高效學習線路圖(小白定製版)

身為技術小白如何搞懂Python?快速入門進階?千鋒Python率先推出爬蟲分散式課 程,覆蓋全資料庫,優化機器學習案例。 眾所周知,Python是一種面向物件的解釋型計算機程式設計語言,純粹的自由軟體,常被暱稱為膠水語言,能夠把用其他語言製作的各種模組,尤其是C/C++很

Python基礎入門

python語言介紹 python語言特點 面向物件:以物件為中心思考問題,軟體專案利於擴充套件和維護。 豐富的庫:庫好像是汽車或家電的零件。我們不需要從頭開發一個功能,只需要引用別人開發好的功能,組裝成我們的專案。python庫非常豐富,pypi網站上有十幾

15道Python基礎入門小案例,學會就等於Python基礎已過關

1.猜數字 1到4能組成多少個互不相同且不重複數字的三位數?分別是? 分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。 程式原始碼: 2.公司發放的獎金的計算. 為了幫助小夥伴們更好的學習Python,小編整理了Py