Python基礎入門語法和變量類型(一)

1 基礎語法

標識符

標識符由字母、數字和下劃線(_)組成,其中不能以數字開頭,而且區分大小寫python

如下劃線開頭的標識符是有特殊意義的:編程

  • 單下劃線開頭的如 _foo,表示不能直接訪問的類屬性,須要經過類提供的接口進行訪問,不能經過 from xxx import * 導入;
  • 雙下劃線開頭的如 __foo ,表示類的私有成員;
  • 雙下劃線開頭和結尾的如 __foo__ 表明 Python 中的特殊方法,好比 __init()__ 表明類的構建函數

保留字

保留字是不能用做常數或變數,或者其餘任何標識符名稱 keyword 模塊能夠輸出當前版本的全部關鍵字:編程語言

import keyword函數

print(keyword.kwlist)   spa

全部的保留字以下所示:code

 

 

 

and對象

execblog

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 的代碼塊不採用大括號 {} 來控制類、函數以及其餘邏輯判斷,反卻是採用縮進來寫模塊。

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

# 正確示例

i = 2if i == 3:

    print('true!')else:

  print('False')

# 錯誤示例if i == 3:

    print('i:')

    print(i)else:

    print('wrong answer!')

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

  print('please check again')   

這裏將會報錯 IndentationError: unindent does not match any outer indentation level,這個錯誤表示採用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改成一致便可。

而若是錯誤是 IndentationError: unexpected indent,表示格式不正確,多是 tab 和空格沒對齊的問題。

所以,按照約定俗成的管理,應該始終堅持使用4個空格的縮進,而且注意不能混合使用 tab 鍵和四格空格,這會報錯!

註釋

註釋分爲兩種,單行和多行的。

# 單行註釋

print('Hello, world!')

'''

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

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

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

'''

"""

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

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

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

"""   

輸入輸出

一般是一條語句一行,若是語句很長,咱們可使用**反斜槓(\)**來實現多行語句。在 [], {}, 或 ()中的多行語句,則不須要反斜槓。

sentence1 = "I love " + \"python"

 

sentence2 = ["I", "love",

          "python"]   

另外,咱們也能夠同一行顯示多條語句,語句之間用分號(;)分割,示例以下:

print('Hello');print('world')   

對於用戶輸入,Python2 採用的是 raw_input(),而 3 版本則是 input() 函數:

# 等待用戶輸入# python 2

user_input = raw_input('請輸入一個數字:\n')# python 3

user_input = input('請輸入一個數字:\n')

print('user_input=', user_input)   

其中 \n 實現換行。用戶按下回車鍵(enter)退出,其餘鍵顯示。

對於 print 輸出,默認輸出是換行的,若是須要實現不換行,能夠指定參數 end,以下所示:

a = 3

b = 2

c = 4

d = 5# 默認換行

print(a)

print(b)# 不換行,並設置逗號分隔

print(c, end=',')

print(d)   

若是你有關於python的問題,能夠加博主的扣扣羣來交流:879151479

2 基本變量類型

計算機程序要處理不一樣的數據,須要定義不一樣的數據類型。Python 定義了六種標準的數據類型,分佈以下所示:

  • Numbers(數字)
  • Strings(字符串)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • Dictionary(字典)

變量賦值

Python 並不須要聲明變量的類型,所說的"類型"是變量所指的內存中對象的類型。但每一個變量使用前都必須賦值,而後纔會建立變量。給變量賦值的方法是採用等號(=),等號左邊是變量名,右邊是存儲在變量中的值。

一個示例以下:

counter = 100  # 賦值整型變量

miles = 1000.0  # 浮點型

name = "John"  # 字符串

 

print(counter)

print(miles)

print(name)   

Python 還容許同時爲多個變量賦值,有如下兩種實現方式:

# 建立一個整型對象,值爲1,三個變量被分配到相同的內存空間上

n = m = k = 2# 建立多個對象,而後指定多個變量

cc, mm, nn = 1, 3.2, 'abc'

 

print('n=m=k=', n, m, k)

print('cc=', cc)

print('mm=', mm)

print('nn=', nn)   

其中同時給多個變量賦值的方式也是 Python 獨特的一種變量賦值方法。

數字

數字類型用於存儲數值,它是不可改變的數據類型。Python 3 支持如下幾種數字類型:

int (整數)

float (浮點型)

complex(複數)

bool (布爾)

數字類型的使用很簡單,也很直觀,以下所示:

# int

q = 1# float

w = 2.3# bool

e = True# complex

r = 1 + 3j

print(q, w, e, r) # 1 2.3 True (1+3j)

# 內置的 type() 函數能夠用來查詢變量所指的對象類型

print(type(q))  # <class 'int'>

print(type(w))  # <class 'float'>

print(type(e))  # <class 'bool'>

print(type(r))  # <class 'complex'>

# 也能夠採用 isinstance()# isinstance 和 type 的區別在於:type()不會認爲子類是一種父類類型,isinstance()會認爲子類是一種父類類型

print(isinstance(q, int)) # True

print(isinstance(q, float)) # False   

對於數字的運算,包括基本的加減乘除,其中除法包含兩個運算符,/ 返回一個浮點數,而 // 則是獲得整數,去掉小數點後的數值。並且在混合計算的時候, Python 會把整數轉換爲浮點數

# 加

print('2 + 3 =', 2 + 3)  # 2 + 3 = 5# 減

print('3 - 2 =', 3 - 2)  # 3 - 2 = 1# 乘

print('5 * 8 =', 5 * 8)  # 5 * 8 = 40# 除# 獲得浮點數,完整的結果

print('5 / 2 =', 5 / 2)  # 5 / 2 = 2.5# 獲得一個整數

print('5 // 2 =', 5 // 2)  # 5 // 2 = 2# 取餘

print('5 % 2 =', 5 % 2)  # 5 % 2 = 1# 乘方

print('5 ** 2 =', 5 ** 2)  # 5 ** 2 = 25   

字符串

若是你有關於python的問題,能夠加博主的扣扣羣來交流:879151479

 

字符串或串(String)是由數字、字母、下劃線組成的一串字符。通常是用單引號 '' 或者 "" 括起來。

注意,Python 沒有單獨的字符類型,一個字符就是長度爲 1 的字符串。而且,Python 字符串是不可變,向一個索引位置賦值,如 strs[0]='m' 會報錯。

能夠經過索引值或者切片來訪問字符串的某個或者某段元素,注意索引值從 0 開始,例子以下所示:

 

切片的格式是 [start:end],實際取值範圍是 [start:end) ,即不包含 end 索引位置的元素。還會除了正序訪問,還能夠倒序訪問,即索引值能夠是負值。

具體示例以下所示:

s1 = "talk is cheap"

s2 = 'show me the code'

print(s1)

print(s2)

# 索引值以 0 爲開始值,-1 爲從末尾的開始位置

print('輸出 s1 第一個到倒數第二個的全部字符: ', s1[0:-1])  # 輸出第一個到倒數第二個的全部字符

print('輸出 s1 字符串第一個字符: ', s1[0])  # 輸出字符串第一個字符

print('輸出 s1 從第三個開始到第六個的字符: ', s1[2:6])  # 輸出從第三個開始到第六個的字符

print('輸出 s1 從第三個開始的後的全部字符:', s1[2:])  # 輸出從第三個開始的後的全部字符

# 加號 + 是字符串的鏈接符# 星號 * 表示複製當前字符串,緊跟的數字爲複製的次數

str = "I love python "

print("鏈接字符串:", str + "!!!")

print("輸出字符串兩次:", str * 2)

# 反斜槓 \ 轉義特殊字符# 若不想讓反斜槓發生轉義,能夠在字符串前面添加一個 r

print('I\nlove\npython')

print("反斜槓轉義失效:", r'I\nlove\npython')   

注意:

  • 一、反斜槓能夠用來轉義,使用 r 可讓反斜槓不發生轉義
  • 二、字符串能夠用 + 運算符鏈接在一塊兒,用 * 運算符重複。
  • 三、Python 中的字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。
  • 四、Python 中的字符串不能改變

字符串包含了不少內置的函數,這裏只介紹幾種很是常見的函數:

  • strip(x):當包含參數 x 表示刪除句首或者句末 x 的部分,不然,就是刪除句首和句末的空白字符,而且能夠根據須要調用 lstrip() 和 rstrip() ,分別刪除句首和句末的空白字符;
  • split():一樣能夠包含參數,若是不包含參數就是將字符串變爲單詞形式,若是包含參數,就是根據參數來劃分字符串;
  • join():主要是將其餘類型的集合根據必定規則變爲字符串,好比列表;
  • replace(x, y):採用字符串 y 代替 x
  • index():查找指定字符串的起始位置
  • startswith() / endswith():分別判斷字符串是否以某個字符串爲開始,或者結束;
  • find():查找某個字符串;
  • upper() / lower() / title():改變字符串的大小寫的三個函數
相關文章
相關標籤/搜索