python(一) 常量_變量_注釋_數據類型


第一個 python 代碼

# 輸出 打印
print("hello world")

python代碼 是從上往下 一行一行執行 一旦報錯 就會停止

一、常量

“常量”的廣義概念是:‘不變化的量’,在計算機程序運行時,不會被程序修改的量,約定俗成 不可更改 ,一般 全部是大寫字母。

如:a 、 15 、 G

二、變量

  變量就是一些將來可能會改變的數據,程序運行時,這些數據將會被保存在計算機的內存里面,程序運行中所需要的各種各樣的數據會以變量的形式保存起來。
  由數字 字母 下划線任意組合,且不能以數字開頭
  用等於號 “ = ” 賦值,左邊是變量名 ,右邊是變量值

變量名 = 值

  不能用python中的關鍵字,Python 的標准庫提供了一個 keyword 模塊,可以輸出當前版本的所有關鍵字

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else',
'except','finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',
'pass', 'raise','return', 'try', 'while', 'with', 'yield']
# 定義一個變量名為i 把5.8 賦值給 變量i
i = 5.8
print(i)
# 把i得值改為了 3.9
i = 3.9
print(i)

注釋

在程序中對某些代碼進行標注說明,增強程序的可讀性
python 注釋有以下兩類:
  單行注釋:以 # 開始
  多行注釋:用 一對 連續的 三個 引號(單引號和雙引號都可以)

# 這是一單行注釋

'''
這是一個
多行注釋
'''

"""
這也是一個
多行注釋
"""

什么時候需要使用注釋?
  1.注釋不是越多越好,對於一目了然的代碼,不需要添加注釋
  2.對於 復雜的操作,應該在操作開始前寫上若干行注釋
  3.對於 不是一目了然的代碼,應在其行尾添加注釋(為了提高可讀性,注釋應該至少離開代碼 2 個空格)
  4.絕不要描述代碼,假設閱讀代碼的人比你更懂 Python,他只是不知道你的代碼要做什么

python一些代碼規范

任何語言的程序員,編寫出符合規范的代碼,是開始程序生涯的第一步


數據類型

Python3 中有六個標准的數據類型:

Number(數字)
String(字符串)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)

Python3 的六個標准數據類型中:
  不可變數據(3 個):Number(數字)、String(字符串)、Tuple(元組)
  可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)


三、 數字(Number)

python 數字類型不改改變
  整數:int 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 類型使用,布爾(bool)是整型的子類型。

# 例如: 1 、-258 、 36900 等等

  浮點數:float 浮點型由整數部分與小數部分組成

# 例如:3.25  、 0.35 

  復數:complex 復數由實數部分和虛數部分構成

3.1、算術運算符

運算符 作用
+
-
*
/
% 取余
// 取整 只取相除后得整數
** 冪 次方

題:

  1. 6 模 上7等於多少
  2. 45除8 取整等於多少
  3. 8 模上 5 的結果 的 5次方等與多少?

3.2、賦值運算符

運算符 描述 實例
= 就是賦值,把右邊的結果值給到左邊 a=1 、b = 2+3
+= 加法賦值:把左邊加上右邊,結果在給左邊 a +=2 就等於 a = a + 2
-= 減法賦值:把左邊減去右邊,結果在給左邊 a -= 3 等於 a = a-3
*= 乘法賦值:把左邊乘於右邊,結果在給左邊 a *=2 等於 a = a * 2
/= 除法賦值:把左邊除於右邊,結果在給左邊 a /= 5 等於 a = a / 5
//= 取整除賦值:把左邊除於右邊的商給到 左邊 a // 6 等於 a = a // 6
%= 取模賦值:把左邊除於右邊的余數給到 左邊 a %= 7 等於 a = a % 6
**= 冪賦值:把左邊冪右邊 的結果 給到左邊 a **= 7 等於 a = a ** 7

3.3、邏輯運算符

運算符 描述 實例
and 且、與: 兩邊全部為真,才是真 True and False = Fales
or 或: 只要有一邊成立,則成立 True or False = True
not 非 取反 not False = True

3.4 成員運算符

運算符 描述 實例
in 在一個序列里面是否包含指定元素 "python" in ["java","c","c#","php","python"]
not in 在一個序列里面不包含指定元素 "Nodejs" not in ["java","c","c#","php","python"]

優先級
和數學中的運算符的優先級一致,在 Python 中進行數學計算時,同樣也是:
  先乘除后加減
  同級運算符是 從左至右 計算
  可以使用 () 調整計算的優先級
冪 (最高優先級) > 乘、除、取余數、取整除 > 加法、減法

數據轉換

# 浮點數 轉 int 會有精度損失
i = 2.3
print(int(i))
>>> 2

python 也提供 進制之間 相互轉換
十進制轉 二進制 bin()

print(bin(5))
>>> 0b101

二進制轉十進制 int('二進制數',2)

print(int('110',2))
>>> 6

3.5、布爾類型

True :真 也是int類型 1
False:假 也是int類型 0

注意:Python3 中,bool 是 int 的子類,True 和 False 可以和數字相加 True== 1,False==0 是會返回 Ture,但可以通過 is 來判斷類型。

練習:

bu = (a and b or c) and d or e
# c =False, a 和b 其中有一個False, d 是True, e 也是True
# 問bu 結果是什么

四、 字符串(str)

4.1、字符串格式

python 字符串 單引號 或 雙引號

'內容'
"內容"

4.2、常用得轉義符:

\ :可以作為續行符,也可以反義
\n :換行
注:若想輸出整個原始字符串 可以在字符串前面加r

print(r"hello \n 你好")
>>> hello \n 你好

字符串相加 + 結果是拼接

print("hello"+"world")
>>> helloworld

4.3、格式化輸出

st1 = '我叫{},喜歡{}'.format('小明','打球')
print(st1)
>>> 我叫小明,喜歡打球
# 還有另一種 %s
st2 = "我叫%s,喜歡%s" %("劉備","江山")
print(st2)
>>> 我叫劉備,喜歡江山

4.4、字符串常用方法

轉換類方法

方法 作用
capitalize() 將字符串的第一個字符轉換為大寫
center() 返回一個原字符串居中,並使用空格填充至長度 width 的新字符串
encode() 指定的編碼格式編碼字符串
join() 用於將序列中的元素以指定的字符連接生成一個新的字符串
len() 返回對象(字符、列表、元組等)長度或項目個數
ljust(width[, fillchar]) 返回一個原字符串左對齊,並使用空格填充至指定長度的新字符串
rjust(width[, fillchar]) 返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串
lower() 轉換字符串中所有大寫字符為小寫
upper() 將字符串中的小寫字母轉為大寫字母
lstrip() 截掉字符串左邊的空格或指定字符
strip() 用於移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。
split() 通過指定分隔符對字符串進行切片
replace() 方法把字符串中的 old(舊字符串) 替換成 new(新字符串)如果指定第三個參數max,則替換不超過 max 次
splitlines() 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。
swapcase() 用於對字符串的大小寫字母進行轉換
zfill() 返回指定長度的字符串,原字符串右對齊,前面填充0

查詢類方法

方法名 作用
count() 用於統計字符串里某個字符出現的次數
find() 檢測字符串中是否包含子字符串 str,如果找不到返回-1
rfind() 返回字符串最后一次出現的位置,如果沒有匹配項則返回-1
index() 檢測字符串中是否包含子字符串 str該方法與 find()方法一樣,只不過如果str不在 string中會報一個異常
rindex() 返回子字符串 str 在字符串中最后出現的位置,如果沒有匹配的字符串會報異常

驗證類方法

方法名 作用
startswith() 用於檢查字符串是否是以指定子字符串開頭
endswith() 用於判斷字符串是否以指定后綴結尾
isalnum() 檢測字符串是否由字母和數字組成
isalpha() 檢測字符串是否只由字母或文字組成
isdigit() 檢測字符串是否只由數字組成,如果字符串只包含數字則返回 True 否則返回 False
isnumeric() 檢測字符串是否只由數字組成,如果字符串中只包含數字字符,則返回 True,否則返回 False
isspace() 檢測字符串是否只由空白字符組成
isdecimal() 檢查字符串是否只包含十進制字符
istitle() 檢測字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫
isupper() 檢測字符串中所有的字母是否都為大寫
islower() 檢測字符串是否由小寫字母組成。

字符串還有很多其他操作詳見:
https://www.cnblogs.com/niunai/p/10147621.html
https://www.runoob.com/python3/python3-string.html
http://c.biancheng.net/python/str_method/


五、 列表(list)

  在程序運行中,我們需要把數據暫時存儲在一個容器里,我們知道 變量是可以存儲數據,但是變量 只能存儲單個數據,當你想存儲多個數據 怎么辦?

python 列表就可以存放各種數據類型 且是有序的集合 可以添加或刪除元素,里面的每一個元素用英文 逗號 , 隔開,
用英文中括號 表示 []

# 定義一個數組 存儲兩個元素:  1,煙花  指向一個變量
li = [1,"煙花"]
print(li)
>>> [1, '煙花']     # 會把整個數組內容顯示出來

5.1、列表添加元素

# 定義空的列表,添加 元素 台風煙花要來了
ls = []
print(ls)
# 添加 元素 台風煙花要來了
ls.append("台風煙花要來了")
print(ls)
# 追加 :數字 666
ls.append(666)
print(ls)

>>> []
>>> ['台風煙花要來了']
>>> ['台風煙花要來了', 666]

5.2、索引

列表中的每個值都有對應的位置值,稱之為索引,第一個索引是 0,第二個索引是 1,依此類推

5.3、查看元素

# 定義一個有值的列表,如下
lis = ['茅台','伊利','同仁堂','海天','雲南白葯','片仔癀','中新葯業']
# 獲取第一個元素值
print(lis[0])
# 獲取 第二個到第五個之間的元素  ,可以看到列表區間取值包頭不包尾
print(lis[1:5])

>>> 茅台
>>> ['伊利', '同仁堂', '海天', '雲南白葯']

5.4、更新元素

# 更新元素 列表 還如下
li1 = ['茅台','伊利','同仁堂','海天','雲南白葯','片仔癀','中新葯業']
# 把第二個元素 更新為  煙花,
li1[1] = "煙花"
print(li1[1])

>>> 煙花

5.5、刪除元素

# 刪除元素 可以使用 del 來刪除元素
li2 =['茅台','伊利','片仔癀','同仁堂']
# 刪除 茅台
del li2[0]
print(li2)

# >>> ['伊利', '片仔癀', '同仁堂']

# 也可以使用 pop方法 在方法里傳入你要刪除的索引值 ,如果不傳默認刪除末尾的元素
li2.pop(1)
print(li2)

# >>> ['伊利', '同仁堂']

5.6、列表拼接 、嵌套

# 定義兩個 列表
li3 = ['茅台','片仔癀']
li4 = ['伊利','同仁堂']
# 相加 賦值給 變量li5
li5=li3+li4
print(li5)
# 定義列表li6  包裹 li3和li4
li6 = [li3,li4]
print(li6)

>>> ['茅台', '片仔癀', '伊利', '同仁堂']
>>> [['茅台', '片仔癀'], ['伊利', '同仁堂']]

5.7、列表常見操作方法

方法 作用
len(list) 統計列表元素個數
max(list) 求列表里的最大值
min(list) 求列表里的最小值
list.count(obj) 統計該元素在列表出現的個數
list.insert(index, obj) 將該元素插入列表指定的索引位置
list.clear() 清空列表里的元素
sort() 對元素排序,默認升序,傳入參數reverse=True 降序
extend() 用於在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
pop() 刪除指定位置的元素
remove() 刪除具有指定值的項目
reverse() 顛倒列表的順序

參考:https://www.w3school.com.cn/python/python_ref_list.asp


六、 元組(tuple)

元組和列表類似 不過 用 () 表示 且元組 是不能修改的 也就是一旦定義,就不能更改添加刪除里面的元素

6.1、定義一個元組

# 定義一個元組
tu = ('片仔癀','同仁堂')
print(tu)
# 查看元組第一個值
print(tu[1])

>>> ('片仔癀', '同仁堂')
>>> 同仁堂

6.2、元組擴展

# 因為元組是不可以更改 我們可以通過拼接來擴展
tu1 =('五糧液','伊利')
tu2 = tu+tu1
print(tu2)

>>> ('片仔癀', '同仁堂', '五糧液', '伊利')

6.3、刪除元組

# 可以用 del 刪除整個元組
del tu2
print(tu2)

>>> NameError: name 'tu2' is not defined

注: 當元組里面只有一個值的時候 后面要加 英文 逗號

6.4 元組常使用的操作方法

方法 作用
len(tuple) 統計元組個數
max(tuple) 返回元組里面最大值
min(tuple) 返回元組里面最小值
count() 返回元組中指定值出現的次數。
index() 在元組中搜索指定的值並返回它被找到的位置。

七、 集合(set)

集合也是一個裝載數據的容器 他的里面的元素特點是 元素不能重復 且 是無序的 沒有索引
使用 {} 表示 或 set() 創建一個空集合 必須用set() 因為空 {} 有其他數據占用

7.1、創建集合

# 定義一個集合
se = {'伊利','茅台'}
print(se)
se1 = set("片仔癀")
print(se1)

# 判斷元素是否在集合
print('伊利' in se)

>>> {'伊利', '茅台'}
>>> {'癀', '仔', '片'}
>>> True

7.2、集合常使用的操作方法

方法 作用
add() 添加元素
update( x ) 添加元素,參數可以是列表,元組,字典等
remove() 刪除指定的元素,元素不存在會報錯
pop() 隨機移除一個元素
discard() 移除指定元素,不存在不會報錯
clear() 清空所有的元素
intersection() 返回為兩個其他集合的交集的集合。
difference() 返回包含兩個或更多集合之間差異的集合。
union() 返回包含集合並集的集合。

參考:https://www.w3school.com.cn/python/python_ref_set.asp


八、 字典(dict)

字典像一個雙列 列表 她是鍵值對形式的出現 {’key':'value'} 且一個key 只對應一個value值,
key 不能重復且必須是不可變類型 ,值可以是任意對象
多個鍵值對以英文逗號隔開

8.1、創建字典

# 定義一個字典
di = {'茅台':2000,"片仔癀":'400'}
print(di)
>>> {'茅台': 2000, '片仔癀': '400'}

8.2 、添加值

# 給字典 添加一對 "伊利":35
di["伊利"] = 35
print(di)
>>> {'茅台': 2000, '片仔癀': '400', '伊利': 35}

8.3、修改


# 修改字典里面的值,然后在根據鍵查看里面的值
di["茅台"] = 2500
print(di["茅台"])
>>> 2500

8.4 、刪除


# 刪除 一對鍵值
del di["伊利"]
print(di)
>>> {'茅台': 2500, '片仔癀': '400'}

# 刪除整個字典
del di
print(di)
>>> NameError: name 'di' is not defined

8.5、字典一些常用操作方法

方法 作用
len(dict) 返回字典鍵的數量
clear() 刪除字典全部元素
pop(key) 刪除指定的鍵值
popitem() 隨機返回並刪除字典中的最后一對鍵和值。
get(key) 獲取指定鍵的值
setdefault(key, defaultvalue) 獲取指定鍵的值,如果鍵不存在則返回 值defaultvalue
copy() 復制一個字典返回
keys() 返回字典里面所有的key ,以列表形式展示
values() 返回字典里面所有的value值 ,以列表形式展示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM