# while與else連用
當while沒有被關鍵字break主動結束的情況下
正常結束迴圈體**之後會執行else的子**
"""while 條件:
迴圈體**
else:
迴圈體**正常執行結束 則會執行該子**塊
"""
# 死迴圈就是永遠無法結束的迴圈並且一致占用cpu工作
'''死迴圈有些時候會極度的影響電腦的效能 甚至會造成硬體的損壞'''
eg: count = 10
while true:
count *= 1
# while巢狀
'''while迴圈的子**裡存在while迴圈體'''
# for迴圈可以做到的事情while迴圈都可以做到,但是for迴圈語法更加簡單,使用頻率更高。
一般情況下涉及到迴圈取值的時候都會考慮使用for迴圈而不是while迴圈
"""語法結構
for 變數名 in for迴圈物件: # 字串、列表、字典、元組、集合
for迴圈的迴圈體**
每次執行都會將迴圈物件中的乙個元素賦值給變數名
ps:針對for迴圈語法結構中的變數名 也應該做到見名知意 常用的變數名i、j、k、v、num、item...
""" # 迴圈字串:依次取出每乙個字元
for i in 'hello world':
print(i)
# 迴圈列表:索引取值,依次取出每乙個元素
name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar']
for name in name_list:
print(name)
# 迴圈字典(特殊):迴圈字典只能獲取到字典的key,value無法直接獲取
userinfo_dict =
for i in userinfo_dict:
print(i)
# 迴圈集合:
for i in :
print(i)
'''字典與集合內部的元素都是無序的,隨機取出直到取完。'''
# 迴圈元組:同列表
for i in (11, 22, 33, 44, 55):
print(i)
# range方法在python2和python3中有所區分
在python2中range是直接產生乙個列表,元素很多的情況下比較占用空間
在python2中有乙個xrange相當於在python3中range,不佔空間但是可以取出很多資料
在python3中就只有乙個range了
# for i in range(101): '''從0開始到100結束的資料集 顧頭不顧尾'''
print(i)
"""range其實是乙個迭代器用於產生乙個資料集合,能夠節省空間"""
用法1 括號內只寫乙個數字 預設從0開始 顧頭不顧尾
for i in range(10):
print(i)
用法2 括號內寫兩個數字 自定義起始位置 顧頭不顧尾
for i in range(1, 10):
print(i)
用法3 括號內寫三個數字 第三個數字表示的是等差數列的差值 預設情況下是1
for i in range(1, 10, 2):
print(i)
"""與while一致"""
for+break
break結束本層for迴圈
for+continue
continue結束本次for迴圈 直接開始下一次
for+else
for迴圈正常結束之後執行else子**
for迴圈的巢狀
# 爬蟲即通過編寫**去網路上爬取我們需要的資料
1.通過**請求頁面獲取頁面資料
2.然後根據業務需求篩選出特定的內容
整型int、浮點型float# 如何檢視資料型別的內建方法
可以借助於程式設計軟體的自動提示 採用句點符快速檢視
# int整型
1.型別轉換 # res = int('123') 將int方法執行之後的結果賦值給變數res
"""int方法只能轉換純數字的字串"""
2.進製數轉換
將十進位制轉換成其他機制
print(bin(100)) 0b1100100 二進位制(0b開頭)
print(oct(100)) 0o144 八進位制(0o開頭)
print(hex(100)) 0x64 十六機制(0x開頭)
將其他機制轉換成十進位制
print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16))
# float浮點型
型別轉換
res = float('11.11')
print(res, type(res)) # 11.11
res = float('11')
print(res, type(res)) # 11.0
"""float方法只能轉換數字的字串"""
字串內建方法str型別轉換
str可以轉換所有基本資料型別
其他內建方法
s1 = 'hello world'
1.索引取值
print(s1[0]) # 取出字元h
2.切片操作
print(s1[2:4]) # 取出範圍內的字元 [2:4]顧頭不顧尾
3.步長
print(s1[2:9:1]) # 第三個引數是步長(差值) 預設是1 依次獲取
索引取切片擴充套件
print(s1[-1]) # 獲取最好乙個字元 預設方向從左至右
print(s1[-1:-5:-1]) # dlro 第三個引數還可以控制索引的方向
4.統計字串中字元的個數
print(len(s1))
5.成員運算
print('ll' in s1)
6.移除字串首位指定的字元(使用頻率較高)
'srt'.strip() # ()裡新增要去除的字元 預設移除字串首尾的空格
7.按照指定的字元切割字串
data = 'jason|123|dbj'
print(data.split('|')) # ['jason', '123', 'dbj']
'''name, pwd, hobby = data.split('|') # 解壓賦值'''
print(data.split('|', maxsplit=1)) # ['jason', '123|dbj']
print(data.rsplit('|', maxsplit=1)) # ['jason|123', 'dbj']
"""split方法切割完字串之後是乙個列表"""
python基礎學習(6)
41.檔案操作 匯入os模組 os.getcwd 返回當前工作目錄的名稱 os.listdir p 返回乙個字串列表,其中包含路徑p指定的資料夾中所有檔案和資料夾名稱 os.chdir p 將當前工作目錄設為p os.path isfile p 當路徑指定的是乙個檔案時,返回ture,否則返回fal...
Python學習筆記6 語法基礎
我的 a int input if a 90 print 優秀 if 80 a 90 print 良 if 70 a 80 print 中 if 60 a 70 print 平 if a 60 print 我沒你這學生 59 我沒你這學生 老師的 輸入成績,需要用到input函式 input輸入的值...
python學習numpy基礎和應用 6
我們定義了陣列data,我們發現c從一維變成了二維,從以前的切片知識可知,操作本質是對data進行切片,逗號前面部分,表示data0軸上的所有元素,也就是data的全部元素,而逗號後面的元素表示1軸上的元素,在設定元素取值範圍的時候,使用了np.newaxis,檢視文件,我們會發現np.newaxi...