資訊內容
給小白整理的第一篇Python知識點
EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
本文是第一篇,一共四篇打下Python基礎EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
1、基本概念1.1 四種類型python中數有四種類型:整數、長整數、浮點數和復數。 EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
整數, 如 1長整數 是比較大的整數浮點數 如 1.23、3E-2復數 如 1 + 2j、 1.1 + 2.2j1.2 字符串字符串(字符的序列) EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
python中單引號和雙引號使用完全相同。使用三引號('''或""")可以指定一個多行字符串。轉義符 ''自然字符串, 通過在字符串前加r或R。 如 r"this is a line with " 則 會顯示,并不是換行。python允許處理unicode字符串,加前綴u或U, 如 u"this is an unicode string"。字符串是不可變的。按字面意義級聯字符串,如"this " "is " "string"會被自動轉換為this is string。1.3 標識符的命名標識符的命名EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
第一個字符必須是字母表中字母或下劃線'_'。標識符的其他的部分有字母、數字和下劃線組成。標識符對大小寫敏感。1.4 對象python程序中用到的任何“東西”都成為“對象”。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
1.5 邏輯行和物理行物理行:就是程序員所寫代碼的所在行。邏輯行:是指源代碼經過預編譯后,代碼所在的那一行。Python假定每個物理行都對應著一個邏輯行。例如:print( "Hello World" ) 就是一個物理行,Python希望每行只有一個語句,因為這樣看起來更加易讀。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
如果你想要在一個物理行中使用多于一個邏輯行,那么你需要使用分號(; )來特別地標明這種用法。分號表示一個邏輯行/語句的結束。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
例如:EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
count = 5print ( "count" )復制代碼與下面的語句等同:EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
count = 5;print ( "count" );復制代碼當然也可以寫成下面這種:EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
count = 5 ; print ( "count" );復制代碼甚至可以寫成這樣:EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
count = 5 ; print ( "count" )復制代碼我們使用的換行EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
print ("Runsen")復制代碼1.6 縮進空白在python是非常重要的,行首的空白是**重要的,又稱為縮進。行首的空白(空格和制表符)用來決定邏輯行的縮進層次,從而決定語句。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
2、運算符與表達式2.1 運算符與其用法運算符名稱例子+兩個對象相加加法,如3 + 5得到8,字符也可以相加'a' + 'b'得到'ab'-一個數減去另一個數5 - 2得到3*乘 兩個數相乘或是返回一個被重復若干次的字符串2 * 3得到6,'a' * 3得到'aaa'**冪 返回x的y次冪3 ** 4得到81(即3 * 3 * 3 * 3)/除 x除以y4/3得到1(整數的除法得到整數結果)。4.0/3或4/3.0得到1.3333//取整除 返回商的整數部分4 // 3.0得到1.%取模 返回除法的余數8%3得到2。-25.5%2.25得到1.5<<左移,把一個數的二進制左移一定數目,也就是在右邊補多少個0,如 2 << 2得到8,二進制10變成1000>>右移 把一個數的比特向右移一定數目,也就是在右邊刪除位數10>>2得到2,二進制1010變成10,直接刪除后面2位&按位與數的按位與 9 & 13得到9,二進制1001&1101,變成1001,兩個值相應的位置都為1,那么該結果就是1,不然就是0|按位或數的按位或 5 | 3得到7。二進制101&11,變成111,如果兩個值相應的位置有一個是1,那么該結果就是1,也就是如果都是0,該結果就是0,101和11沒有都是0,所以111^ 按位異或數的按位異或 5 ^ 3得到6,二進制101&11,變成110,兩個值相應的位置相同,那么該結果就是0,也就是如果都是0或者都是1,該結果就是0,101和11,第一個都是1,所以110~按位翻轉x的按位翻轉是-(x+1) ~5得到6<小于 返回x是否小于y。所有比較運算符返回1表示真,返回0表示假。 5 < 3返回0(即False)而3 < 5返回1(即True)。還可以被任意連接:3 < 5 < 7返回True。>大于 返回x是否大于y5 > 3返回True。如果兩個操作數需要都是數字<=小于等于 返回x是否小于等于yx = 3; y = 6; x <= y返回True>=大于等于 返回x是否大于等于yx = 4; y = 3; x >= y返回True==等于 比較對象是否相等x = 2; y = 2; x == y返回True!=不等于 比較兩個對象是否不相等x = 2; y = 3; x != y返回True。not布爾“非” 如果x為True,返回Falsex = True; not y返回False。or布爾“或” 如果x是True,它返回True,否則它返回y的計算值。x = True; y = False; x or y返回True2.2 運算符優先級.運算符優先級(從低到高)EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
運算符描述lambdaLambda表達式or布爾“或”and布爾“與”not x布爾“非”in,not in成員測試is,is not同一性測試<,<=,>,>=,!=,==比較``^按位異或``&按位與<<,>>移位+,-加法與減法*,/,%乘法、除法與取余+x,-x正負號~x按位翻轉**指數~x按位翻轉x.attribute屬性參考x[index]下標x[index:index]尋址段f(arguments...)函數調用(experession,...)綁定或元組顯示[expression,...]列表顯示{key:datum,...}字典顯示'expression,...'字符串2.3 輸出python 控制臺輸出 使用printEKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
print ("abc" ) #打印abc并換行print ("abc%s" % "d" ) #打印abcdprint ("abc%sef%s" % ("d", "g") ) #打印abcdefg復制代碼3、控制流3.1 if 語句i = 10n = int(input("enter a number:"))if n == i: print( "equal")elif n < i: print( "lower")else: print ("higher")復制代碼3.2 while語句while True: passelse: pass#else語句可選,當while為False時,else語句被執行。 pass是空語句。復制代碼for 循環 for..inEKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
for i in range(0, 5): print (i)else: pass# 打印0到4復制代碼注:當for循環結束后執行else語句;range(a, b)返回一個序列,從a開始到b為止,但不包括b,range默認步長為1,可以指定步長,range(0,10,2);EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
3.3 break語句終止循環語句,如果從for或while中終止,任何對應循環的else將不執行。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
3.4 continue語句continue語句用來調過當前循環的剩余語句,然后繼續下一輪循環。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
下面就是 break 和 continue 主要的 區別:EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
break:跳出整個循環continue:跳出本次循環,繼續執行下一次循環希望大家牢記。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
4、函數函數通過def定義。def關鍵字后跟函數的標識符名稱,然后跟一對圓括號,括號之內可以包含一些變量名,該行以冒號結尾;接下來是一塊語句,即函數體。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
def sumOf(a, b): return a + b復制代碼4.1 函數形參函數中的參數名稱為‘形參’,調用函數時傳遞的值為‘實參’ EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
4.2 局部變量在函數內定義的變量與函數外具有相同名稱的其他變量沒有任何關系,即變量名稱對于函數來說是局部的。這稱為變量的作用域。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
global語句, 為定義在函數外的變量賦值時使用global語句。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
def func(): global x print( "x is ", x) x = 1x = 3func() print(x)#3#1 復制代碼4.3 默認參數通過使用默認參數可以使函數的一些參數是‘可選的’。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
def say(msg, times = 1): print(msg * times) say("Runsen") say("Runsen", 3)復制代碼注意:只有在形參表末尾的那些參數可以有默認參數值,即不能在聲明函數形參的時候,先聲明有默認值的形參而后聲明沒有默認值的形參,只是因為賦給形參的值是根據位置而賦值的。 EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
4.4 關鍵參數如果某個函數有很多參數,而現在只想指定其中的部分,那么可以通過命名為這些參數賦值(稱為‘關鍵參數’)。 優點:不必擔心參數的順序,使函數變的更加簡單;假設其他參數都有默認值,可以只給我們想要的那些參數賦值。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
def func(a, b=2, c=3): print ("a is %s, b is %s, c is %s") % (a, b, c) func(1) #a is 1, b is 2, c is 3func(1, 5) #a is 1, b is 5, c is 3func(1, c = 10) #a is 1, b is 2, c is 10func(c = 20, a = 30) #a is 30, b is 2, c is 20復制代碼4.5 return 語句return語句用來從一個函數返回,即跳出函數。可從函數返回一個值。 沒有返回值的return語句等價于return None。None表示沒有任何東西的特殊類型。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
4.5 文檔字符串__doc__ (文檔字符串)EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
def func(): '''This is self-defined function Do nothing ''' passprint(func.__doc__)#This is self-defined function##Do nothing復制代碼5、模塊模塊就是一個包含了所有你定義的函數和變量的文件,模塊必須以.py為擴展名。模塊可以從其他程序中‘輸入’(import)以便利用它的功能。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
在python程序中導入其他模塊使用'import', 所導入的模塊必須在sys.path所列的目錄中,因為sys.path第一個字符串是空串''即當前目錄,所以程序中可導入當前目錄的模塊。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
5.1 字節編譯的.pyc文件導入模塊比較費時,python做了優化,以便導入模塊更快些。一種方法是創建字節編譯的文件,這些文件以.pyc為擴展名。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
pyc是一種二進制文件,是py文件經編譯后產生的一種byte code,而且是跨平臺的(平臺無關)字節碼,是有python虛擬機執行的,類似于EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
java或.net虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯后的pyc文件是不同的。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
5.2 from .. import如果想直接使用其他模塊的變量或其他,而不加'模塊名+.'前綴,可以使用from .. import。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
例如想直接使用sys的argv,from sys import argv 或 from sys import *EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
5.3 模塊的__name__每個模塊都有一個名稱,py文件對應模塊名默認為py文件名,也可在py文件中為__name__賦值;如果是__name__,說明這個模塊被用戶EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
(4) dir()函數EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
dir(sys)返回sys模塊的名稱列表;如果不提供參數,即dir(),則返回當前模塊中定義名稱列表。(5) delEKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
del -> 刪除一個變量/名稱,del之后,該變量就不能再使用。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
6、數據結構python有三種內建的數據結構:列表、元組和字典。EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
6.1 列表list是處理一組有序項目的數據結構,列表是可變的數據結構。列表的項目包含在方括號[]中,EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
eg: [1, 2, 3], 空列表[]。判斷列表中是否包含某項可以使用in,EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
比如 l = [1, 2, 3]; print 1 in l; #True;EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
支持索引和切片操作;索引時若超出范圍,則IndexError;EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
使用函數len()查看長度;使用del可以刪除列表中的項,eg: del l[0] # 如果超出范圍,則IndexError list函數如下:EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
append(value) ---向列表尾添加項value l = [1, 2, 2] l.append(3) #[1, 2, 2, 3]count(value) ---返回列表中值為value的項的個數 l = [1, 2, 2] print( l.count(2)) # 2extend(list2) ---向列表尾添加列表list2 l = [1, 2, 2] l1 = [10, 20] l.extend(l1)print (l ) #[1, 2, 2, 10, 20]index(value, [start, [stop]]) ---返回列表中第一個出現的值為value的索引,如果沒有,則異常 ValueError l = [1, 2, 2] a = 4try: print( l.index(a))except ValueError, ve: print( "there is no %d in list" % a insert(i, value)) ---向列表i位置插入項vlaue,如果沒有i,則添加到列表尾部 l = [1, 2, 2] l.insert(1, 100)print l #[1, 100, 2, 2]l.insert(100, 1000)print l #[1, 100, 2, 2, 1000]pop([i]) ---返回i位置項,并從列表中刪除;如果不提供參數,則刪除**后一個項;如果提供,但是i超出索引范圍,則異常IndexError l = [0, 1, 2, 3, 4, 5] print( l.pop()) # 5print( l) #[0, 1, 2, 3, 4]print( l.pop(1)) #1print( l) #[0, 2, 3, 4]try: l.pop(100)except IndexError, ie: print( "index out of range") remove(value) ---刪除列表中第一次出現的value,如果列表中沒有vlaue,則異常ValueError l = [1, 2, 3, 1, 2, 3] l.remove(2)print (l )#[1, 3, 1, 2, 3]try: l.remove(10)except ValueError, ve: print ("there is no 10 in list") reverse() ---列表反轉 l = [1, 2, 3] l.reverse()print (l) #[3, 2, 1]sort(cmp=None, key=None, reverse=False) ---列表排序 l5 = [10, 5, 20, 1, 30] l5.sort() print( l5) #[1, 5, 10, 20, 30]l6 = ["bcd", "abc", "cde", "bbb"] l6.sort(cmp = lambda s1, s2: cmp(s1[0],s2[1])) print( l6) #['abc', 'bbb', 'bcd', 'cde']l7 = ["bcd", "abc", "cde", "bbb", "faf"] l7.sort(key = lambda s: s[1])print (l7) #['faf', 'abc', 'bbb', 'bcd', 'cde']復制代碼相關免費學習推薦:python視頻教程EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺
以上就是給小白整理的第一篇Python知識點的詳細內容,更多請關注少兒編程網其它相關文章!EKX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

- 上一篇
mongodb大表如何處理?
簡介mongodb對大表的處理:1、索引優化和SQL語句優化是必須的,避免模糊查詢和非索引查詢,刪改操作根據聚集索引進行,刪改操作太頻繁的話還是需要考慮分表2、看需求,如果需求不限制,那就分表分區會增加管理復雜度和成本這個很難理解,分區增加不了多少工作,如果需求要求必須單表,分區是解決在千萬到幾億數據量
- 下一篇
python如何截取字符串中特定部分
簡介python截取字符串中特定部分的方法:可以使用【str[beginIndex:endPosition]】,其中str為需要截取的字符串,beginIndex為需要截取的第一個字符的下標,endPosition為截取字符最后一個字符的下標。本教程操作環境:windows7系統、python3.9版,