Python 基礎


 零基礎學Python,本文是我個人的隨心筆記,希望對你有益!


注釋單行:#……  多行:單引號(’’’) 雙引號(”””)

基本數據類型整數:int;浮點數:float(只有這兩種);str:字符串;bool:布爾類型;complete:復數;list:列表;tuple:元組;set:集合;dict:字典

 1 >>> type(2)
 2 <class 'int'>
 3 >>> type(1.1)
 4 <class 'float'>
 5 >>> type(1+1.1)
 6 <class 'float'>
 7 >>> type(2/2)
 8 <class 'float'>
 9 >>> type(2//2)
10 <class 'float'>
11  >>> 2//2
12 1
13 >>> 2/2
14 1.0
15 >>> 2*2
16 4
基本類型

type()用來獲取該表達式的數據類型

//:  除並取整

/ :除之后商有一位小數

1 print("I", end=" ")
2 print("love ", end='')
3 print("you !")           # I love you !(沒有換行)

進制轉換

 1 >>> 0b10    # 二進制
 2 2
 3 >>> 0o10    # 八進制
 4 8
 5 >>> 0x10    # 十六進制
 6 16
 7 >>> bin(0o10)    # 八進制 轉換 二進制
 8 '0b1000'
 9 >>> bin(10)       # 十進制 轉換 二進制
10 '0b1010'
11 >>> bin(0x10)    # 十六進制 轉換 二進制
12 '0b10000'
13 >>> int(0b10)     # 二進制 轉換 八進制
14 2
15 >>> int(0o10)     # 十進制 轉換 八進制
16 8
17 >>> int(0x10)     # 十六進制 轉換 八進制
18 16
19 >>> hex(0b10)   # 二進制 轉換 十六進制
20 '0x2'
21 >>> hex(0o10)   # 八進制 轉換 十六進制
22 '0x8'
23 >>> hex(10)      # 十進制 轉換 十六進制
24 '0xa'
進制轉換

布爾類型

 1 # True和False首字母都要大寫
 2 >>> type(True)
 3 <class 'bool'>
 4 >>> type(False)
 5 <class 'bool'>
 6 >>> int(True)
 7 1
 8 >>> int(False)
 9 0
10 >>> bool(1)
11 True
12 >>> bool(0)
13 False
14 >>> bool(2)
15 True
16 >>> bool(2.2)
17 True
18 >>> bool(-2)
19 True
20 >>> bool('abc')
21 True
22 >>> bool('')
23 False
24 >>> bool([1,2,3])
25 True
26 >>> bool([])
27 False
28 >>> bool({1,2,3})
29 True
30 >>> bool({})
31 False
32 >>> bool(None)
33 False
34 >>> 36j    # 輸出復數
35 36j
布爾類型

str(不可變):字符串 -> 單引號,雙引號,三引號(成對出現)

 1 >>> "let's go !"
 2 "let's go !"
 3 >>> '''
 4 ... 1
 5 ... 2
 6 ... a
 7 ... b
 8 ... '''
 9 '\n1\n2\na\nb\n'
10 >>> "let's go !"
11 "let's go !"
12 >>> '''
13 ... 1
14 ... 2
15 ... a
16 ... b
17 ... '''
18 '\n1\n2\n3\na\nb\n'
19 >>> """\n1\n2\na\nb\n"""
20 '\n1\n2\na\nb\n'
21 >>> print("""\n1\n2\n3\na\nb\n""")
22 
23 1
24 2
25 3
26 a
27 b
28 
29 結束
str

format格式化函數

 1 >>> "{} {}".format("hello","world")    # 不設置指定位置,按默認順序
 2 'hello world'
 3 >>> "{0} {1}".format("hello","world")    # 設置指定位置
 4 'hello world'
 5 >>> "{1} {0} {1}".format("hello","world")    # 設置指定位置
 6 'world hello world'
 7 >>> "網站名:{name},地址:{url}".format(name="世界與你同在",url=" http://www.worldiwiu.ltd/main ")    # 設置參數
 8 '網站名:世界與你同在,地址:http://www.worldiwiu.ltd/main '    
 9 >>> site = {"name": "世界與你同在", "url": " http://www.worldiwiu.ltd/main "}    # 通過字典設置參數
10 >>> "網站名:{name},地址:{url}".format(**site)    # 通過**可講字典中的值分配給關鍵字參數
11 '網站名:世界與你同在,地址:http://www.worldiwiu.ltd/main '
12 >>> list = ['世界與你同在',' http://www.worldiwiu.ltd/main ']
13 >>> "網站名:{0[0]},地址:{0[1]}".format(list)    # 通過列表索引設置參數;“0”是必須的
14 '網站名:世界與你同在,地址:http://www.worldiwiu.ltd/main '
format格式化函數

關鍵字參數和默認值

像這樣使用名稱指定的參數稱為關鍵字參數,只要有點是有足浴澄清各個參數的作用

 >>>store(patient=’Mr.Brainsample’,hour=10,minute=20,day=13,month=5) 

雖然這樣做的輸入量多些,但每個參數的作用清晰明了。另外,參數的順序錯了也沒有關系,關鍵字參數最大的有點在於,可以指定默認值

 1 def hello_1(getting,name):
 2     print(‘{},{}!’.format(getting, name))
 3 >>>hello_1(name=’world’, getting=’Hello’)
 4 Hello,world!
 5 
 6 def hello_1(name,getting):
 7     print(‘{},{}!’.format(name, getting))
 8 >>>hello_2(getting=’Hello’, name=’world’)
 9 world,Hello!
10 
11 def hello_3(getting=‘Hello’,name=‘world’):
12     print(‘{},{}!’.format(getting, name))
13 # 參數設置默認值
14 >>>hello_3()
15 Hello,world!
16 >>>hello_3('I love', 'you ')
17 I love,you !
18 >>>hello_3(name='xing')
19 Hello,xing!
20 
21 def hello_4(name, getting='Hello', fuhao='!'):
22     print('{},{}{}'.format(getting, name, fuhao))
23 >>>hello_4('xing')
24 Hello,xing!
25 >>>hello_4('興,今天過得好嗎', getting='你好', fuhao='?')
26 你好,興,今天過得好嗎?
關鍵詞參數和默認值

收集參數

 1 def print_params(*params):
 2     print(params)
 3 >>> print_params('Testing')
 4 ('Testing',)
 5 >>> print_params(1,2,3)
 6 (1, 2, 3)
 7 
 8 def print_params_2(title, *params):
 9     print(title, end="")
10     print(params)
11 >>>print_params_2('Params:', 1, 2, 3)
12 Params:(1, 2,3)# *:收集余下的位置參數
13 
14 def print_params_3(x, *y, z):
15     print(x, y, z)
16 >>>print_params_3(1, 2, 3, z=4)
17 1 (2, 3) 4
18 print_params_3(1, 2, 3, 4)
19 # 星號不會收集關鍵字參數
20 TypeError: print_params_3() missing 1 required keyword-only argument: 'z'
21 
22 # 要收集關鍵字參數,可使用兩個星號
23 def print_params_4(**params):
24     print(params)
25 >>>print_params_4(x=1, y=2, z=3)
26 {'x': 1, 'y': 2, 'z': 3}
27 
28 def print_params_5(x, y, a, z=4, *pospar, **keypar):
29     print(x, y, z, a)
30     print(pospar)
31     print(keypar)
32 print_params_5(1, 2, 0, 3, 4, 5, 7, 6, foo=9, bar=8)
33 1 2 3 0
34 (5, 7, 6)
35 {'foo': 9, 'bar': 8}
收集參數

分配參數

1 def add(x, y):
2 return x + y
3 b=(2, 5)
4 print(add(*b))  # 顯示: 7
5 # 這與前面的操作差不多是相反:不是收集參數,而是分配參數。這是通過在調用函數(而不是定義函數)時使用運算符*實現的
6 params = {'name': '', 'getting': '你好'}
7 hello_3(**params)     # 你好,興!
分配參數

轉義字符

轉義字符

描述

\(在行尾時)

續行符

\\

反斜杠符號

\'

單引號

\"

雙引號

\a

響鈴

\b

退格(Backspace)

\e

轉義

\000

\n

換行

\v

縱向制表符

\t

橫向制表符

\r

回車

\f

換頁

\oyy

八進制數,yy代表的字符,例如:\o12代表換行

\xyy

十六進制數,yy代表的字符,例如:\x0a代表換行

\other

其它的字符以普通格式輸出

1 >>> print(r'I\nlove\nyou')    # 加r之后,將輸出原始字符串
2 I\nlove\nyou
3 >>> print('I\nlove\nyou')
4 I
5 love
6 you

字符切片

 1 >>> "hello word"[-0]
 2 'h'
 3 >>> "hello word"[0]
 4 'h'
 5 >>> "hello word"[2:5]
 6 'llo'
 7 >>> "hello word"[2:-1]
 8 'llo wor'
 9 >>> "I love you"[1]
10 ' '          # 空格也將會輸出
11 >>> "I love you"[2:]
12 'love you'
13 >>> "I love you"[-3:]
14 'you'
15 >>> "I love you"[:-1]
16 'I love yo'
17 >>> "I love you"[:-0]
18 ''
19 >>> "I love you"[:0]
20 ''
21 >>> ["I","love","you"][1:]
22 ['love', 'you']
23 >>> ["I","love","you"][1:2]*3
24 ['love', 'love', 'love']
25 >>> type(["I","love","you"])
26 <class 'list'>
27 >>> (("I","love","you"))[1:]
28 ('love', 'you')
29 >>> "I love yuo I love you I love you"[2:15:3]
30 'leuIo'
31 >>> "I love yuo I love you I love you"[2::3]
32 'leuIo u vy'
33 # 2 :表示索引1;    15:表示索引2;    3 :表示每隔三個輸出一個字符
34 >>> "love" in ["I","love","yuo"]
35 True
36 # 表達式1  in  表達式 => 表達式1是否在表達式2中
字符切片

元組:( )    列表:[ ]    字典:{ }(無序的,沒有索引,不可切片)

1 >>> type(set())    # 定義空的集合
2 <class 'set'>
3 >>> {1,2,3,4,5,6,7} - {3,4}    # 差集
4 {1, 2, 5, 6, 7}
5 >>> {1,2,3,4,5,6,7} & {3,4}    # 交集
6 {3, 4}
7 >>> {1,2,3,4,5,6,7} | {3,4}    # 並集
8 {1, 2, 3, 4, 5, 6, 7}
集合運算

位運算符

& -> 與

| -> 或

^ -> 異或

- -> 取反

<< -> 左移動

 >> -> 右移動

int str tuple (不可變)值類型 list set dict(可變)引用類型

成員資格運算符  in    not in   測試該變量是否在該元組(列表、集合)中

相同運算符  is    not is   比較變量是否是同一個對象


 list:列表

list01 = [1,2,3]

list01.append(4)

print("list01:", list01)

list02 = list01

list03 = list01.copy()

print("list02:", list02)

list02[1] = 0

print("list03:", list03)

print("list02:", list02)

print("list01:", list01)

list01.clear()

list01[2:2] = [8]

print("list03:", list03)

print("list02:", list02)

print("list01:", list01)

 

 

list01: [1, 2, 3, 4]

 

 

list02: [1, 2, 3, 4]

 

list03: [1, 2, 3, 4]

list02: [1, 0, 3, 4]

list01: [1, 0, 3, 4]

[]

 

list03: [1, 2, 3, 4]

list02: [1, 0, 8, 3, 4]

list01: [1, 0, 8, 3, 4]

append:用於將一個對象附加到列表末尾

 

=:這種復制(同一對象)

copy:復制列表(兩個不同對象)

 

 

 

 

clear:清空該列表

在列表中插入一個元素

列表函數

len()

返回列表的長度

max()

返回列表中最大值

min()

返回列表中最小值

list()

用於將元組轉化為列表

列表方法

append(object)

用於將一個對象附加到列表末尾

1 >>> list01 = [1, 2, 3]
2 >>> list.append(4)
3 >>> list01.append(4)
4 >>> list01
5 [1, 2, 3, 4]
append(object)

clear()

清空列表的內容

1 >>> list01 = [1, 2, 3]
2 >>> list01.clear()
3 >>> list01
4 []
clear()

copy()

復制列表(復制成兩個不同對象)

1 >>> list01 = [1, 2, 3, 4]
2 >>> list02 = list01.copy()
3 >>> list02
4 [1, 2, 3, 4]
copy()

count(value)

計算指定的元素在列表中出現了多少次

1 >>> list01 = [1, 2, 3, 4, 1, 2, [3, 4], [1, 2, [3, 4]]]
2 >>> list01.count(3)
3 1
4 >>> list01.count([3, 4])
5 1
count(value)

extend(list)

能夠同時將多個值附加到列表末尾,為此可將這些值組成的序列作為參數提供給方法extend

1 >>> list01 = [1, 2, 3, 4]
2 >>> list02 = [5, 6, 7, 8]
3 >>> list01 + list02
4 [1, 2, 3, 4, 5, 6, 7, 8]
5 >>> list01
6 [1, 2, 3, 4]
7 >>> list01.extend(list02)
8 >>> list01
9 [1, 2, 3, 4, 5, 6, 7, 8]
extend(list)

index(value)

在列表中查找指定值第一次出現的索引

1 >>> list01 = ["1", "2", "3", "4"]
2 >>> list01.index('3')
3 2
index(value)

insert(index,object)

用於將一個對象插入列表

1 >>> list01 = [1, 2, 4, 5]
2 >>> list01.insert(2,"three")
3 >>> list01
4 [1, 2, 'three', 4, 5]
insert(index, object)

pop([index])

從列表中刪除一個元素(末尾為最后一個元素),並返回該元素

(pop是唯一既修改列表有返回一個非None值的列表方法;使用pop可實現一種常見的數據結構——棧(stack),后進先出(LIFO))

1 >>> list01 = [1, 2, 3, 4]
2 >>> list01.pop()
3 4
4 >>> list01
5 [1, 2, 3]
6 >>> list01.pop(0)
7 1
8 >>> list01
9 [2, 3]
pop([index])

remove(value)

用於刪除第一個為指定值的元素

1 >>> list01 = [1, 2, 3, 4, 2, 4, 3, 1]
2 >>> list01.remove(1)
3 >>> list01
4 [2, 3, 4, 2, 4, 3, 1]
remove(value)

reverse()

按相反的順序排列列表中的元素(把列表元素反過來)

1 >>> list01 = [1, 2, 3, 4]
2 >>> list01.reverse()
3 >>> list01
4 [4, 3, 2, 1]
reverse()

sort()

對列表進行升序排序

 

sorted()

對列表進行升序排序,或對字符串也可以進行排序操作

 1 list_x = [2, 5, 6, 4, 3, 1, 8]
 2 list_y = list_x.copy()
 3 print("list_y:", list_y)          # list_y: [2, 5, 6, 4, 3, 1, 8]
 4 list_y.sort()
 5 print("list_y:", list_y)          # list_y: [1, 2, 3, 4, 5, 6, 8]
 6 print("list_y:", list_y.sort())   # list_y: None(不能直接點sort()方法)
 7 list_z = sorted(list_x)
 8 print("list_z:", list_z)          # list_z: [1, 2, 3, 4, 5, 6, 8]
 9 print(sorted('Python'))        # ['P', 'h', 'n', 'o', 't', 'y']
10 list_x = ['2', '5', '6', '4', '3', '1', '8']
11 list_y.sort(key=len, reverse=True)
12 print("list_y:", list_y)          # list_y: ['1', '2', '3', '4', '5', '6', '8']
13 list_y.sort(key=len)
14 print("list_y:", list_y)          # list_y: ['1', '2', '3', '4', '5', '6', '8']
15 list_y.sort(reverse=True)
16 print("list_y:", list_y)          # list_y: ['8', '6', '5', '4', '3', '2', '1']
sort()和sorted()

tuple:元組(不可變)

元組函數

len()

返回元組長度

max()

返回元組最大值

min()

返回元組最小值

tuple()

用於將列表轉換為元組

sum()

求元組中所有元素之和

dict:字典(無序)

 格式:{key1 : value1, key2 : value2} 

key:不可變的類型

1 >>> {'Q':'新月打擊','W':'蒼白之瀑','E':'月之降臨','R':'月神沖刺'}['Q']
2 '新月打擊'

字典函數

len(dict)

計算字典元素個數

str(dict)

輸出字典以可打印的字符串表示

type(variable)

返回輸入的變量類型

字典方法

 >>> dict = {} # 新建空字典 

clear()

用於清除字典中的所有元素

copy()

用於復制字典

get(key,[,d])

該方法中key是字典的鍵值,d是鍵值的默認值。若存在key就返回其值,否則返回d

1 >>> dict.get("D","閃現")
2 '閃現'
3 >>> dict
4 {'Q': '新月打擊', 'W': '蒼白之瀑', 'E': '月之降臨', 'R': '月神沖刺'}
get(key,[,d])

items()

該方法使用字典中元素創建一個以(key,value)為一組的元組對象

1 >>> dict.items()
2 dict_items([('Q', '新月打擊'), ('W', '蒼白之瀑'), ('E', '月之降臨'), ('R', '月神沖刺')])
items()

keys()

該方法使用字典中的鍵值來創建一個列表對象

1 >>> dict.keys()
2 dict_keys(['Q', 'W', 'E', 'R'])
keys()

values

該方法使用字典中鍵值來創建一個列表對象

1 >>> dict.values()
2 dict_values(['新月打擊', '蒼白之瀑', '月之降臨', '月神沖刺'])
values()

popitem()

該方法用於刪除字典中的隨機一個元素

1 >>> dict.popitem()
2 ('R', '月神沖刺')
3 >>> dict
4 {'Q': '新月打擊', 'W': '蒼白之瀑', 'E': '月之降臨'}
popitem()

setdefault(key[,d])

該方法中key是字典的鍵值,d是鍵值的默認值。若key存在,就返回其值,否則返回d

1 >>> dict.setdefault("D","閃現")
2 '閃現'
3 >>> dict
4 {'Q': '新月打擊', 'W': '蒼白之瀑', 'E': '月之降臨', 'R': '月神沖刺', 'D': '閃現'}
setdefault(key,[,d])

update(E)

該方法中E是字典對象,由字典對象E來更新此字典

1 >>> print(dict.update({"D":"閃現"}))
2 {'Q': '新月打擊', 'W': '蒼白之瀑', 'E': '月之降臨', 'R': '月神沖刺', 'D': '閃現'}
update(E)

fromkeys()

創建一個新字典,其中包括指定的鍵,且沒個鍵對應的值都是None

1 >>> {}.fromkeys(['Q','W','E','R'])
2 {'Q': None, 'W': None, 'E': None, 'R': None}
fromkeys()

values()

返回一個由字典中的值組成的字典視圖

1 >>> d = {}
2 >>> d[1] = 1
3 >>> d[2] = 2
4 >>> d[3] = 3
5 >>> d.values()
6 dict_values([1, 2, 3])
values()

先定義一個空字典

 

向字典中添加元素

 

輸出字典視圖

打印字典視圖


迭代器與生成器

迭代是Python最強大的功能之一,是訪問集合元素的一種方式

迭代器是一個可以記住遍歷的位置的對象

迭代器對象從集合的第一元素開始訪問,直到所有哦的元素被訪問完結束。迭代器只能往前不會后退

迭代器有兩個基本的方法:iter()和next()

StopItertion異常用於標識迭代的完成,防止出現無限 循環的情況,在__next__()方法中我們可以設置在完成指定循環次數后接觸發StopItertion異常來結束迭代。

生成器:

在Python中,使用了yield的函數被稱為生成器(generator)

跟普通函數不同的是,生成器是一個返回迭代器的函數,只能永不迭代操作,更簡單點理解生成器就是一個迭代器

在調用生成器運行的過程中,每次遇到yield時函數會暫停並保存當親所有的運行信息,返回yield的值,並在下一次執行next()方法是從當前位置繼續運行。

調用一個生成器函數,返回的是一個迭代器對象。


運算符的優先級

運算符說明

Python運算符

優先級

索引運算符

x[index]或x[index:index2[:index3]]

18、19

屬性訪問

x.attrbute 

17

乘方

**

16

按位取反

~

15

符號運算符

+或-

14

乘、除

*、/、//、%

13

加、減

+、-

12

位移

>>、<<

11

按位與

&

10

按位異或

^

9

按位或

|

8

比較運算符

==、!=、>、>=、<、<= 

7

is運算符

is、is not

6

in運算符

in、not in

5

邏輯非

not

4

邏輯與

and

3

邏輯或

or

2


字符串

1 >>> a = "你好, %s, 你的房間號是%d。"
2 >>> b = ('張先生',102)
3 >>> a % b
4 '你好, 張先生, 你的房間號是102。'
字符串格式化

%%

百分號標記

%c

字符及其ASCII碼

%s

字符串

%d

有符號整數(十進制)

%u

無符號整數(十進制)

%o

無符號整數(八進制)

%x

無符號整數(十六進制)

%X

無符號整數(十六進制大寫字符)

%e

浮點數字(科學計數法 )

%E

浮點數字(科學計數法,用E代替e)

%f

浮點數字(用小數點符號)

%g

浮點數字(根據值的大小采用%e或%f)

%G

浮點數字(類似於%g)

%p

指針(用於十六進制打印值的內存地址)

%n

存儲輸出字符的數量放進參數列表下一個變量中

符號

符號

說明

m.n

m是顯示的最小總寬度,n是小數點后的位數

-

用於左對齊

+

在正數前面顯示加號(+)

#

在八進制數面前顯示‘0o’,在十六進制數前面顯示'0x‘或者’0X'

0

顯示的數字前面填充‘0’取代空格

字符串方法、使用說明和案例

字符串方法

使用說明

案例

capitalize()

用於將字符串的第一個字母變成大寫,其他字母變成小寫

1 >>> str = "i Love you"
2 >>> str.capitalize()
3 'I love you'
capitalize()

count(String,start,end)

用於統計字符串里某個字符出現的次數。可選參數為在字符串搜索的開始與結束位置

1 >>> s = 'o'
2 >>> str.count(s)
3 2
4 >>> str.count(s,0,5)
5 0
6 >>> str.count(s,0,12)
7 1
count(String,start,end)

find(String,start,end)

用於檢測字符串中是否含子字符串。若含有子字符串,則返回開始的索引值;,否則返回 -1

還可以指定位置去查找子串

1 >>> str = "Python程序設計案例教程"
2 >>> s = "程序"
3 >>> str.find(s, 0, len(str))
4 6
find(String,start,end)

index(String,start,end)

用於檢測字符串中是否含子字符串。若含有,則返回開始索引值;否則會報一個異常

1 >>> str = "Python程序設計案例教程"
2 >>> s = "程序"
3 >>> str.index(s, 0, len(str))
4 6
5 >>> str.index(s, 7, len(str))
6 Traceback (most recent call last):
7   File "<stdin>", line 1, in <module>
8 ValueError: substring not found
index(String,start,end)

isalnum()

用於檢測字符串是否由漢字、字母和數字組成

1 >>> str = "Python程序設計案例教程"
2 >>> str.isalnum()
3 True
4 >>> str = "Python 程序設計案例教程"
5 >>> str.isalnum()
6 False   # 該字符串有空格
isalnum()

join(sequence)

將序列中的元素用指定的字符連接生成一個新的字符串

1 >>> str = ("Python","程序","設計","案例","教程")
2 >>> s = "*"
3 >>> s.join(str)
4 'Python*程序*設計*案例*教程'
join(sequence)

split()

作用與join方法 相反

1 >>> str = "I love you !"
2 >>> str.split(" ")
3 ['I', 'love', 'you', '!']
split()

isalpha()

用於檢測字符串是否 只有字母和漢字組成

1 >>> str = "Python程序設計案例教程"
2 >>> str.isalpha()
3 True
4 >>> str = "Python 程序設計案例教程"
5 >>> str.isalpha()
6 False    # 該字符串有空格
isalpha()

isdigit()

用於檢測字符串是否只由數字組成

1 >>> str = "Python程序設計案例教程"
2 >>> str.isdigit()
3 False
4 >>> str = "1314520"
5 >>> str.isdigit()
6 True
isdigit()

lower()

將字符全部轉化為小寫

1 >>> str = "i Love you"
2 >>> str.lower()
3 'i love you'
lower()

swapcase()

講字符串大小寫互換

1 >>> str = "I Love You !"
2 >>> str.swapcase()
3 'i lOVE yOU !'
swapcase()

upper()

將字符全部轉化為大寫

1 >>> str = "i Love you !"
2 >>> str.upper()
3 'I LOVE YOU !'
upper()

min()

字符串最小值

1 >>> str = "I love you !"
2 >>> min(str)
3 ' '
min()

max()

字符串最大值

1 >>> str = "I love you !"
2 >>> max(str)
3 'y'
max()

len()

計數字符串個數

1 >>> str = "I love you !"
2 >>> len(str)
3 12
len()

title()

“標題化”該字符串

1 >>> str = "I love you !"
2 >>> str.title()
3 'I Love You !'
title()

replace(old,new[,max])

用於把字符串中的舊字符串替換成新的字符串

max: 表示替換不超過max次

1 >>> str = "I do not love you !"
2 >>> str.replace(" do not "," ")
3 'I love you !'
replace(old,new[,max])

translate()

用法和replace方法相同,但不同的的是它只能替換一個字符

1 >>> str = "I love you !"
2 >>> str.translate(str.maketrans('LY','ly'))
3 'I love you !'
translate()

center()

通過在兩邊添加填充字符(默認為空格)讓字符串居中

1 >>> str = "I love you !"
2 >>> s = "*"
3 >>> str.center(20,s)
4 '****I love you !****'
center()

strip()

去除字符串開頭和末尾的空格

1 >>> str = "    I love you !    "
2 >>> str.strip()
3 'I love you !'
strip()

導包

導包

說明

from math import *

sqrt(9)

第一種導包

后面用起來更簡潔

from math import sqrt,pow,floor

第二種導包(可同時導入多個包)

import math

math.sqrt(9)

第三種導包

import math as shuxue

shuxue.sqrt(9)

導包同時可以用(as)重命名

from math as shuxue import *

沒有這種,會報錯

from math import pow as pf

pf(2,3)

pow(2,3)

導入特定的函數並給它指定別名

賦值

賦值

說明

序列解包

>>> x,y,z = 1,2,3

>>> print(x,y,z)

1 2 3

一起賦多個值

>>> x,y,z = 1,2,3

>>> x,y = y,x

>>> print(x,y,z)

2 1 3

兩個變量值簡易交換

1 >>> a,b,*rest = [1, 2, 3, 4]
2 >>> rest                   # [3, 4]
3 >>> a                       # 1
4 >>> b                       # 2
5 >>> c,d = rest
6 >>> c                        # 3
7 >>> d                        # 4
星號運算符( * )

星號運算符(*)來收集多余的值,這樣無需確保值和變量的個數相同

鏈式賦值

1 >>> a = b = [1, 2]
2 >>> a == b
3 True
4 >>> a is b
5 True
鏈式賦值

同等效果
(同一對象)

1 >>> a = [1, 2]
2 >>> a = b
3 >>> a == b
4 True
5 >>> a is b
6 True
鏈式賦值
1 >>> a = [1, 2]
2 >>> b = [1, 2]
3 >>> a == b
4 True
5 >>> a is b
6 False
鏈式賦值

這樣不是同一對象

 常見語句

語句

說明

pass

空語句,主要為了保持結構的完整性。pass不做任何事情,一般用做占位語句

continue

跳出本次循環,執行下一次循環

break

終止循環

常用方法

函數

說明

案例

range

tart:計數從start開始。默認是從0開始。例如:range(5)等價於range(0,5)

stop:計數到stop結束,但不包括stop。例如:range(0, 5)是[0, 1, 2, 3, 4]沒有5

step:步長,默認為1。例如:range(0,5)等價於range(0,5,1)

1 print("乘法口訣表:")
2 for x in range(1, 10):
3     for y in range(1, x+1):
4         print(y, "*", x, "=", x*y, end="\t\t")
5     print()
range

len

方法返回對象(字符、列表、元組等)長度或項目個數。

 

complex(real[,imag])

創建一個復數,其值為real + imag * j

 

dir([object])

返回object對象的屬性名稱列表。若沒有指定參數object,則會返回現有的區域符號表(Loaal Symbol Table)

 

divmod(a,b)

將a除以b的商與余數以元組類型返回,若a、b是整數或是長整數,返回值為(a/b,a%b),

1 >>> divmod(5,3)
2 (1, 2)
divmod(a,b)

exal(expression[,globals[,locals]])

運行expression表達式。global定義全局命名空間(global namespace),locals定義局部命名空間(locals namespace)。若沒有locals參數,則使用globals定義值。若沒有globals與locals參數,則使用單元本身的命名空間

 

exec string [in globals[,locals]]

運行包含Python程序代碼的字符串string,globals與locals分別定義全局命名空間與局部命名空間

 

id(object)

返回object對象的唯一識別碼,此識別碼為一整數

1 >>> t = 9
2 >>> id(t)
3 1639045424
id(object)

int(x[, radix])

x為數值/字符串,若是字符串,可以設置radix值。radix是進制的基底值,可以是[2,36]之間的整數或0.若radix是0,則Python會根據字符串值進行判斷。radix是用來說明x是幾進制數

1 >>> int(100.5)
2 100
3 >>> int("100",8)
4 64
5 >>> int("100",16)
6 256
7 >>> int("100",0)
8 100
int(x[,radix])

max(s[,args...])

若只有一個參數,返回序數對象s中元素的最大值。如果有多個參數,返回最大的序數

1 >>> max(1,2,3,5,9)
2 9
3 >>> max("I love you !")
4 'y'
5 >>>max((1,2,3),(2,3),(1,2,4))
6 (2, 3)
max()

min(s[,args...])

若只有一個參數,返回序數對象s中元素的最小值。若有多個參數,返回最小的序數

1 >>> min(1,2,3,5,9)
2 1
3 >>> min("I love you !")
4 ' '
5 >>>min((1,2,3),(2,3),(1,2,4))
6 (1, 2, 3)
min()

ord(c)

返回單字符字符串c的ASCII或Unicode字符。若c是ASCII字符,ord()函數與chr()函數作用相反;若c是Unicode字符,ord()函數與unichr()函數作用相反

1 >>> ord("")
2 9829
3 >>> chr(9829)
4 ''
ord(c)

pow(x, y[, z])

若沒有參數z返回xy,如果有z,則返回xy % z,y不能是負數

1 >>> pow(2,4)
2 16
3 >>> pow(2,4,5)
4 1
5 >>> pow(2,-1)
6 0.5
pow(x, y[, z])

tuple(sequence)

使用sequence來創建一個元組對象。若sequence本身就是一個元組,其值不變

1 >>> tuple("love")
2 ('l', 'o', 'v', 'e')
3 >>> tuple(['l', 'o', 'v', 'e'])
4 ('l', 'o', 'v', 'e')
tuple(sequence)

用戶自定義函數

1 # def 自定義函數名(形參1,形參2,…):
2 #      函數體
3 # (return 返回值)
4 # 參數:1.必須參數2.關鍵字參數3.默認參數
1 # 自定義函數
2 def add(x, y):
3      result = x+y
4     return result
5 
6 z1 = add(3, 5)                # 必須參數傳值
7 z2 = add(y=5, x=3)        # 關鍵字參數傳值
8 print("z1 = ", z1, ",z2 = ", z2)       # z1 =  8 ,z2 =  8
案例

__init__.py 文件的使用

 1 import src.com.wx.ACM
 2 # 歡迎來到IT決戰空間,請展示您的代碼效果了!
 3 # src.com.wx.ACM_file.__init__.py
 4 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5 
 6 import src.com.wx.PracticeTraining
 7 # 歡迎來到IT決戰空間,請展示您的代碼效果了!
 8 # src.com.wx.PracticeTraining_file.__init__.py
 9 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 
11 import init
12 # 歡迎來到IT決戰空間,請展示您的代碼效果了!
13 # src.com.wx.PracticeTraining.init_file.__init__.py
14 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
案例

Python日期和時間

python中時間日期格式化符號

%y

兩位數的年份表示(00-99)

%Y

四位數的年份表示(000-9999)

%m

月份(01-12)

%d

月內中的一天(0-31)

%H

24小時制小時數(0-23)

%I

12小時制小時數(01-12)

%M

分鍾數(00=59)

%S

秒(00-59)

%a

本地簡化星期名稱

%A

本地完整星期名稱

%b

本地簡化的月份名稱

%B

本地完整的月份名稱

%c

本地相應的日期表示和時間表示

%j

年內的一天(001-366)

%p

本地A.M.或P.M.的等價符

%U

一年中的星期數(00-53)星期天為星期的開始

%w

星期(0-6),星期天為星期的開始

%W

一年中的星期數(00-53)星期一為星期的開始

%x

本地相應的日期表示

%X

本地相應的時間表示

%Z

當前時區的名稱

%%

%號本身

 1 import time
 2 import calendar
 3 def Calendar():
 4     year = int(time.strftime("%Y", time.localtime()))
 5     month = int(time.strftime("%m", time.localtime()))
 6     cal = calendar.month(year, month)
 7     print(cal)
 8 Calendar()
 9 #      July 2019
10 # Mo Tu We Th Fr Sa Su
11 #  1   2   3   4   5  6   7
12 #  8   9  10 11 12 13 14
13 # 15 16 17 18 19 20 21
14 # 22 23 24 25 26 27 28
15 # 29 30 31
16 
17 print('北京時間:')
18 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))  # 獲取當前日期時間
19 # 北京時間:
20 # 2019-07-08 20:17:42
案例

 

如有錯誤或不足,請留言,謝謝!

本文鏈接:https://www.cnblogs.com/AI-Star-Java/p/11718743.html 

謝謝欣賞!關注一下!精彩不斷!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM