數字和運算子
資料型別轉換
條件分支與迴圈
在python語言中,變數在指定的同時,必須強制賦初值,否則編譯器會報錯。
多個變數賦值—python允許同時為多個變數賦值:one=two=three=10
或one,two,three=10,20,30
。one
、two
、three
三個變數在記憶體中指向同乙個位址,獲得同乙個值10
。
變數值型別—python語言變數值在賦值後才被隱性確定:a=0
,a
就是整數型別;b=ok
,b
就是字串型別;c=true
,c
就是布林型別。
python語言的基本型別包括:字串(string)、數字(numeric)、列表(list)、元組(tuple)、字典(dictionary)五大類。
字串由任意位元組的字元組成,用單引號(''
)、雙引號(""
)或三引號(''''''
)。三引號允許乙個字串跨多行,字串中可以包含換行符、製表符以及其他特殊字元。
中文全形乙個字元佔兩個位元組。
字串值讀取:
a. 儲存方式與c++類似,可利用下標進行訪問;
b. 也可利用切片進行訪問name[0:6]
讀取變數name
的下標從0
到6
的子串。列表、元組都可以進行切片(slice,[左下標:右下標]
)操作,右下標的值需要比確定的下標的值多1,即可看作是左閉右開區間。
c. 帶省略號的下標切片:[:右下標]
、[左下標:]
、[:]
d. 帶步長的切片讀取:[左下標:右下標:步長]
e. 負數的下標讀取:用負數下標從右到左讀取對應的字串
f. 超出字串的範圍會報錯
字串值合併
對於不同的字串可以使用+
號進行合併操作
字串值修改
對字串的修改師通過讀取子字串合併的方式實現,不能直接對字串做如下修改:name[6]='c'
name=
'three cool cats!'
new_name=name[:11
]+'dogs'
print
(new_name)
字串值刪除
整個字串的刪除可以採用del(name)
的方式
其他操作
a. 獲取字串長度len(name)
:python2.x把乙個漢字看成兩個長度,python3.6.3版本看成乙個長度
b.r/r
原始字串控制符:將字串中的轉義字元忽略
c. 重複輸出字串:print('cat'*2)
d. 格式字串(%):print('tom's name is %d'%(age))
,%d
轉換為10進製
python語言的數字與數學分為整數(integer)、浮點數(float)、複數(complex)和布林(boolean)。
符號意義
+
加
-
減
*
乘
/
除
%
取餘
//
取整
python語言裡整數的長度不受限制,僅受可用(虛擬)記憶體的限制,因此可以實現無窮大/小的實現。
由於計算機記憶體中儲存浮點數的位數有限,所以超過指定長度後,末尾將採取近似值處理。
由實部和虛部組成,1+2j
,通過.real
和.imag
實現實部和虛部的檢索。
python中布林值用true
和false
表示,用於邏輯判斷,也是一種特殊的整數型別,true
可以用1
替換,false
可以用0
替換。
布林邏輯運算子包括:and
、or
、not
0b
為二進位制,0o
為八進位制,0x
為十六進製制
運算子名稱
&
按位與
|
按位或
^
按位異或
~
按位取反
>>
右移
<<
左移
比較運算子可以支援對字串、整數、列表、元組、字典等進行比較。
python3.6.3允許整數和字串進行比較。
python支援增量賦值,可以簡化記憶體操作(由三個數字位址空間變成了兩個位址空間),所以這種賦值方式也經常被使用。
轉化為整數的函式:int(x)
,x
為數字或字串型的數字,不支援複數
轉化為浮點數的函式:float(x)
,x
為數字或字串型的數字,不支援複數
轉化為複數的函式:complex(x,y)
,x
、y
為整數、浮點數、布林數;當只有x
引數時,y=0
,可以是字串型整數、浮點數、布林數。
轉化為字串的函式:str(x)
轉化為二進位制的函式:bin(x
),x
為非負整數
轉化為八進位制的函式:oct(x)
,x
為非負整數
轉化為十六進製制的函式:hex(x)
,x
為非負整數
把十進位制數轉化為ascii字元:chr(x)
,x
為十進位制數
把ascii字元轉化為十進位制數:ord(x)
,x
為ascii碼字元
格式一:單分支判斷
if
true
:print
('ok'
)
格式二:雙分支判斷
if
5>6:
print
('5>6'
)else
:print
('5<6'
)
格式三:多條件分支判斷
if
5>6:
print
('5>6'
)elif5==
5:print
('5=5'
)else
:print
('5<6'
)
while
true
:print
('true'
)
自定義集合for
迴圈
for item in items:
print
(item)
內建分為函式range
實現for
迴圈
for i in
range(9
):print
(i)#1 2 3 4 5 6 7 8 9
for i in rangr(1,
5,2)
:print
(i)#1 3
break
:可通過break
語句立刻種豬並跳出迴圈
continue
:繼續迴圈,忽略continue
語句後的**執行
成員運算子(in/not in
):對於具有集合概念的物件,可通過成員運算子進行快速判斷。
運算子優先順序
python 迴圈建立變數
資料分析時,我們經常會有這樣的需求 將資料集按某乙個維度拆分成若干資料子集 建立多個變數。如果手動去實現,工作量較大。我們可以通過locals 配合迴圈語句來實現這一需求。我們以鳶尾花資料集為例,我們按照花的種類將資料集拆分成資料子集,分別放到不同的變數中去。實現 如下 from sklearn.d...
python迴圈定義變數
在實際問題中,遇到個問題,我需要建立多檔案,名字沒有規律,把出現該名字的行寫入以該名字命名的檔案中 關鍵就在與locals 函式 定義變數格式 locals name f open gongcheng.json r file name js hwl qhgg sq hwl task for name...
Oracle 變數與迴圈
set serveroutput on 引用行變數 declare 查詢列印7839的姓名和薪水 ename emp.ename type sal emp.sal type begin select ename,sal into ename,sal from emp where empno 7839...