這是我當時學習python的經典20天學習筆記,從第一天開始!帶筆記
day01筆記
<<Python 基礎 >>
簡介
python的誕生
建立人: Guido van Rossum (荷蘭人)
時 間: 1989年
python語言的應用領域:
摘要:
一共二十天基礎學習筆記(基礎過關的的同學就不需要了)
學習資料也可以加下Python扣扣裙:3零4零5零799自己下載學習下.
優缺點:
優點:
面向物件(Java, C++, Python, C#, Swift)
免費
可移植 (Windows, Linux, Unix, IOS, 安卓)
可混合程式設計(C / C++ / Java / .net )
簡單易學易用
應用領域廣泛
開源
缺點:
與 C/C++相比,執行速度不夠快
不能封閉原始碼
python的官網
https://www.python.org
python的版本
python V2.7 (2020年結束維護)
python V3.5 (當前教學)
python V3.8 (最新)
python 的執行:
python的解釋執行器的型別
CPython (C語言開發)
Jython (Java語言開發)
IronPython (.net開發)
PyPy (Python語言開發)
第一個python程式
編寫: hello.py
執行python程式
$ python3 檔案路徑名.py
例:
$ python3 /home/tarena/aid1806/pbase/day01/hello.py
常用的檔案字尾:
.py python語言字尾
.c C語言
.cpp/.cc/.cxx C++語言字尾
.java Java語言字尾
在python互動模式下編寫並執行程式碼
進入互動模式:
$ python3 <回車>
退出互動模式:
>>> quit() <回車>
>>> exit() <回車>
或輸入: ctrl + d (輸入檔案結束符)
python 的註釋
以 # 開頭, 直至行尾
作用:
讓註釋內容不參加解釋執行
sublime 註釋快捷鍵 ctrl + /
python 程式的組成:
程式是由模組組成
模組是由資料,函式,類等組成
函式由語句組成
語句由表示式組成
python 的核心資料型別
數字(整型數int,浮點型數float,複數complex, 布林型bool)
字串 str, 列表 list 等
整型數 int
整數是不帶有小數部分的數字
整數 的字面值表示方式
十進位制表示方式
如:
10
200
-100
99999999999999999999999999
八進位制表示方式
如:
0o177 (127)
0o11 (9)
十六進位制表示方式:
如:
0x11 (17)
0xFF (255)
0x1a2b
二進位制表示方式:
如:
0b111
0b101
進位制:
二進位制 逢二進一 (0~1)
八進位制 逢八進一 (0~7)
十進位制 逢十進一 (0~9)
十六進位制 逢十六進一 (0~9,A-F, a-f)
浮點型數 float
浮點數是帶有小數部分的數字(小數部分可以是0)
浮點數的字面值表示方式:
小數表示法:
如:
3.14 3.1 3.0 3. 0.14 .14
科學計數法:
格式:
小數 e/E (正負號) 指數
如:
6.18E-1 (等同於 0.618)
2.9979e8 等於299790000.0
複數 complex
分為兩部分:
實部(real)
虛部(image)
虛部是以j或J結尾的數
字面值:
1j
(2J)
1+2J
3-4j
布林型數 bool
用來表求真和假兩種狀態的數字
True 表示值(條件滿足或成立)
False 表示假(條件不滿足或不成立)
說明:
True 的值為1
False 的值為0
內建物件
空值 None
None 是一個表示不存的特殊物件
作用:
用來佔位
變數解除繫結
表示式和運算子
表示式 expression
由一個數字 或 數字和運算子 等組成
作用:
通常讓計算做一些事情並返回結果
如:
1 + 2
1 + 2 * 3 + 4 / 5
運算子:
算術運算子:
+ 加法
- 減法
* 乘法
/ 除法
// 地板除floordiv
% 求餘
** 冪運算
/ 除法
除法得到的數是浮點型數,不會丟棄小數部分
1 / 3 # 得 0.333333333333
8 / 2 # 得 4.0
// 地板除
除的結果雲掉小數部分向下取整
如:
7 / 3 # 得 2.333333333333
7 // 3 # 得 2
3.25 // 1.5 # 得 2.0
% 求餘
如:
7 % 3 # 得 1
3.25 % 1.5 # 得 0.25
** 冪運算
格式:
x ** y
意為 x的y次方
如:
4 ** 2 # 得 16
3 ** 4.0 # 得 81.0
練習:
1. 一個商店賣西瓜,7元一個,您帶20元錢能買到幾個西瓜? 剩多少元?
2. 一個學生畢業薪資10000元,每個漲薪 20%,請問十年後這個學生的薪資是多少?
答案:
1. 1) 20 // 7 # 買到2個西瓜
2) 20 % 7 # 剩6元
2. 10000 * (1 + .2) ** 10 # 得 61917.36
運算子的優先順序
**
* / // %
+ -
示例:
1 + 3 * 3 ** 2 + 4 // 2
1 + 3 * 9 + 4 // 2
1 + 27 + 4 // 2
1 + 27 + 2
28 + 2
30
括號分組子表示式:
()內部的表示式先進行計算
混合型別自動升級
1 + 2.14 返回型別為浮點型 3.14
3 + 4.0 返回 7.0
基本輸出函式 print
格式:
print(要列印的東西)
多個數據用逗號分隔開
1. 列印如下圖形:
*******
* *
* *
*******
2. 已知矩形的長邊長為6cm,短邊長為4cm,用表示式求
1) 周長是多少?
2) 面積是多少?
變數 variable
什麼是變數
變數是關聯一個物件的"識別符號"
識別符號的命名規則:
必須為字母或下劃線開頭,後跟字母或下劃線或數字
不能使用python的關鍵字
說明:
python的變數名區分大小寫
合法的識別符號(變數名) 舉例 :
abc a1b2 _abc __Abcd var
不合法的識別符號:
1a2b $ABC +a -b #ABC @ ABC
python關鍵字:
True, False, None, is, del, if, elif ...等
賦值語句
=
語法:
變數名 = 表示式
或
變數名1 = 變數名2 = 表示式
或
變數名1, 變數名2 = 序列
作用:
1. 建立一個變數,此變數用來繫結資料物件
2. 修改一個變數的繫結關係,讓其繫結另一個數據物件
說明:
當變數不存在時,建立該變數,同時將變數繫結在這個物件上
當變數存在時,改變此變數繫結的物件
一個變數只能繫結一個物件
兩個變數可以同時繫結同一個物件
示例:
pi = 3.1415926
pi2 = pi # pi變數 和 pi2 變數同時繫結 3.1415926
x = y = 100 # x變數和 y變數同時繫結 100
x, y = 100, 200 # 序列賦值
python 中的自動化記憶體管理
a = 10000
b = 20000
a = a + b # 釋放10000這個物件,a重新繫結30000
c = a # c同時繫結在30000上
練習:
1. 指定一個圓的半徑是r = 9cm
1) 計算圓的周長
2) 計算圓的面積
2. 交量交換練習:
已知有兩個變數:
a 繫結 10000
b 繫結 20000
問,在不建立任何新資料物件的情況下,如何讓a 和 b 交換繫結的物件
a = 10000
b = 20000
....
print(a) # 20000
print(b) # 10000
del 語句:
作用:
用於刪除變數,同時解除與物件的關聯關係,如果可能能釋放物件
語法:
del 變數名
在互動模式下檢視當前作用域的所有變數
>>> help('_
_main__')
退出鍵: q
示例:
a = 10000 # 建立a變數,繫結10000
print(a) # 10000
del a # 刪除了a變數,釋放10000這個資料物件
print(a) # 出錯
自動化記憶體管理和引用計數:
每個物件都會記錄有幾個變數繫結(引用)自身,當引用的數量為0時,則此物件將被銷燬(釋放記憶體資源), 此種自動化記憶體管理的方式叫引用計數
例:
a = 10000
b = a # 兩個變數同時繫結10000這個資料物件
del a
del b # 此時會釋放10000這個資料物件
is / is not 運算子
作用:
判斷兩個物件是否是同一個物件,當是同一物件時返回True,否則返回False
說明:
is not 返回值與is 相反
語法:
x is y
x is not y
id(obj) 函式
作用:
返回一個物件在記憶體中的地址
小整數物件池
CPython中,整數-5至256的數永遠存在於小整數池中,不會釋放且可重複使用
示例:
a = 100
b = 100
a is b # True
複合賦值算術運算子
運算子 說明
y += x 等同於 y = y + x
y -= x 等同於 y = y - x
y *= x 等同於 y = y * x
y /= x 等同於 y = y / x
y //= x 等同於 y = y // x
y %= x 等同於 y = y % x
y **= x 等同於 y = y ** x
例:
x = 100
x *= 2 # x = 200
x = 100
x = x * 2 # x = 200
練習:
1. 中國古代的秤是16兩一斤,請問古代對216兩是古代的幾斤幾兩,寫程式打印出來?
2. 從凌晨 0:0:0 計時,到現在已經過了63320秒,
請問現在是幾時,幾分,幾秒,寫程式打印出來
提示:
可以用地板除和求餘實現
3. 溫度轉換:
攝氏溫度 = 5.0/9.0*(華氏溫度-32)
請問100華氏溫度是多少攝氏溫度.寫程式算出來
思考:
如果知道當前溫度是攝氏溫度100度,能否算出華氏溫度是多少