python基礎學習6

2022-10-08 17:33:19 字數 3559 閱讀 8250

# 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...