Python編程入門——基礎語法詳解(經典)

2022-01-01 python語言

今天小編給大家帶來Python編程入門——基礎語法詳解。溫馨提示:亮點在最後!

一、基本概念

1.內置的變量類型:

Python是有變量類型的,而且會強制檢查變量類型。內置的變量類型有如下幾種:

#浮點

float_number = 2.3

#複數

complex_number = 1 + 5j

#整型

integer_number = 1

#list 序列

sample_list = [2,52,36,'abc']

#嵌套

sample_nest = [(2,4,6),{5:7,9:11,'key':[2,5]},6]

#dictionary 字典

sample_dic = {"key":value, 5:10}

#tuple 只讀的序列

sample_tuple = (3,9,"ab")

從上面的示例可以看出,python的變量無需聲明,可直接給變量賦值。

2.字符串

python中聲明一個字符串通常有三種方法,''、" "和''' ''',這三種方法在聲明普通字符串時的效果是完全一樣的,區別在於字符串本身中存在引號的情況,舉例如下:

word = 'good'

sentence = "hello world"

paragraph = '''good noon:"nice to meet you."'''

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

#!/usr/bin/python

# First comment

print "Hello, world!"; # second comment

上述內容輸出:hello,Python!。注釋可以在語句或表達式行末。

多行注釋可採用三引號,比如:

'''This is a comment.

This is a comment, too.

This is a comment, too.

I said that already.'''

轉義符 '';

自然字符串, 通過在字符串前加r或R。 如 r"this is a line with " 則 會顯示,並不是換行。

python允許處理unicode字符串,加前綴u或U, 如 u"this is an unicode string"。

3.Python標識符

在python裡,標識符有字母、數字、下劃線組成。

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

python中的標識符是區分大小寫的。

以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用"from xxx import *"而導入;

以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如__init__()代表類的構造函數。

4.Python保留字符

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

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

5.行和縮進

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

縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。如下所示:

if True:

print "True"

else:

print "False"

上述,if與else的縮進空白數量相同。以下代碼將會報錯:

if True:

print "Answer"

print "True"

else:

print "Answer"

print "False"

python中分號;標識一個邏輯行的結束,但是實際中一般每個物理行只寫一個邏輯行,可以避免使用分號。這樣書寫便於閱讀。注意:不要混合使用空格和制表符來縮進,因為在跨越不同的平臺時無法正常工作。

多個物理行中可以寫一個邏輯行,使用行連接符,如下:

s = "peter is

writing this article"

二、運算符與表達式

1. 運算符與其用法

2. 運算符優先級(從低到高)

三.控制流

1. 條件語句

1.1 if語句

例子, 執行if語句內的程序

a = input("a:")

b = input("b:")

if(a > b):

print a, " > ", b

if else語句:

a = input("a:")

b = input("b:")

if(a > b):

print a, " > ", b

else:

print a, " < ", b

1.2 if…elif…else語句

例子:根據輸入的分數,輸出分數等級:

score = raw_input("score:")

score=int(score)

if(score >= 90) and (score <= 100):

print "A"

elif(score >= 80) and (score < 90):

print "B"

elif(score >= 60) and (score < 80):

print "C"

else:

print "D"

raw_input() 讀取輸入值。

1.3 if語句的嵌套

編寫條件語句時,應該儘量避免使用嵌套語句。嵌套語句不便於閱讀,而且可能會忽略一些可能性。

x = -1

y = 99

if(x >= 0):

if(x > 0): #嵌套的if語句

y = 1

else:

y = 0

else:

y = -1

print "y =", y

1.4 實現switch語句的功能

python中沒有switch特殊字,Python可以通過字典實現switch語句的功能。

實現方法分兩步。首先,定義一個字典。字典是由鍵值對組成的集合。其次,調用字典的get()獲取相應的表達式。

from __future__ import division

x = 1

y = 2

operator = "/"

result = {

"+" : x + y,

"-" : x - y,

"*" : x * y,

"/" : x / y

}

print result.get(operator)

輸出為0.5;

另一種使用switch分支語句的方案是創建一個switch類,處理程序的流程。

a) 創建一個switch類,該類繼承自Python的祖先類object。調用構造函數init( )初始化需要匹配的字符串,並需要定義兩個成員變量value和fall。Value用於存放需要匹配的字符串,fall用於記錄是否匹配成功,初始值為false,標識匹配不成功。如果匹配成功,程序往後執行。

b) 定義一個match( )方法,該方法用於用於匹配case子句。這裡需要考慮三種情況:首先是匹配成功的情況,其次是匹配失敗的默認case子句,最後是case子句中沒有使用break中斷的情況。

c) 重寫__iter__( )方法,定義該方法後才能使switch類用於循環語句中。__iter__( )調用match( )方法進行匹配。通過yield保留字,使函數可以在循環中迭代。此外,調用StopIteration異常中斷循環。

d) 編寫調用代碼,在for…in…循環中使用switch類。

#!/usr/bin/python

# -*- coding: UTF-8 -*-

class switch(object):

def __init__(self, value): # 初始化需要匹配的值value

self.value = value

self.fall = False # 如果匹配到的case語句中沒有break,則fall為true。

def __iter__(self):

yield self.match # 調用match方法 返回一個生成器

raise StopIteration # StopIteration 異常來判斷for循環是否結束

def match(self, *args): # 模擬case子句的方法

if self.fall or not args: # 如果fall為true,則繼續執行下面的case子句

# 或case子句沒有匹配項,則流轉到默認分支。

return True

elif self.value in args: # 匹配成功

self.fall = True

return True

else: # 匹配失敗

return False

operator = "+"

x = 1

y = 2

for case in switch(operator): # switch只能用於for in循環中

if case('+'):

print x + y

break

if case('-'):

print x - y

break

if case('*'):

print x * y

break

if case('/'):

print x / y

break

if case(): # 默認分支

print ""

2.while...語句

只要在一個條件為真的情況下,while語句允許你重複執行一塊語句。while語句是所謂 循環 語句的一個例子。while語句有一個可選的else從句。

while True:

pass

else:

pass

#else語句可選,當while為False時,else語句被執行。 pass是空語句。

3.for 循環

for i in range(0, 5):

print i

else:

pass

# 列印0到4

註:當for循環結束後執行else語句;range(a, b)返回一個序列,從a開始到b為止,但不包括b,range默認步長為1,可以指定步長,range(0,10,2);

四、函數

函數通過def定義。def關鍵字後跟函數的標識符名稱,然後跟一對圓括號,括號之內可以包含一些變量名,該行以冒號結尾;接下來是一塊語句,即函數體。

def sumOf(a, b):

return a + b

4.1 局部變量

在函數內定義的變量與函數外具有相同名稱的其他變量沒有任何關係,即變量名稱對於函數來說是局部的。這稱為變量的作用域。global語句, 為定義在函數外的變量賦值時使用global語句。

def func():

global x

print "x is ", x

x = 1

x = 3

func()

print x

以上代碼,輸出的結果為:

3

1

4.2 默認參數

通過使用默認參數可以使函數的一些參數是『可選的』。

def say(msg, times = 1):

print msg * times

say("peter")

say("peter", 3)

注意:只有在形參表末尾的那些參數可以有默認參數值,即不能在聲明函數形參的時候,先聲明有默認值的形參而後聲明沒有默認值的形參,只是因為賦給形參的值是根據位置而賦值的。

4.3 關鍵參數

如果某個函數有很多參數,而現在只想指定其中的部分,那麼可以通過命名為這些參數賦值(稱為『關鍵參數』)。

優點:不必擔心參數的順序,使函數變的更加簡單;假設其他參數都有默認值,可以只給我們想要的那些參數賦值。

def func(a, b=2, c=3):

print "a is %s, b is %s, c is %s" % (a, b, c)

func(1) #輸出a is 1, b is 2, c is 3

func(1, 5) #輸出a is 1, b is 5, c is 3

func(1, c = 10) #輸出a is 1, b is 2, c is 10

func(c = 20, a = 30) #輸出a is 30, b is 2, c is 20

4.3 return語句

return語句用來從一個函數返回,即跳出函數。可從函數返回一個值。

沒有返回值的return語句等價於return None。None表示沒有任何東西的特殊類型。

關注公眾號,「Python語言」,回復「python」即可獲取python學習視頻

為大家提供與Python相關的最新技術和資訊。

相關焦點

  • python語法基礎
    學一門語言,基礎語法一定要紮實。很多入門的編程書籍,都會花大量的篇幅來介紹基礎語法,對於毫無編程經驗的新手而言,這樣的書籍無疑是很友好的,但是對於有編程經驗的開發者而言,很多的基礎語法是通用的, 只需花費較少的時間瀏覽下基礎語法,將精力集中在語言獨有的特徵上即可。
  • python編程入門,零基礎學習Python基礎教程
    這裡推薦這門python編程入門基礎教程,適合零基礎的同學學習!python軟體工程師都學什麼?自學Python,看視頻學的更快、更透徹一些,給你個課程大綱!階段一:Python開發基礎Python全棧開發與人工智慧之Python開發基礎知識學習內容包括:Python基礎語法、數據類型、字符編碼、文件操作、函數、裝飾器、迭代器、內置方法、常用模塊等。
  • 從Scratch開始零基礎編程學習、用Python入門
    有人朋友以前沒有任何的編程基礎,但是也想通過編程來實現自己的一些想法,做些工具解決自己的工具。那麼如何從零開始學習編程呢?筆者整理了下自己總結的回答資料,所以就有這篇文章。零基礎學習編程的,建議先找一門可見既所得的交互圖像式程式語言開始,拖拖控制項,雙擊進去補充寫幾行邏輯就行。比如我學編程開始就是已VB,Delphi入門的。
  • Python基礎 | 大學小白如何入門Python程序設計
    本文首發於微信公眾號:"算法與編程之美",歡迎關注,及時了解更多此系列文章。二、如何進行自主學習其實python非常適合初學者入門。相比較其他不少主流程式語言,有更好的可讀性,因此上手相對容易。自帶的各種模塊加上豐富的第三方模塊,免去了很多「重複造輪子」的工作,可以更快地寫出東西。
  • 十六本python入門學習書籍推薦,python入門新手必看
    隨著人工智慧時代的到來,python程式語言一步登天衝到編程排行榜第一名,因此更多朋友想轉行學習python程式語言的朋友,可以一起看一下:python入門新手必看的十六本python入門學習書籍1、python基礎教程司維所著圖書:本書包括Python程序設計的方方面面,首先從Python
  • Python遊戲編程
    Python遊戲編程課程目標本課程把遊戲開發實踐應用於python編程課程的教學之中,培養學生對編程的興趣
  • 【python基礎語法】python基礎語法合集,視頻講解
    python基礎語法合集資源,涵蓋了python語法的各個方面的知識點內容,全程視頻講解,匯集python語法:初級、中級、高級教程資源,關注公眾號
  • python入門基礎之lambda匿名函數詳解
    python入門基礎之lambda匿名函數詳解剛開始學習python的時候很多人可能對於lambda函數不了解,感覺和def很混亂,下面我來介紹一下lambda函數我從一下幾個方面來介紹lambda:1、lambda簡介2、lambda與def不同之處3、lambda的使用方法
  • Python零基礎入門-03-Python基礎語法
    Python零基礎入門-03-Python基礎語法本節課的知識點:1,python系列教程的學習方法。2,熟悉Python的基礎語法內容。1,python系列課程學習方法由於python屬於腳本語言,如果單純的解釋語法沒有什麼實在的意義,所以我python系列的課程都是以視頻講解為主,至於這裡的文章,是給你複習用的。2. 基礎語法python的基礎語法都將以小例子作為驅動來講解。如果你有其他程式語言的基礎,那麼直接看文章就會很快上手。
  • 求職大視野 | 編程零基礎應當如何開始學習 Python?
    零基礎學編程,用python入門是個不錯的選擇,雖然國內基本上還是以c語言作為入門開發語言,但在國外
  • Python 從零開始--入門篇
    從這篇文章開始我將分享 python 系列,從 ptyhon 的起始發展,到現在的方方面面, 從最基礎的語法開始,大家一起學習
  • 初學者入門編程應該學C+ +、Java還是Python?
    Java 的語法相對規範。Python是動態形的靈活的解釋性語言,從軟體開發到Web開發,Python都有在被使用。因為他的解釋性,適合輕量級開發。Python算是比較好學的語言。而不同的程式語言,幹同一個活,編寫的代碼量,差距也很大。所以你要先認清楚自己要學習編程的初衷是什麼,然後客觀的分析做出相對合理的規劃。
  • 書聲琅琅:好的Python入門教程
    好的Python入門教程,書聲琅琅教育番茄老師微信pykf20介紹,python語言現在應用非常廣泛,不管是大數據還是人工智慧,應用最多的語言還是python,因此對於許多小白來講,看到python從業者的高薪資,想要轉行,或者致力於python開發的朋友,如果要學習python,從零基礎開始,一定需要一套完整的學習路線。
  • Python編程入門書籍分享
    貫穿全書的主體是如何思考、設計、開發的方法,而具體的程式語言,只是提供了一個具體場景方便介紹的媒介。全書共21章,詳細介紹Python語言編程的方方面面。本書從基本的編程概念開始講起,包括語言的語法和語義,而且每個編程概念都有清晰的定義,引領讀者循序漸進地學習變量、表達式、語句、函數和數據結構。
  • 如何入門Python之Python基礎教程詳解
    隨著人工智慧的發展,Python近兩年也是大火,越來越多的人加入到Python學習大軍,對於毫無基礎的人該如何入門Python呢?這裡整理了一些個人經驗和Python入門教程供大家參考。如果你是零基礎入門 Python 的話,建議初學者至少達到兩個目標: 會用,理解。
  • 如何入門中學生編程
    相信很多同學對編程很感興趣,但是卻不知道如何入門以及入門難度如何,廢話少說,直接進入主題。首先,學習編程不難,難的是自己的想法(如果有同學學習過就知道了)。其次,如何入門。對於零基礎的同學推薦學習 python ,語法簡單,可以做的事情很多(視個人能力而定)。
  • Linux 平臺下 Python 腳本編程入門(一)
    在這個由兩篇文章構成的系列中,我們將回顧 Python 的基礎部分,希望初學編程的你能夠將這篇實用的文章作為一個編程入門的跳板,和日後使用 Python 時的一篇快速指引。Linux 中的 PythonPython 2.x 和 3.x 通常已經內置在現代 Linux 發行版中,你可以立刻使用它。
  • python基礎學習教程:Python基礎語法
    在本章中我們將來學習 Python 的基礎語法,讓你快速學會 Python 編程。第一個 Python 程序交互式編程交互式編程不需要創建腳本文件,是通過 Python 解釋器的交互模式進來編寫代碼。linux上你只需要在命令行中輸入 Python 命令即可啟動交互式編程,提示窗口如下:$ pythonPython 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwinType
  • 媲美Matlab的神器——Python語言的十本經典入門書籍
    與孩子一起學編程這本書適合真正沒有一點編程基礎的童鞋。Python入門經典概念和知識點講解清楚,而且每章最後配有練習,供讀者檢查和鞏固所學知識,主要用來補足基礎部分。 >(中文版)Head First 系列的書籍一直飽受讚譽,這本書主要講述了Python 3的基礎語法知識以及如何使用
  • Python最最最基礎的語法入門項目合輯,不基礎你來打我!
    大家好,今天為各位新手寶寶們準備了社區中入門Python最最最基礎的語法入門項目合輯,包括基礎教程和練習賽,讓我們一起從基礎語法開始