目錄
1.python3數(shù)據(jù)類型介紹
2.python3中數(shù)字
3.python3的字符串
4.python3 的列表
5.python3 的元組
6.python3 的字典
7.python3 的集合
8.while循環(huán)
9.for循環(huán)
10.函數(shù)以及參數(shù)
11.遞歸
12.匿名函數(shù)lambda
1.Python3有六個標準的數(shù)據(jù)類型
Numbers(數(shù)字)
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)
set(集合)
2.number 數(shù)字類型:
int(有符號整型)
long(長整型[也可以代表八進制和十六進制])
float(浮點型)
complex(復數(shù))
2.1 數(shù)字類型的數(shù)學函數(shù)
2.2 數(shù)字類型:隨機數(shù)函數(shù)
此表格為random模塊中的函數(shù)
import random
2.3math 計算包
math — 數(shù)學函數(shù) | 《Python 3 標準庫實例教程》 | 高品質的 Python 開發(fā)者社區(qū)
好難?? 暴風哭泣
單獨開一個==
3.string 字符串
字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。
‘’? ?“” 表示
如果你要實現(xiàn)從字符串中獲取一段子字符串的話,可以使用 [頭下標:尾下標] 來截取相應的字符串,其中下標是從 0 開始算起,可以是正數(shù)或負數(shù),下標可以為空表示取到頭或尾。
[頭下標:尾下標] 獲取的子字符串包含頭下標的字符,但不包含尾下標的字符。
不包含第五個字符!!!!!!!!
[1:5] 只要4個
3.1 字符串和運算符
3.2 字符串:轉義字符
\n 換行
我們可以對字符串進行換行,事實上,python還為我們提供了多行換行, 使用'''...'''或者"""..."""都可以進行多行換行,...代表的是提示符
ps:... 是在終端使用
"""這種在jupyter notebook中 就可以實現(xiàn)換行
字符串前加r,使得字符串中的\用作普通字符
3.3 字符串與unicode的區(qū)別
pass?
留個坑
3.4 字符串的更改?
字符串不能更改里面的內容。
只能通過.replace()更改,然后賦值給另一個變量
3.5 創(chuàng)建字符串時,* 可以頂替missing letter
3.6 字符串的strip()用法
Python strip() 方法用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。
str.strip([chars])
4.列表list
List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型。
列表可以完成大多數(shù)集合類的數(shù)據(jù)結構實現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 標識,是 python 最通用的復合數(shù)據(jù)類型。
4.1 創(chuàng)建列表
4.1.1 通過變量創(chuàng)建
4.1.2 通過字符串split
4.1.3 通過list()
4.2 給列表中添加元素
append( ) :只能在最后加元素進去,item類型可以是任意的
extend():加多個元素,也是在最后加?只接受列表參數(shù),并把列表中的item分解,然后添加到原有的列表
如果指定在第幾個index加入,用insert()
4.3 刪除列表中的元素
del刪除。它按item的索引值或切片進行刪除
del a_list[0]?? //刪除列表的第一個值
del a_list[:2]?? //刪除列表的前兩個值。(為什么不是前三個呢?因為python的列表切片,包含前一個索引,但不包括后一個索引)
remove方法刪除。它不按item索引,而是按照item的值進行刪除:
a_list.remove('a')? //把a從列表中刪除
pop方法刪除。它按item索引值進行刪除,同時返回被刪除的item值;若不指定索引,默認刪除最后一個item:
a_list.pop(1)? //刪除列表的第二個值,并返回被刪除的值
a_list.pop()?? //刪除列表的最后一個值,并返回被刪除的值
4.5 重新賦值
對指定索引使用assignment符號進行賦值
a_list = ['a','b','c','hello']:
a_list[1] = 'bbb'
4.6 檢索列表的值
四種方式:in、not in、count、index,后兩種方式是列表的方法。
示例列表:a_list = ['a','b','c','hello']:
判斷值是否在列表中,in操作符:
'a' in a_list? //判斷值a是否在列表中,并返回True或False
判斷值是否不在列表,not in操作符:
'a' not in a_list?? //判斷a是否不在列表中,并返回True或False
統(tǒng)計指定值在列表中出現(xiàn)的次數(shù),count方法:
a_list.count('a')? //返回a在列表中的出現(xiàn)的次數(shù)
查看指定值在列表中的位置,index方法:
a_list.index('a')?? //返回a在列表中每一次出現(xiàn)的位置,默認搜索整個列表
a_list.index('a',0,3)? //返回a在指定切片內第一次出現(xiàn)的位置
https://blog.csdn.net/wudiyi815/article/details/7775549
4.7列表的method
4.
5.元組 tuple
元組是另一個數(shù)據(jù)類型,類似于 List(列表)。
元組用 () 標識。內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。
A tuple is a collection which is ordered and unchangeable. In Python tuples are written with round brackets.
所以 元組的添加是這樣的:
要有逗號
5.1 元組只可以只讀,所以要查詢元組,用for loop語句。
5.2 You can access tuple items by referring to the index number, inside square bracket
也可以用index 查詢元組
5.3 檢查某個字符串或別的在不在元組里,用in
5.3 求元組的長度
len()
5.4 與字符串同樣,元組也是不可變對象 所以不能直接修改他們的值
如果需要修改,直接在同一個元組上更新是不可行的,但是可以通過拷貝現(xiàn)有的元組片段構造一個新的元組的方式解決。
通過分片的方法讓元組拆分成兩部分,然后再使用連接操作符(+)合并成一個新元組,最后將原來的變量名(temp)指向連接好的新元組。
5.5? 兩個元組之間 + 可以組成新的元組
5.6 元組的刪除 用del
6.字典 dictionary
字典(dictionary)是除列表以外python之中最靈活的內置數(shù)據(jù)結構類型。列表是有序的對象集合,字典是無序的對象集合。
兩者之間的區(qū)別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
6.1 查找字典
()得到key
[ ]得到value? ? ?
.get("key") 也能得到value?
6.2給字典里添加item
直接添加就行了
集合要用add 或者update()
Adding an item to the dictionary is done by using a new index key and assigning a value to it:
6.3 字典 多種刪除方法
pop( )? 括號中寫入指定的key
del() 括號中寫入指定的key?
del 還能直接刪除整個字典
clear() 清除字典中的內容,保留結構
popitem( ) 只刪除最新的那一列字典
6.4 創(chuàng)建字典 dict( )
ps: 為什么用= 比用冒號要好??????
6.5 復制另一個字典
copy( )
dict( )
6.6 字典的method
7.集合 set
A set is a collection which is unordered and unindexed. In Python sets are written with curly brackets.
集合是用{ }表示的
Sets are unordered, so the items will appear in a random order.
7.1 集合是無序的,沒有index
7.2 給集合添加元素 用 add()
7.3給集合添加多個元素,用update()
7.4 集合的刪除 remove() 和 discard()
區(qū)別: 如果刪除一個不在該集合中的元素,remove()會報錯。discard()不會
7.5 pop()
pop()也能刪除,但是只能刪除最后一個元素
但是集合是無序的,你也不知道刪的是哪個
7.6 刪除整個set
clear()只能把集合中清空
del()是全部刪除,直接報錯的那種
7.7 把元組轉成集合
set()
注意是圓括號,不是大括號
7.8 集合中的method
8. while循環(huán)
while 語句時還有另外兩個重要的命令 continue,break 來跳過循環(huán),continue 用于跳過該次循環(huán),break 則是用于退出循環(huán),此外"判斷條件"還可以是個常值,表示循環(huán)必定成立
8.1 while... else
在 python 中,while … else 在循環(huán)條件為 false 時執(zhí)行 else 語句塊:
9.for 循環(huán)語句
9.1 break語句
在for語句同樣,continue 用來跳過該次循環(huán)
9.2 for...? ? else 語句
The?else?keyword in a?for?loop specifies a block of code to be executed when the loop is finished
else后面執(zhí)行當循環(huán)結束之后的語句
10.函數(shù)function
函數(shù)代碼塊以?def?關鍵詞開頭,后接函數(shù)標識符名稱和圓括號()。
任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)。
函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
函數(shù)內容以冒號起始,并且縮進。
return [表達式]?結束函數(shù),選擇性地返回一個值給調用方。不帶表達式的return相當于返回 None。
10.1 Parameters 參數(shù)
Information can be passed to functions as parameter.
Parameters are specified after the function name, inside the parentheses. You can add as many parameters as you want, just separate them with a comma.
10.2?Default Parameter Value 默認參數(shù)
The following example shows how to use a default parameter value.
10.3?Passing a List as a Parameter
You can send any data types of parameter to a function (string, number, list, dictionary etc.), and it will be treated as the same data type inside the function.
10.4 可更改(mutable)與不可更改(immutable)對象
在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而 list,dict 等則是可以修改的對象。
不可變類型:變量賦值?a=5?后再賦值?a=10,這里實際是新生成一個 int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當于新生成了a。
可變類型:變量賦值?la=[1,2,3,4]?后再賦值?la[2]=5?則是將 list la 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了。
python 函數(shù)的參數(shù)傳遞:
不可變類型:類似 c++ 的值傳遞,如 整數(shù)、字符串、元組。如fun(a),傳遞的只是a的值,沒有影響a對象本身。比如在 fun(a)內部修改 a 的值,只是修改另一個復制的對象,不會影響 a 本身。
可變類型:類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改后fun外部的la也會受影響
python 中一切都是對象,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變對象和傳可變對象。
10.5?不定長參數(shù)
你可能需要一個函數(shù)能處理比當初聲明時更多的參數(shù)。這些參數(shù)叫做不定長參數(shù),和上述 2 種參數(shù)不同,聲明時不會命名。
加了星號?*?的參數(shù)會以元組(tuple)的形式導入,存放所有未命名的變量參數(shù)。
如果在函數(shù)調用時沒有指定參數(shù),它就是一個空元組。我們也可以不向函數(shù)傳遞未命名的變量
加了兩個星號?**?的參數(shù)會以字典的形式導入。
11. Recursion 遞歸
Python also accepts function recursion, which means a defined function can call itself.
Recursion is a common mathematical and programming concept. It means that a function calls itself. This has the benefit of meaning that you can loop through data to reach a result.
The developer should be very careful with recursion as it can be quite easy to slip into writing a function which never terminates, or one that uses excess amounts of memory or processor power. However, when written correctly recursion can be a very efficient and mathematically-elegant approach to programming.
In this example,?tri_recursion()?is a function that we have defined to call itself ("recurse"). We use the?k?variable as the data, which decrements (-1) every time we recurse. The recursion ends when the condition is not greater than 0 (i.e. when it is 0).
To a new developer it can take some time to work out how exactly this works, best way to find out is by testing and modifying it.
11.1 應用場景
遞歸算法一般用于解決三類問題:
(1)數(shù)據(jù)的定義是按遞歸定義的。(比如Fibonacci函數(shù))
(2)問題解法按遞歸算法實現(xiàn)。(回溯)
(3)數(shù)據(jù)的結構形式是按遞歸定義的。(比如樹的遍歷,圖的搜索)?
11.2?默認的Python有一個可用的遞歸深度的限制,以避免耗盡計算機中的內存。默認是1000。
11.3 遞歸的優(yōu)缺點
優(yōu)點:
遞歸使代碼看起來更加整潔、優(yōu)雅
可以用遞歸將復雜任務分解成更簡單的子問題
使用遞歸比使用一些嵌套迭代更容易
缺點:
遞歸的邏輯很難調試、跟進
遞歸算法解題的運行效率較低。在遞歸調用的過程當中系統(tǒng)為每一層的返回點、局部量等開辟了棧來存儲。遞歸次數(shù)過多容易造成棧溢出等。
12.匿名函數(shù) lambda
12.1 lambda表達式
lambda?arguments?:?expression
13.字符編碼
14.numpy入門
15.pandas入門
16.利用pandas進行數(shù)據(jù)分析
python 利用pandas進行數(shù)據(jù)分析 - 簡書