Python筆記

Python筆記

1.縮進報錯

    IndentationError: unindent does not match any outer indentation level

2.多行語句

  • 使用 \ 進行多語句連接
    例:
total = item_one + \
        item_two + \
        item_three
  • [],{},()語句中換行不需要 \ 進行連接
    例:
total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

3.數據類型

  • Number(數字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Sets(集合)
  • Dictionary(字典)

不可變數據(四個):Number(數字)、String(字符串)、Tuple(元組)、Sets(集合);
可變數據(兩個):List(列表)、Dictionary(字典)。

4.數字類型(Number)

  python中數字有四種類型:整數、布爾型、浮點數和複數。

  • int (整型),如:1,爲長整型(沒有Python2 中的Long)
  • float(浮點型),如:1 + 2j、1.1 + 2.2j
  • bool(布爾型),值只能爲True或者False,分別對應int中的1和0
  • complex(複數),複數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 複數的實部a和虛部b都是浮點型。

5.字符串類型(String)

  • Python中單引號和雙引號使用完全相同(注:必須成對出現)
    正確示範
print('Hello Python!')
print("Hello Python!")

        錯誤示範

print('Hello Python!")
  • 三引號可以指定多行字符串(”’和”“”效果相同,但需成對使用)
    例:
str = '''
        Hello 
        World
        !
        ''' 
print(str)

輸出結果

Hello 
World
!
  • 轉義字符\
    例:
print('Hello \n World \n !')

輸出結果

Hello 
World
!
  • 使用r取消轉義
    例:
print(r'Hello \n World \n !')

輸出結果

Hello \n World \n !
  • 按字面意義級聯字符串
    例:
print("this " "is " "string")

輸出結果:

this is string

6.isinstance和type的區別

  • type()不會認爲自子類是一種
  • isinstance()會認爲子類是父類類型

7.Python2中沒有布爾類型,它用數字 0 表示 False,用 1 表示 True。到 Python3 中,把 TrueFalse 定義成關鍵字了,但它們的值還是 10,它們可以和數字相加

8.字符串截取

變量[頭下標:尾下標]

str = 'Hello Python'

print(str[0:2])     # 輸出第一到第二個字符    
print(str[:2])      # 輸出第一到第二個字符    
print(str[0])       # 輸出第一個字符    
print(str[3:6])     # 輸出第4到第5個字符    
print(str[4:])      # 輸出第四到最後的所有字符    
print(str[5:-2])    # 輸出第六到倒數第三個字符    
print(str[-3:-1])   # 輸出倒數第三個字符到倒數第二個字符
print(str * 2)      # 輸出兩遍str字符串
print(str + ' Test')# 輸出str和Test連接之後的字符串 

輸出結果:

He
He
H
lo 
o Python
 Pyth
ho
Hello PythonHello Python
Hello Python Test

9.List(列表)

  • 列表是寫在[]中用, 分隔開的元素列表
  • Python中同一列表元素類型可以不相同,它支持數字,字符串,甚至可以包含列表(嵌套)
    -ListString一樣,列表同樣可以被索引和截取,列表被截取後返回一個包含所需元素的新列表
  • List中的元素是可以改變的

10.Tuple(元組)

  • 元組是寫在()中用,分隔開的元素列表
  • 元組與列表相似,但元組中的元素不能修改
  • 元組中的元素類型可以不同
  • 元組與字符串類似,可以被索引且下標索引從0開始,-1 爲從末尾開始的位置。也可以進行截取
    -tuple的元素不可改變,但它可以包含可變的對象,比如list列表

當定義的元組中只有一個元素時,需要在元素後加,
例:

tup = (10,)

11.Set(集合)

  • 集合是一個無需不重複的序列
  • 基本功能是進行成員關係測試和刪除重複元素
  • set可以進行集合運算

    可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因爲 { } 是用來創建一個空字典


例:
set_1 = {'a', 'b','c','a'}
set_2 = set('abcabcdef')
print(set_1)
print(set_2)
if 'a' in set_1:
    print('a 在 set_1集合中')
else:
    print('a 不在 set_1集合中')

print(set_2- set_1)       # set_2和set_1的差集
print(set_1  | set_2)     # set_1和set_2的並集
print(set_1  & set_2)     # set_1和set_2的交集
print(set_1 ^ set_2)      # set_1和set_2中不同時存在的元素
輸出結果:
{'b', 'c', 'a'}
{'f', 'a', 'b', 'e', 'c', 'd'}
a 在 set_1集合中
{'f', 'd', 'e'}
{'f', 'a', 'b', 'e', 'c', 'd'}
{'b', 'c', 'a'}
{'e', 'f', 'd'}

12.Dictionary(字典)

  • 字典是無序對象的集合
  • 字典是一種映射類型,字典用{} 標識,他是一個無序的key:value(鍵值對)集合
  • 列表和字典的區別在於:字典通過元素的鍵來存取,而不是通過偏移存取
  • key(鍵)必須使用不可變類型
  • 同一個字典中,key(鍵)必須是唯一

13.Python數據類型轉換

函數 描述
int(x [,base]) 將x轉換爲一個整數
float(x) 將x轉換到一個浮點數
complex(real [,imag]) 創建一個複數
str(x) 將對象 x 轉換爲字符串
repr(x) 將對象 x 轉換爲表達式字符串
eval(str) 用來計算在字符串中的有效Python表達式,並返回一個對象
tuple(s) 將序列 s 轉換爲一個元組
list(s) 將序列 s 轉換爲一個列表
set(s) 轉換爲可變集合
dict(d) 創建一個字典。d 必須是一個序列 (key,value)元組。
frozenset(s) 轉換爲不可變集合
chr(x) 將一個整數轉換爲一個字符
ord(x) 將一個字符轉換爲它的整數值
hex(x) 將一個整數轉換爲一個十六進制字符串
oct(x) 將一個整數轉換爲一個八進制字符串

14.python不支持switch 語句

 所以多個條件判斷,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。

15.python 複合布爾表達式計算採用短路規則

如果通過前面的部分已經計算出整個表達式的值,則後面的部分不再計算。下列代碼會正常執行

a=0
b=1
if ( a > 0 ) and ( b / a > 2 ):
    print "yes"
else :
    print "no"

下列代碼會報錯

a=0
b=1
if ( a > 0 ) or ( b / a > 2 ):
    print "yes"
else :
    print "no"

16.Python中沒有do...while循環

17.while … else

while循環條件爲 false 時執行 else 語句塊

18.for … else

for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。

19.continue 語句是一個刪除的效果,他的存在是爲了刪除滿足循環條件下的某些不需要的成分

20.Python可以用 + 來連接字符串,但是不能混合不同類型的數據類型,例如字符串和整數

例:

str =  'hello ' + 1
str

輸出結果:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-f17b8b8b2679> in <module>()
----> 1 str =  'hello ' + 1
      2 str

TypeError: must be str, not int

21.遍歷字典可以使用items()

例:

ages = {
    "Peter": 10,
    "Isabel": 11,
    "Anna": 9,
    "Thomas": 10,
    "Bob": 10,
    "Joseph": 11,
    "Maria": 12,
    "Gabriel": 10,
}

for name, age in ages.items():
    print(name, age)

輸出結果:

Peter 10
Isabel 11
Anna 9
Thomas 10
Bob 10
Joseph 11
Maria 12
Gabriel 10

IPython magic命令

ipython解釋器提供了很多以百分號%開頭的magic命令,這些命令很像linux系統下的命令行命令(事實上有些是一樣的)。
例:

%lsmagic

輸出結果:

Available line magics:
%alias  %alias_magic  %autocall  %automagic  %autosave  %bookmark  %cd  %clear  %cls  %colors  %config  %connect_info  %copy  %ddir  %debug  %dhist  %dirs  %doctest_mode  %echo  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %macro  %magic  %matplotlib  %mkdir  %more  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %popd  %pprint  %precision  %profile  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %ren  %rep  %rerun  %reset  %reset_selective  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%capture  %%cmd  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%markdown  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章