我的Python初級學習20230830

Python學習20230830

Python的安裝

1、官網安裝IDLE,Python的環境(免費)。

2、安裝PyCharm(社區版免費)。
pycharm中有個雙擊shift就會彈出全局搜索框,實在太麻煩了,這裏直接禁用。settings---->advanced settings---->user interface---->disable double modifier key shortcuts。

3、安裝Typora。

4、安裝個IPython更好的交互環境,裝上也不影響(有高亮等)。

5、如果python安裝失敗,應該是缺少底部組件,查找vs tool補件進行安裝。

6、文本編輯工具Visual Studio Code(好不好用我也不知道,免費)

Python的庫的安裝PIP

命令中直接pip install ipyhton的話會去國外網,所以需要鏡像網站(一般走豆瓣鏡像,鏡像網站就是將一個完全相同的站點放到幾個服務器,分別有自己的URL,實際就是將國外的網站搬過來)。

所以使用(全局配置):

pip config set global.index-url https://pypi.doubanio.com/simple

————————————————————————————————

安裝其他的庫則在命令中編寫:pip install XXX 比如 pip install ipython。

.py文件可以直接拖到命令中顯示絕對路徑,進行執行python xxx.py。

快捷鍵

(Pycharm是有代碼的歷史記錄的)

CTRL+Y=》刪除這行

CTRL+D=》複製上一行

菜單欄上CODE=>REFORMAT CODE將格式轉換爲標準格式,快捷鍵:CTRL+ALT+L(會和QQ鎖定衝突,可以修改其中一個的快捷鍵)

CTRL+/ ===> 註釋代碼

CTRL+左鍵 ===> 點擊函數,就能進到它的代碼中

SHIFT+TAB ====> 取消縮進

賦值

# START_1 賦值
# 改變變量名,直接變量右鍵refactor,rename就可以統一修改了
# a = input('a = ')  # 輸入的默認是字符,int() ——integer
a, b = 1, 2
print(f'a = {a}, b = {b}')
a, b = 35, a
print(f'a = {a}, b = {b}')  # 輸出結果是a= 35, b= 1,右邊的就是個局部變量1,而不是a
(a, b) = (3, 4)
print(f'a = {a}, b = {b}')
(a, b, c) = [5, 6, 7]
print(f'a = {a}, b = {b}, c = {c}')
(a, b, c) = ["字符串a的值", "字符串b的值", "字符串c的值"]
print(f'a = {a}, b = {b}, c = {c}')
# END_1

變量 - 數據的載體

  1. 變量名字母(Unicode字符)、數字、下劃線,不能使用特殊字符,數字不能開頭
  2. 變量名是區分大小寫的(大小寫敏感)
  3. 不能使用python的關鍵字(python代碼中有特殊含義的單詞)和保留字(已經被python用過的)
  4. 見名知意(看到變量的名字,就能知道它代表了什麼意思)
  5. 變量的命名使用全小寫,多個單詞用下劃線進行分隔(Snake case :比如student_age)

數據類型

python的數據類型是動態的

type(a)得到變量類型

123e-5浮點數,表示123*10^-5=0.00123

數據類型 int, float, str——string, bool——boolean, complex(3+5j)

進制

十進制轉換二進制,一直除二,結果是倒着排的。

# START_4 十進制、八進制、十六進制、二進制計數法
data_decimal = 110  # 十進制計數法
data_octal = 0o110  # 八進制計數法
data_hexadecimal = 0x110  # 十六進制計數法,a表示10
data_binary = 0b110  # 二進制計數法
print(data_decimal, data_octal, data_hexadecimal, data_binary)
# bin--->十進制轉換爲二進制,oct--->十進制轉換八進制,hex--->十進制轉換十六進制
print(bin(110), oct(110), hex(110))
# END_4

初始代碼添加設置

Windows中的pycharm路徑爲settings=>file and code templates=>python script=>添加代碼模板

${}佔位符裏面有些是可以直接獲取到的,比如NAME是代碼名字,USER是系統名,DATE是時間。

"""
${NAME} -

Author: ${USER}
Date: ${DATE}
"""

格式化輸出

# START 格式化輸出
a = 10
b = 2.12345
print('第一種:', a, '+', b, '=', a + b)
print('第二種:%d + %.1f = %f' % (a, b, a + b))  # 使用佔位符,%f表示float格式,%.1f保留一位小數
print('第二種*:%d %% %f = %f' % (a, b, a % b))  # %%轉義
# f - format - 格式化字符串
print(f'第三種:{a} + {b} = {a + b}')  # python3.6之後的
print(f'第三種*:{a} + {b:.3f} = {a + b:.2f}')  # :.nf保留位數
# END
# START float的bug問題
print(0.1 + 0.2 + 0.3)
print(0.3 + 0.2 + 0.1)
print((0.1 + 0.2 + 0.3) == (0.3 + 0.2 + 0.1))  # 結果是false
print(round(0.1 + 0.2 + 0.3, 1) == (0.3 + 0.2 + 0.1))  # 結果是true
# END

代碼

直接把全部代碼也放上來,防止以後丟失~~

"""
example01 - 初步學習Python
1、賦值
2、算式運算
3、數據類型
4、進制
5、格式化輸出
6、浮點數計算的bug
7、運算符以及邏輯運算的應用
Author: danlis
Date: 2023/08/30
"""
# 註釋單獨一行前面不需要空格,但是如果跟在後面,前面需要加兩個空格。
print('hello,world', end='輸出結束後續跟的內容\n')  # print默認是換行,不換行的話,可以設置end值。加註釋需要空格。
# START_1 賦值
# 改變變量名,直接變量右鍵refactor,rename就可以統一修改了
# a = input('a = ')  # 輸入的默認是字符,int() ——integer
a, b = 1, 2
print(f'a = {a}, b = {b}')
a, b = 35, a
print(f'a = {a}, b = {b}')  # 輸出結果是a= 35, b= 1,右邊的就是個局部變量1,而不是a
(a, b) = (3, 4)
print(f'a = {a}, b = {b}')
(a, b, c) = [5, 6, 7]
print(f'a = {a}, b = {b}, c = {c}')
(a, b, c) = ["字符串a的值", "字符串b的值", "字符串c的值"]
print(f'a = {a}, b = {b}, c = {c}')
# END_1
# START_2 python的算式運算
a = 10
b = 2.5
print(a // b)  # 整除
print(a ** b)  # 求冪
print(a / b)
print(a % b)  # 求餘數,一般呢,都會進行空格
print(a + b)
print(a * b)
# END_2
# START_3 數據類型 int, float, str——string, bool——boolean, complex
data_int = 1  # 整數類型
data_float = 1.4  # 浮點數類型
data_str = '字符串string'  # 字符串類型
data_true = True  # 布爾類型
data_complex = 3 + 5j  # 複數類型complex
print(data_int, type(data_int))  # 可以使用逗號隔開,輸出多個值
print(data_float, type(data_float))
data_float = 123e-5
print("浮點數123e-5", data_float)  # 浮點數的科學計數法,123*10^-5
print(data_str, type(data_str))
print(data_true, type(data_true))
print(data_complex, type(data_complex))
# END_3 數據類型
# START_4 十進制、八進制、十六進制、二進制計數法
data_decimal = 110  # 十進制計數法
data_octal = 0o110  # 八進制計數法
data_hexadecimal = 0x110  # 十六進制計數法,a表示10
data_binary = 0b110  # 二進制計數法
print(data_decimal, data_octal, data_hexadecimal, data_binary)
# bin--->十進制轉換爲二進制,oct--->十進制轉換八進制,hex--->十進制轉換十六進制
print(bin(110), oct(110), hex(110))
# END_4
# START_5 格式化輸出
b = 2.12345
print('第一種:', a, '+', b, '=', a + b)
print('第二種:%d + %.1f = %f' % (a, b, a + b))  # 使用佔位符,%f表示float格式,%.1f保留一位小數
print('第二種*:%d %% %f = %f' % (a, b, a % b))  # %%轉義
# f - format - 格式化字符串
print(f'第三種:{a} + {b} = {a + b}')  # python3.6之後的
print(f'第三種*:{a} + {b:.3f} = {a + b:.2f}')  # :.nf保留位數
# END_5
# START_6 float的bug問題
print(0.1 + 0.2 + 0.3)
print(0.3 + 0.2 + 0.1)
print((0.1 + 0.2 + 0.3) == (0.3 + 0.2 + 0.1))  # 結果是false
print(round(0.1 + 0.2 + 0.3, 1) == (0.3 + 0.2 + 0.1))  # 結果是true
# END_6
# START_7 運算符以及邏輯運算的應用
# 賦值運算符:右邊的值賦給左邊(變量)---> =
# 算術運算符:+ - * / % ** //整除
# 複合的賦值運算符: = += -= *= %= **= /=
# 關係運算符: >  <   >=  <=  ==  !=   --->  產生布爾值(True或者False)
# 邏輯運算符:把多個布爾值處理成一個布爾值  --->  and與,or或,not非。and和or兩個運算符有短路功能,因此也被稱爲短路運算符
a, b = 4, 7
a *= b + 3  # a=a*(b+3)也就是說右邊的式子是作爲一體的a*=(b+3)
print(f'a = {a}, b = {b}')
# 輸入一個年份,判斷這個年份是不是閏年。規則:四年一閏,百年不閏,四百年又閏。
data_year = int(input("請輸入年份,我將判斷是否是閏年:"))
flag1 = data_year % 4 == 0  # 是4的倍數,邏輯運算大於賦值運算。
flag2 = data_year % 100 != 0  # 不能是100的倍數。
flag3 = data_year % 400 == 0  # 是400的倍數。
print(flag3 or (flag2 and flag1))
# 輸入三角形的三條邊的長度,判斷是否構成三角形。規則:任意兩邊長度和大於第三邊。
# END_7
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章