建立一個小程序多少錢小紅書關鍵詞排名優(yōu)化
——雁丘
Python運算符、函數與模塊和程序控制結構
- 關于本專欄
- 一 運算符
- 1.1 位運算符
- 1.1.1 按位取反
- 1.1.2 按位與
- 1.1.3 按位或
- 1.1.4 按位異或
- 1.1.5 左移位
- 1.2 關系運算符
- 1.3 運算順序
- 1.4 運算方向
- 二 函數與模塊
- 2.1 內建函數
- 2.2 庫函數
- 2.2.1 標準庫函數
- 2.2.3 第三方庫
- 2.3 包
- 2.4 標識符
- 2.4.1 標識符命名的規(guī)則
- 2.4.2 標識符命名的常用方法
- 三 程序控制結構
關于本專欄
關于Python
安裝與環(huán)境變量配置請查看本專欄文章Python安裝與環(huán)境變量配置傻瓜式教程(2023年9月)
關于Pycharm
的安裝部署和基本使用請查看本專欄文章Python解釋器和Pycharm的傻瓜式安裝部署
一 運算符
Pyihon 提供了四種類型的運算符:算術運算符、位運算符、關系運算符、邏輯運算符。Python 可以處理很大的數,這一特點常常可以降低程序設計的難度。
Pyihon 運算符 | |||||
---|---|---|---|---|---|
類別 | 運算符 | 功能 | 說明 | 優(yōu)先級 | 目數 |
/ | () | 括號 | 改變運算順序 | 0 | / |
算術運算符 | ** | 乘方 | 一般省略不寫 | 1 | 雙目 |
+ | 正號 | 一般省略不寫 | 2 | 單目 | |
- | 負號 | -10 | 2 | ||
位運算符 | ~ | 按位取反 | ~x=-(x+1) | 3 | |
算術運算符 | * | 乘號 | 4 | 雙目 | |
/ | 除號 | 4 | |||
// | 整除 | 5//2=2 | 4 | ||
% | 取余 | 5%2=1 | 4 | ||
+ | 加號 | 5 | |||
- | 減號 | 5 | |||
位運算符 | << | 左移位 | 16<<4=16*2*2*2*2 | 7 | 雙目 |
>> | 右移位 | 16>>3=16/2/2/2 | |||
& | 與 | 64&15=0 | |||
| | 或 | 64|15=79 | |||
^ | 異或 | 64^15=78 | |||
關系運算符 | < | 小于 | 8 | 雙目 | |
> | 大于 | ||||
<= | 小于等于 | ||||
>= | 大于等于 | ||||
== | 等于 | ||||
!= | 不等于 | ||||
邏輯運算符 | not | 非 | 9 | 雙目 | |
and | 與 | 10 | |||
or | 或 | 11 |
1.1 位運算符
位運算就是按整數的二進制位進行的運算,運算對象必須是標準的char
和 int
數據類型。
1.1.1 按位取反
按位取反是對操作數的各位二進制值取反,即0變1,1變0。得到原碼的反碼。
例如:5按位取反結果為-6
~00000101????????/十進制 5/
??11111010??????/十進制-6(二進制為補碼)/
按位取反的出現與計算機中負數的表示有關
1.1.2 按位與
按位與是雙目運算符,參加運算的兩個操作數按二進制位進行“與”運算。類似于數學中“交集”。例如:15&3的結果為3。
??00001111
&00000011
??00000011
1.1.3 按位或
按位或是雙目運算符,參加運算的兩個操作數按二進制位進行“或”運算。類似于數學中“并集”。例如:15|32的結果為47。
??00001111
|00100000
??00101111
1.1.4 按位異或
按位異或也是雙目運算符,參加運算的兩個操作數按二進制位進行“異或”運算。例如:15^3的結果為12。
利用按位異或可以很容易判斷兩個數的對應二進制位是相同還是相異,結果為0表示相同,結果為1表示相異。
??00001111
?^00000011
??00001100
1.1.5 左移位
將第一操作數的每一位向左平移第二操作數指定的位數,右邊空位補0,左邊移出去的位丟棄。例如:15及其左移1位、2位、3位的二進制補碼如下表所示。
可見,利用左移位可以快速地實現整數的乘法運算,每左移一位相當于乘以2,左移n位就相當于乘以2n,非常有利于算法的硬件實現。
(6)右移位
將第一操作數的每一位向右平移第二操作數指定的位數,右邊移出去的位丟棄。當第一操作數為有符號數時,左邊空位補符號位上的值,這種移位稱為算術移位;當第一操作數為無符號數時,左邊空位補0,這種移位稱為邏輯移位。例如:15和-15分別進行右移1位、2位、3位的二進制補碼如下表所示
可見,利用右移位可以快速地實現整數的除法運算,每右移一位相當于除以21,右移n位相當于除以2n,非常有利于算法的硬件實現。
1.2 關系運算符
關系(Relational)運算是用來比較兩個操作數的值的運算,比較的結果是一個邏輯值
比較字符串時則是按 第一個符號的ASCIT碼值,如果相同則比較下一位
1.3 運算順序
按照優(yōu)先級從低到高計算
總體上的優(yōu)先級順序為: 算術運算符 > 位運算符 > 關系運算符 > 邏輯運算符,但按位取反運算符_
的優(yōu)先級位于算術運算符的正負號+
、-
和乘方**
之間。
1.4 運算方向
除了關系運算符的運算順序是從左往右,其他均是從右往左
二 函數與模塊
一個能解決大規(guī)模問題的程序通常會被分解成若千功能模塊,這些功能模塊被稱為函數。使用函數通??梢允钩绦虻慕Y構更簡潔易懂,可以提高程序的可讀性和可復用性,Python 中的雨數包括內建函數、標準庫函數,第三方庫和用戶自定義函數。
2.1 內建函數
內建函數就是不需要進行外部導人就能直接使用的函數,可以使用函數 dir(__builtins__)
查看。下列為 Python 3.6 中的所有內建函數:
Python 常用初級內建函數 | |
---|---|
函數名 | 功能 |
abs() | 返回數字的絕對值 |
bool() | 轉換為布爾類型(若沒有參數,返回 false) |
int() | 轉換為整數 |
float() | 轉換為浮點數 |
cmplex() | 轉換為復數 |
str() | 轉換為字符串 |
bin() | 返回一個整數二進制表示。 |
otc() | 返回一個整數 八進制表示。 |
hex() | 返回一個整數十六進制表示。 |
round() | 返回統計學的四舍六入五湊偶 |
type() | 返回參數的數據類型 |
id() | 返回對象的身份標識 |
all() | 判斷給定的元組或列表是否都為 True(空元組、空列表返回值為 True) |
any() | 判斷給定的元組或列表是否有 True空元組、空列表返回值為 True) |
ascii() | 返回字符串(非 ASCII 字符轉化為轉義字符) |
help() | 查詢該函數的幫助信息 |
2.2 庫函數
2.2.1 標準庫函數
除了內建函數外, Python 還提供了標準庫函數,需要先導入模塊再使用函數,每個庫有相關的一些函數。使用dir(模塊名)
查看該模塊所有函數
- 導入一個模塊
>>> import math # 導入math模塊
>>> math.floor(3.5) # 使用math模塊的向下取整函數
3
- 導入多個模塊
>>> import math ,os ,operator
- 只導入模塊中一個函數
from...import...
>>> from math import floor
>>> math.floor(3.5) # 使用math模塊的向下取整函數
3
優(yōu)點:無需再寫math.
,用from math import *
可以導人 math 模塊中的所有屬性和函數。
- 利用
as
在導入時為模塊增加別名,例如import numpy as np
表示導人numpy
模塊并為其取一個別名np
,后續(xù)模塊名numpy
均可用np
表示。
2.2.3 第三方庫
第三方庫提前下載后相當于標準庫函數
可以在 PyPI 頁面上搜索和安裝、發(fā)布 Python 第三方庫(模塊)
安裝其中的第三方庫官方推薦使用Python 庫管理工具 pip
,只要將第三方庫下載到本地然后進行安裝即可。
舉例
安裝安卓自動測試庫atx
,步驟為:
- Python 官網下載文件 get-pip.py(目前 Python IDE 中一般都預裝了 pip,不需要另外載和安裝,直接使用第3步安裝即可)
- 在命令提示符方式下運行如下命令安裝 pip。
python get-pip. py
3 使用 pip 安裝 atx 第三方庫。
pip install atx
2.3 包
包是由模塊和子包組成的一個應用程序執(zhí)行環(huán)境,是一個有層次的文件目錄結構
>>> import A. C. cl
>>> A. C. cl. foo(123)
或者
>>> from A. C. cl import foo
>>> foo( 123)
A
是最頂層的包,C
是它的子包,而 c1
是子包 C
中的模塊。
2.4 標識符
在 Python 程序中,我們對于變量、方法、類、用戶自定義函數等等可以由用戶起名字,這些名字,我們把它統一的稱之為標識符。
2.4.1 標識符命名的規(guī)則
- 內容限定:只能用
- 英文
- 中文(不建議)
- 數字(不能用于開頭)
- 下劃線
_
- 大小寫敏感
- 不可使用關鍵字
2.4.2 標識符命名的常用方法
-
遵循“見名知意”原則,在每一處邏輯斷點處標識,兩種方法:
??windows風格,駝峰命名法:大寫字母標記邏輯斷點,如mathGrades
;
??unix風格,下劃線法:???下劃線標記邏輯斷點,如math_grades
。 -
變量中的英文字母全部小寫