Python基礎
?
一、Python的數據類型
1、int(整型)
在32位機器上,整數的位數為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483647,而.在64位系統上,整數的位數為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807
?
2、long(長整型)
為什么會有這個概念呢?
因為在Python2.2起,如果放置在內存里的數特別大發生溢出,Python就會自動將整型數據轉換為長整型,但是現在,在Python3里就不存在長整型這么一說了,同意都是整型。
?
3、float(浮點型)
簡單理解就是帶有小數的數字
?
4、complex(復數)
復數是由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y呢是復數的虛數部分,這里的x和y都是實數。
?
5、布爾值(0或1)
就是真和假。
?
6、查看數據類型(type)
1 >>> type(1) 2 <class 'int'> 3 >>> type(1.2) 4 <class 'float'> 5 >>> type(jixuege) 6 Traceback (most recent call last): 7 File "<stdin>", line 1, in <module> 8 NameError: name 'jixuege' is not defined9 10 上面報錯原因就是沒有用雙引號引起來,他就不是字符串,而是認為是一個變量。 11 >>> type("jixuege") 12 <class 'str'>
?
二、for和while循環
這里呢就需要涉及到break和continue的區別了。
如何理解呢?
break: 只能跳出當前循環,當前這一套循環就結束了。
continue: 跳出當次循環,然后呢還會去繼續下一次別的循環。
舉個栗子:
1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3 #Author: Leon xie4 5 6 for n in range(4):7 print(n)8 for j in range(3):9 if j <2: 10 #如果j小于2就跳出當次循環,繼續一下次循環 11 continue 12 print(n,j)
打印結果如下:
0 0 2 1 1 2 2 2 2 3 3 2
?
說明:
在第二次的if判斷中,我執行條件,如果j小于2就跳出當次循環,繼續一下次循環
下面我們就看看break的使用
同樣的代碼,咋們接著看
#!/usr/bin/env python # -*- coding: utf-8 -*- #Author: Leon xiefor n in range(4):print(n)breakfor j in range(3):if j <2:#如果j小于2就跳出當次循環,繼續一下次循環continueprint(n,j)
打印結果如下:
0
小結:
個人來說明一下,二者的區別,continue呢用于我有很多次循環,然后呢,我不希望哪次循環執行下面的動作,就可以了使用continue ,而break呢就是我這次循環了以后我想跳出去不在循環,或者呢就是我寫了一段代碼,我想跳出去看看代碼是否能執行,就可以用break呢。
?
三、Python的數據類型
?
1、整型int
可以直接理解為整數
在32位機器上,整數的位數為32位,取值范圍為-2**31~2**31-1,即-2147483648~2147483647,在64位系統上,整數的位數為64位,取值范圍為-2**63~2**63-1,即-9223372036854775808~9223372036854775807
?
2、浮點型float
可以直接理解為帶小數的數字。
?
3、復數complex
復數由實數部分和虛數部分組成,一般形式為x+yj,其中的x是復數的實數部分,y是復數的虛數部分,這里的x和y都是實數。
4、布爾值(0或1)
表示真或者假
5、查看數據類型
使用type即可。
>>> type("xiedi") <class 'str'> >>> type("2") <class 'str'> >>> type(2.2) <class 'float'> >>> type(2) <class 'int'> >>>
?
這里有個地方需要注意,就是數字不需要加引號,如果加了就是字符串。
?
四、Python字符串基本操作
1、判斷是不是合法的標識符isidentifier
name="ABC" print(name.isidentifier()) 打印結果 True
2、首字母大寫capitalize
name= 'abc' print(name.capitalize()) 打印結果 Abc
3、計數count
name= 'abc' print(name.count("a")) 打印結果 1
4、位于中心,用-來補充center
name= 'abc' print(name.center(50,"-")) 打印結果 -----------------------abc------------------------
5、判斷是否以c結尾endswith
name= 'abc' print(name.endswith("c")) 打印結果 True
6、把回車換成空格expandtabs
name = "a\tbc" print(name.expandtabs(tabsize=10)) 打印結果 a bc
7、查看某字符下標find
name= 'abc' print(name.find('c')) 打印結果 2
8、將字符小寫lower
print("XIEDI".lower()) 打印結果 xiedi
9、將字符大寫upper
print("xiedi".upper()) XIEDI
?
五、Python列表基本操作
記住一句話,叫做顧首不顧尾
首先我們來定義一個列表
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]
接下來,我們就對這個列表來進行一系列的操作
?
1、切片
取值,取第一個和第二個
print(name[0],name[1]) 打印結果 jixuege dajiba
說明:
上面的0和1指的是小標,從左到右順序就是從0開始一直到4
?
打印一個區間
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]print(name[:2]) 打印結果 ['jixuege', 'dajiba']
打印最后一個
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] print(name[-1]) 打印結果 youtianai
2、追加
比如說我想追加一個人進去
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] name.append("xiha") print(name) 打印結果['jixuege', 'xitong', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai', 'xiha']
這個會追加到末尾
還有一種就是插入insert
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"]name.insert(2,"youhua") print(name) 打印結果 ['jixuege', 'dajiba', 'youhua', 'boduoye', 'cangjinkong', 'youtianai']
?
3、修改
直接修改即可
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] name[2]="wuming" print(name) 打印結果 ['jixuege', 'dajiba', 'wuming', 'cangjinkong', 'youtianai']
?
4、刪除
直接清空
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] name.clear() print(name) 打印結果 []
?
刪除指定元素
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] name.remove("jixuege") print(name) 打印結果['dajiba', 'boduoye', 'cangjinkong', 'youtianai']
?
刪除指定下標
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] del name[2] print(name) 打印結果 ['jixuege', 'dajiba', 'cangjinkong', 'youtianai']
不指定下標刪除最后一個
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] name.pop() print(name) 打印結果 ['jixuege', 'dajiba', 'boduoye', 'cangjinkong']
指定下標
name = ["jixuege","dajiba","boduoye","cangjinkong","youtianai"] name.pop(1) print(name) 打印結果 ['jixuege', 'boduoye', 'cangjinkong', 'youtianai']
?
六、蛋疼的購物車程序練習
要求:
1、用戶輸入工資,打印出商品的列表
2、用戶根據編號來進行購買商品
3、用戶選擇商品之后,先檢測額度是否夠用,直接扣款和溫馨提示余額不足
4、可以隨時退出,退出并打印出已購商品列表和余額。