網路爬蟲及面試中必須掌握的python基礎知識(二)__python

來源:互聯網
上載者:User

python的基本運算子

什麼是運算子。類似於5+7=12、12-4=8、3*9=27、1/4=0.25。

python算術運算子:                                        

運算子 描述 執行個體
+ 加-兩個對象相加(數字、字串、列表、元組)

3+2輸出 5

"a"+"b" 輸出 "ab"

- 減-一個數減去另一個數或集合的差集

9-1輸出 8

{1,2,3}-{2}輸出{1,3}

* 乘- 兩個數相乘或是返回一個被重複若干次的的對象(字串,列表,元組)

4*5輸出20

[0,1]*2輸出[0,1,0,1]

/ 除-兩個數相除 5/2輸出2.5
// 整除-返回商的整數部分 5//2輸出2
% 模數-返回除法的餘數 5%2輸出1
** 冪-返回x的y次冪 3**2輸出9

python比較子:

運算子 描述 執行個體
==  等於-比較對象是否相等 5==3返回False
。= 不等於-比較兩個對象是否不相等 'a'!='b' 返回True
> 大於-返回x是否大於y 8>5返回True
< 小於-返回x是否小於y 7<3 返回False
>= 大於等於-返回x是否大於等於y 3>=2 返回True
<= 小於等於-返回x是否小於等於y 5<=3返回False

 註:布爾值True和False等價於整數1和0。

 python賦值運算子:

運算子 描述 執行個體
= 簡單的賦值運算子 c=a+b將a+b的運算結果賦值為c
+= 加法賦值運算子 b+=a等價於b=b+a
-= 減法賦值運算子 b-=a等價於b=b-a
*= 乘法賦值運算子 b*=a等價於b=b*a
/= 除法賦值運算子 b/=a等價於b
%= 模數賦值運算子 b%=a等價於b=b%a
**= 冪賦值運算子 b**=等價於b=b**a
//= 取整除運算子 b//=a等價於b=b//a

python位元運算符:

運算子 描述 執行個體
& 按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0

1&1為1

1&0為0

| 按位或運算子:只要對應的兩個二進位位有一個為1時,結果位就為1

1|0返回1

0|0返回0

^ 按位異或運算子:當兩個對應的二進位位相異時,結果為1

1^0返回1

1^1返回0

按位取反運算子:對資料的每個二進位位取反,即把0變為1,1變為0

~1返回0

~0返回1

〈〈 左移運算子:把"〈〈"左邊的運算數的各位元位全部左移若干位,"〈〈"右邊的數指定移動的位元,高位丟棄,低位補0

1〈〈1返回2

  〉〉

右移運算子:把"〉〉"左邊的運算數的各位元位全部右移若干位,"〉〉"右邊的數指定移動的位元,低位丟棄,高位補符號位

8〉〉1返回4

python邏輯運算子:

運算子 邏輯運算式 描述 執行個體
and x and y 布爾"與"-如果x為0或False,x and y 返回x的值,否則返回y的值 (8 and 15)返回15
or x or y 布爾"或"-如果x為非0值或True,x or y返回x的值,否則返回y的值 (8 or 15)返回8
not not x 布爾"非"-如果x為非0值或True,返回False。如果x為0或False,返回True not(8 and 15)返回False

python成員運算子:

運算子 描述  執行個體
in 如果在指定的序列中找到值返回True, 否則返回False "a"in"abc" 返回True
not in 如果在指定的序列中沒有找到值,返回True,否則返回False 1 not in [2,3]返回True

python身份運算子:

運算子 描述 執行個體
is 判斷兩個標識符是不是引用同一個對象,如果引用的是同一個對象,則返回True,否則返回False 'a' is 'a' 返回 True
is not 判斷兩個標識符是不是引用自不同對象,如果引用的不是同一個對象,則返回True,否則返回False 'a' is not 'b' 返回 False

x is y,類似id(x)==id(y),x is not y 類似id(x)!=id(y) 註:id()函數用於擷取對象的記憶體位址

python運算子優先順序:

序號 運算子 描述
1 ** 指數(最高優先順序)
2 ~x 按位翻轉
3 +x,-x 加號或減號
4 *,/,//,% 乘法,除法,整除,取餘
5 +,- 加法與減法
6 〈〈,〉〉 移位元運算符
7 & 按位與
8 ^ 按位異或
9 | 按位或
10 <,<=,>,>=,!=,== 比較子
11 =,%=,/=,//=,-=,+=,*=,**= 賦值運算子
12 is,is not 身份運算子
13 in,not in 成員運算子
14 not x 邏輯運算子“非”
15 and 邏輯運算子“與”
16 or 邏輯運算子“或”

三種不同的數實值型別:

整型(int)-通常被稱為是整數或者整型,是正或負整數,不帶小數點。python3中整型是沒有大小限制的。

浮點型(float)-浮點型通常由整數部分與小數部分組成,浮點型也可用科學計數法表示(1.8e2=1.8x10^2=180.0)。

複數(complex)-複數由實數部分和虛數部分組成,可以用a+bj或者complex(a,b)表示,複數的實部和虛部都是浮點型。

python數字類型轉換:

有時候,我們需要對資料的類型進行轉換,只需要將資料類型作為函數名即可。

比如:                             int(x)將x轉換為一個整數     >>>int(2.7)      2

                                      float(x) 將x轉換為一個浮點數  >>>float(9)      9.0

                                      complex(x) 將x轉換為一個複數,實數部分為x,虛數部分為0

                                      complex(x,y) 將x和y轉換為一個複數,實數部分為x,虛數部分為y        >>>complex(3,5)   3+5j 


數學函數(import math):

函數 傳回值(描述)
abs(x)  返回數位絕對值,如abs(-5)返回5
ceil(x) 返回數位上入整數,如math.ceil(3.2) 返回4
floor(x) 返回數位下舍整數,如math.floor(5.6) 返回5
log(x) 對數,預設以自然數e為底,如math.log(math.e)返回1.0  math.log(100,10) 返回2 .0
max(x1,x2,...) 返回給定參數的最大值,參數可以為序列
min(x1,x2,...) 返回給定參數的最小值,參數可以為序列
round(x,[,n]) 返回浮點數x的四捨五入值,如給出n值,則代表舍入到小數點後的位元
sqrt(x) 返回數字x的平方根,x不能為負數

 注;上面的序列可以是字串,列表,元組,集合。且序列裡的元素必須同類型。

例子:

                    >>>import math

                    >>>math.ceil(5.2)    6

                    >>>math.floor(9.8)  9

                    >>>math.log(16,2)   4.0

                    >>>max("happy") 'y'找出字串中ASCII碼值最大的字元

                    >>>min([5,9,3,7,6])  3

                    >>>round(3.14159,2) 3.14 #保留兩位小數

                    >>>math.sqrt(81)   9.0 

隨機數函數:( import random)

函數 傳回值(描述)
choice(seq) 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
randrange([start],stop,[step]) 從指定範圍內,按指定步長遞增的集合中擷取一個隨機數,start預設值為0,step預設值為1.
random() 隨機產生下一個實數,它在[0,1)範圍內。
seed([x]) 改變隨機數產生器的種子seed,如果你每次調用seed()時都提供相同的種子值,那麼將得到相同的隨機數序列。
shuffle(lst) 將序列的所有元素隨機排序。
uniform(x,y) 隨機產生下一個實數,它在[x,y] 範圍內,服從平均分布。

這裡的序列只能是有序序列,如字串,列表,元組。

例子:

                   >>>import random

                   >>>random.choice(["apple","orange","banana"])   'orange'

                   >>>random.choice("xxxxyyyyyyzzzzz")  'y'

                   >>>random.randrange(0,100,2) #隨機產生0~100之間的偶數  48

                   >>>random.random()*10   #產生0~10之間的隨機數 8.192738512619767

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

                   >>>random.shuffle(list)   #打亂列表list

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

                   >>>random.uniform(5,20)   #產生5~20之間的隨機數  12.395766517579691

                   >>>random.seed(5)

                   >>>random.random()  0.6229016948897019

                   >>>random.random()  0.7417869892607294

                   >>>random.seed(5)

                   >>>random.random()  0.6229016948897019

                   >>>random.random()  0.7417869892607294

三角函數 :  (import math)

 函數 傳回值 (描述)
sin(x) 返回x弧度的正弦值
cos(x) 返回x弧度的餘弦值
tan(x) 返回x弧度的正切值
asin(x) 返回x的反正弦弧度值

acos(x)

返回x的反餘弦弧度值
atan(x) 返回x的反正切弧度值

hypot(x,y)

返回歐幾裡德範數 sqrt(x*x+y*y)
degrees(x) 將弧度轉換為角度 如math.degrees(math.pi) 返回180.0
radians(x)

將角度轉換為弧度 如math.radians(180) 返回3.1415926

python字串運算子:

                                   a="Nice"  b="Day"

操作符 描述 執行個體
+  字串串連 a+b輸出結果:NiceDay
* 重複輸出字串 a*2輸出結果:NiceNice
[ ] 通過索引擷取字串中字元  a[2]的輸出結果是c
[:] 截取字串中的一部分 a[1:3]輸出ic
in 成員運算子-如果字元中包含給定的字元返回True 'c' in a 輸出結果1
not in  成員運算子-如果字元中不包含給定的字元返回True 'j' not in a輸出結果1
r/R 原始字串-所有的字串都是直接按照字面的意思來使用,沒有轉義特殊或不能列印的字元 print(r'\n')原樣列印\n而不是輸出一個換行

 python字串格式化:

python使用一個字串作為模板,模板中有格式符,這些格式符為真實值預留位置,並說明真實數值應該呈現的格式。python用一個tuple將多個值傳遞給模板,每個值對應一個格式符。

["I'm %s. I'm  %d years old."]% ("Amy",20)                [          ] 字串模板              

        模板格式符                      傳遞值的元組    

python 字串格式化符號:

符號 描述 執行個體
%c 格式化字元或者ASCII碼 "%c" %65 輸出結果A
%s 格式化字串 "%s" %"hello" 輸出結果hello
%d 格式化整數 "%d" %8.5 輸出結果8
%o 格式化無符號八位元 "%o"%16輸出結果20

%x

%X

格式化無符號十六進位數

"%x"%15輸出結果f

 "%X"%15輸出結果F

%f 格式化浮點數字,可指定小數點後的精度 "%.2f"%3.1415輸出結果3.14

%e

%E

用科學計數法格式化浮點數

"%e"%150輸出結果1.500000e+02

"%E"%150輸出結果1.500000E+02

python字串函數-1:

函數 傳回值(描述)
isalnum( ) 如果字串中至少有一個字元並且所有字元都是字母或數字則返回True,否則返回False
isalpha( ) 如果字串中至少有一個字元並且所有字元都是字母則返回True,否則返回False
isdigit( ) 如果字串中只包含數字則返回True,否則返回False
lower( )  轉換字串中所有大寫字元為小寫
upper( )  轉換字串中所有小寫字元為大寫
max(str) 返回字串中str中最大的字母
min(str) 返回字串中str中最小的字母

python字串函數-2:

函數 傳回值(描述)
 count(str,beg=0,end=len(string))  返回str在字串中出現的次數,如果beg或者end指定範圍則返回指定範圍內str出現的次數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.