Python基礎(中篇)

本篇文章主要內容:數據類型的經常使用方法,條件語句,循環語句html

在開始正篇以前咱們先來看看上一篇留下的題目。python

題目:git

定義一個字典a,有兩個鍵值對:一個鍵值對key是可樂,value是18;另外一個鍵值對key是python,value是列表形式的1,2,3,4,5。app

答案:函數

a = { "可樂": "18", "python": [1,2,3,4,5] }

1、字符串的經常使用方法學習

1.1 拼接優化

示例1(經常使用):編碼

a = "可樂"
b = "愛python"
c = a + b
print(c)
-------------------------------------------------------------------
輸出 ---> 可樂愛python

注意:若是是str和number則須要對number轉換,經過str(number)轉換。
3d

示例2(極少使用):code

a = "可樂" "愛python"
print(a)
-------------------------------------------------------------------
輸出 ---> 可樂愛python

1.2 切片(截取)

用法靈活,須要對上一篇的索引已有深入的理解。

語法:

string[start : end : step]
注意:左開右閉

示例1:截取python

a = "可樂愛python"
b = a[3:]
print(b)
-------------------------------------------------------------------
輸出 ---> python

示例2: 截取可愛yhn

a = "可樂愛python"
b = a[::2] # 或者 b = a[0::2]
print(b)
-------------------------------------------------------------------
輸出 ---> 可愛yhn

1.3 獲取字符串長度

獲取字符串長度因爲比較少用,可樂就不寫了,須要瞭解的能夠私聊。

語法:

len(string)

示例:

a = "可樂愛python"
b = len(a)
print(b)
-------------------------------------------------------------------
輸出 ---> 9

1.4 分割字符串

經過split分割字符串,經常使用於將字符串轉換成列表。

語法:

str.split(sep,maxsplit)
str.rsplit(sep,maxsplit)

- sep:分割符,默認爲None。
- maxsplit:最大分割數,默認無限制。
- split:從左往右分割。
- rsplit:從右往左分割 。
須要深刻了解split,rsplit使用方法的,能夠看源代碼註釋,或者私聊可樂。

示例1:

a = "可樂,愛,python"
b = a.split(",",1)
print(b)
-------------------------------------------------------------------
輸出 ---> ['可樂', '愛,python']

示例2:

a = "可樂,愛,python"
b = a.rsplit(",",1)
print(b)
-------------------------------------------------------------------
輸出 ---> ['可樂,愛', 'python']

1.5 合併字符串

能夠將可迭代對象經過join()方法合併成字符串。(可迭代對象:後續可樂會在高級部分進行講解,並自定義咱們想要的可迭代對象)在這裏你們能夠通俗的理解爲可迭代對象就是str,dict,list,tuple

語法:

str.join(iterable)

示例1(經常使用):

a = ["可樂", "愛", "python"]
b = "".join(a)
print(b)
-------------------------------------------------------------------
輸出 ---> 可樂愛python

示例2(不經常使用):

a = {"可樂": "嘿嘿", "很帥": "是的"}
b = "".join(a)
print(b)
-------------------------------------------------------------------
輸出 ---> 可樂很帥

1.6 檢測子字符串在字符串的索引

ps:當子字符串不存在時,會報錯!能夠利用這個特性來判斷子字符串是否存在

語法:

str.index(sub[, start[, end]]) -> int
- sub:要檢測的子字符串。
- start:檢測的開始位置索引,默認從頭開始。
- end:檢測的結束位置索引,默認到最後。
可靈活使用,須要深刻了解的可私聊可樂或者看源碼註釋。

示例1:

a = "可樂是可樂呀"
b = a.index("可樂")
# b = a.index("可樂", 0, -1)
print(b)
-------------------------------------------------------------------
輸出 ---> 0

示例2:

a = "可樂是可樂呀"
b = a.index("可了")
# b = a.index("可了", 0, -1)
print(b)
-------------------------------------------------------------------
拋出異常 ValueError

1.7 指定字符串開頭或者結尾

startswith()指定某個字符串開頭。若是,返回True反之返回False
endswith()指定某個字符串結尾。若是,返回True反之返回False

語法:

str.startswith(prefix[, start[, end]]) -> bool
str.endswith(suffix[, start[, end]]) -> bool

- prefix/suffix: 要檢測的子字符串。
- start: 檢測的開始位置索引, 默認從頭開始。
- end: 檢測的結束位置索引, 默認到最後。

示例1:

a = "可樂是可樂呀"
b = a.startswith("可樂")
# b = a.startswith("可樂",0,-1)
print(b)
-------------------------------------------------------------------
輸出 ---> True

示例2:

a = "可樂是可樂呀"
b = a.endswith("可樂")
# b = a.endswith("可樂",0,-1)  輸出True
print(b)
-------------------------------------------------------------------
輸出 ---> False

思考一下爲何b=a.endswith("可樂",0,-1)的時候輸出True, 可樂會在下篇進行解釋, 或者私聊可樂。

1.8 字符串轉所有大寫

語法:

str.upper()

示例:

a = "abc"
b = a.upper()
print(b)
-------------------------------------------------------------------
輸出 ---> ABC

1.9 字符串轉所有小寫

語法:

str.lower()

示例:

a = "ABC"
b = a.lower()
print(b)
-------------------------------------------------------------------
輸出 ---> abc

1.10 字符串格式化

語法:

① %
② format()
③ f-string

注意:第一種方式官方並不太建議, 詳細請看官方文檔

第三種f-string格式化方式須要python3.7以上的版本!!!

示例1:

a = "可樂"
b = "hello %s" % a
print(b)
-------------------------------------------------------------------
輸出 ---> hello 可樂

示例2:

a = "可樂"
b = "hello {}".format(a)
print(b)
-------------------------------------------------------------------
輸出 ---> hello 可樂

示例3:

a = "可樂"
b = f"hello {a}"
print(b)
-------------------------------------------------------------------
輸出 ---> hello 可樂

1.11 編解碼

概念:

編碼: 將字符串編碼成字節。
解碼: 將字節解碼成字符串。

語法:

編碼: str.encode(encoding,errors)
解碼: str.decode(encoding,errors)
- encoding: 須要編碼或者解碼的格式, 通常爲utf-8, 或者gbk。
- errors: 錯誤的處理方式, 默認是strict, 遇到非法字符拋出異常, 默認便可。
後續可樂會專門加一篇ASCII和Unicode和UTF-8和gbk的文章。

示例1:

a = "可樂"
b = a.encode()
print(b)
-------------------------------------------------------------------
輸出 ---> b'\xe5\x8f\xaf\xe4\xb9\x90'
注:輸出的是以16進制形式的字符編碼值

示例2:

a = b'\xe5\x8f\xaf\xe4\xb9\x90'
b = a.decode()
print(b)
-------------------------------------------------------------------
輸出 ---> 可樂

2、數字型經常使用方法

2.1 浮點型轉整型

語法:

int()

示例:

a = 1.1
b = int(a)
print(b)
-------------------------------------------------------------------
輸出 ---> 1

2.2 保留小數位並四捨五入

語法:

round(number, digits)
- digits: 四捨五入時要使用的小數位數,默認爲0。

示例:

a = 3.1415
b = round(a, 3)
print(b)
-------------------------------------------------------------------
輸出 ---> 3.15

3、列表經常使用方法

注意: 想要熟悉掌握列表經常使用方法, 必須熟悉上一篇的索引, 以及可變類型。

3.1 將其餘類型轉換成列表

語法:

list(iterable)
可迭代對象iterable字符串部分已經備註, 這裏可樂就不備註了。

示例:

a = (1, 2, 3)
b = list(a)
print(b)
-------------------------------------------------------------------
輸出 ---> [1, 2, 3]

3.2 指定位置插入數據

語法:

list.insert(index,obj)

示例:

a = [1, 2, 3]
a.insert(1, "可樂")
print(a)
-------------------------------------------------------------------
輸出 ---> [1, '可樂', 2, 3]

3.3 在列表末尾添加數據

語法:

list.append(obj)

示例:

a = [1, 2, 3]
a.append("可樂")
print(a)
-------------------------------------------------------------------
輸出 ---> [1, 2, 3, '可樂']

3.4 將其餘可迭代對象追加到列表中

語法:

list.extend(iterable)

示例:

a = [1, 2, 3]
a.extend((4, 5, 6))
print(a)
-------------------------------------------------------------------
輸出 ---> [1, 2, 3, 4, 5, 6]

3.5 修改指定索引的數據

語法:

list[index] = obj

示例:

a = [1, 2, 3]
a[0] = "可樂"
print(a)
-------------------------------------------------------------------
輸出 ---> ['可樂', 2, 3]

3.6 刪除指定索引的數據

語法:

① del list[index]
② list.pop(index)

示例1:

a = [1, 2, 3]
del a[2]
print(a)
-------------------------------------------------------------------
輸出 ---> [1, 2]

示例2:

a = [1, 2, 3]
a.pop(2)
print(a)
-------------------------------------------------------------------
輸出 ---> [1, 2]

3.7 刪除第一個出現的指定數據

語法:

list.remove(value)

示例:

a = [1, 2, 3, 2]
a.remove(2)
print(a)
-------------------------------------------------------------------
輸出 ---> [1, 3, 2]

3.8 清空列表

語法:

list.clear()

示例:

a = [1, 2, 3]
a.clear()
print(a)
-------------------------------------------------------------------
輸出 ---> []

3.9 統計列表長度

語法:

len(list)

示例:

a = [1, 2, 3]
b = len(a)
print(b)
-------------------------------------------------------------------
輸出 ---> 3

3.10 統計數據在列表中出現的次數

語法:

list.count(value)

示例:

a = [1, 2, 3, 2]
b = a.count(2)
print(b)
-------------------------------------------------------------------
輸出 ---> 2

3.11 列表排序

語法:

list.sort(key,reverse)
- key: 指定排序方式的函數。
- reverse: 等於True降序, 等於False升序, 默認False。

示例1:

a = [1, 2, 3, 2]
a.sort()
print(a)
-------------------------------------------------------------------
輸出 ---> [1, 2, 2, 3]

示例2:根據字典的 key=可樂 進行升序排序

def hello_list(e):
    return e["可樂"]

a = [{"可樂": 18}, {"可樂": 26}, {"可樂": 20}]
a.sort(key=hello_list)
print(a)
-------------------------------------------------------------------
輸出 ---> [{'可樂': 18}, {'可樂': 20}, {'可樂': 26}]

備註:函數在下一篇可樂會詳細講解, 示例2只是演示key的做用。

3.12 列表反轉

語法:

list.reverse()

示例:

a = [1, 2, 3, 4]
a.reverse()
print(a)
-------------------------------------------------------------------
輸出 ---> [4, 3, 2, 1]

4、元組的經常使用方法

4.1 建立空元組

語法:

① tuple()
② ()

示例:

a = tuple()
# a = ()
print(a)
-------------------------------------------------------------------
輸出 ---> ()

4.2 經過索引訪問元組的值

語法:

tuple[index]

示例:

a = (1, 2, 3, 4)
b = a[0]
print(b)
-------------------------------------------------------------------
輸出 ---> 1

4.3 刪除元組

語法:

del tuple

示例:

a = (1, 2, 3, 4)
print(a)
del a
print(a)
-------------------------------------------------------------------
第一行輸出 ---> (1,2,3,4)
第二行拋出 NameError

注意: 上篇可樂已經明確表示元組是不可變類型, 因此對於元組來講不存在修改和切片。由於當你修改元組時, 實際狀況是會在內存中開闢新的內存地址用來存放新的元組

可樂用代碼給你們演示一下:

a = (1, 2, 3, 4)
print(f"原元組的值是{a}")
print(f"原元組的內存地址是{id(a)}")
b = a[:2]
print(f"修改後元組的值是{b}")
print(f"修改後元組的內存地址是{id(b)}")

備註: python經過內置函數id()來訪問值的內存地址

輸出結果如圖:

5、字典的經常使用方法

想要熟練掌握字典的經常使用方法,須要對可樂上一篇字典的key-value(鍵值對)的格式比較熟悉,字典的key必須是不可變類型,value能夠是任何類型

5.1 建立空字典

語法:

① dict()
② {}

示例:

a = {}
#a = dict()
print(a)
-------------------------------------------------------------------
輸出 ---> {}

5.2 獲取字典的值

語法:

① dict[key]
② dict.get(key, default=None)

示例1:

a = {"name": "可樂", "age": 18}
print(a["name"])
-------------------------------------------------------------------
輸出 ---> 可樂

示例2:

a = {"name": "可樂", "age": "18"}
b = a.get("name")
print(b)
-------------------------------------------------------------------
輸出 ---> 可樂

注意: 在第一種方式中, 若是key不存在, 會拋出異常;第二種方式若是key不存在, 則返回默認值。

5.3 修改字典的值

語法:

① dict[key] = value
② dict.update(new_dict)

示例1:

a = {"name": "可樂", "age": 18}
a["name"] = "是可樂呀"
print(a)
-------------------------------------------------------------------
輸出 ---> {'name': '是可樂呀', 'age': 18}

示例2:

a = {"name": "可樂", "age": 18}
a.update({"python": "hello"})
print(a)
-------------------------------------------------------------------
輸出 ---> {'name': '可樂', 'age': 18, 'python': 'hello'}

注意: 若是指定的key在字典中不存在, 那麼就是增長一個鍵值對。

5.4 計算字典元素個數

語法:

len(dict)

示例:

a = {"name": "可樂", "age": 18}
b = len(a)
print(b)
-------------------------------------------------------------------
輸出 ---> 2

5.5 獲取字典全部的key

語法:

dict.keys()

示例:

a = {"name": "可樂", "age": 18}
b = a.keys()
print(b)
-------------------------------------------------------------------
輸出 ---> ["name","age"]

獲取字典全部的value

語法:

dict.values()

示例:

a = {"name": "可樂", "age": 18}
b = a.values()
print(b)
-------------------------------------------------------------------
輸出 ---> ['可樂', '18']

5.7 獲取字典的key-value

語法:

dict.items()

示例:

a = {"name": "可樂", "age": "18"}
b = a.items()
print(b)
-------------------------------------------------------------------
輸出 ---> [('name', '可樂'), ('age', '18')]

6、條件語句

在python中條件語句就是三個關鍵字 if elif else

語法:

if 判斷條件:
 執行代碼
elif 判斷條件:
 執行代碼
else:
 執行代碼

說明: 在上述的條件判斷中是互斥的, 也就是說要麼執行if的代碼, 要麼執行elif的代碼, 要麼執行else的代碼, 而且只要其中一個符合條件, 那麼程序便不會判斷後面的條件了。這部分能夠優化代碼。

示例1:

a = "可樂"
if a == "可樂":
    print("可樂1")
elif a == "可樂":
    print("可樂2")
else:
    print("什麼都不是")
-------------------------------------------------------------------
輸出 ---> 可樂1

示例2:

a = "可樂"
if a == "可樂":
    print("可樂1")
if a == "可樂":
    print("可樂2")
if a == "可樂":
    print("可樂3")
-------------------------------------------------------------------
輸出 ---> 可樂1
輸出 ---> 可樂2
輸出 ---> 可樂3

7、循環語句

python中循環包括while循環for循環
while循環:表示給定一個判斷條件爲True時, 進入循環體, 爲False跳出循環體;
for循環:表示會重複的執行語句;
死循環:表示程序一直在循環體當中跳不出來。必定要避免死循環!!!

7.1 while循環

語法:

while 判斷條件:
 執行代碼

示例:

a = 0
while a < 10:
    print(a)
    a += 1
-------------------------------------------------------------------
輸出 ---> 0-9

7.2 for循環

語法:


① for iterating_var in iterable:
   執行代碼
② for iterating_var in range(start,stop,step)
   執行代碼

- start是開始數據
- stop是結束數據
- step是步長

示例1:

for i in [1, 2, 3]:
    print(i)
-------------------------------------------------------------------
輸出 ---> 1~3

示例2:

for i in range(1, 10, 2):
    print(i)
-------------------------------------------------------------------
輸出 ---> 1 3 5 7 9

7.3 循環控制語句

語法:

① break
② continue

說明:
- break會終止循環體,程序再也不往下循環;
- continue結束本次循環,程序繼續下一次的循環。
注意: 若是是嵌套循環, 那麼break終止的是當前所在的循環體, 而不是整個循環嵌套體

示例1:

for i in [1, 2, 3]:
    for j in [4, 5, 6]:
        if j == 5:
            break
        print(j)
-------------------------------------------------------------------
輸出 ---> 4 4 4
解釋一下: 在程序中是一個循環嵌套, 當j==5時, 內層循環會終止進入外層循環的下一次循環。

示例2:

for i in [1, 2, 3]:
    for j in [4, 5, 6]:
        if j == 5:
            continue
        print(j)
-------------------------------------------------------------------
輸出 ---> 4 6 4 6 4 6
解釋一下: 在程序中是一個循環嵌套, 當j==5時, 內層循環會跳出本次循環, 進入內層循環的下一次循環。

到此咱們在本篇中學習了python數據類型的經常使用方法,條件語句和循環語句。各位道友在學習過程當中遇到疑問能夠私聊可樂,可樂看到了都會一一回復的。

那麼下一篇可樂將和你們看一下python當中的異常處理,函數和模塊

按照慣例,可樂爲各位道友準備了一個簡單的題目來鞏固本篇的內容:

變量 a = {"name": "可樂", "age": 18, "hello": "python"},如今要將 a 全部的 key 放入到 b列表 中,全部的 value 放到 c列表 中。
提示:利用字典的方法和循環結合,while和for均可以實現。

在下一篇中可樂會留下答案。

< END>

在這裏插入圖片描述

相關文章
相關標籤/搜索