Python系列之 - 入門基礎知識筆記
馮諾依曼架構
控制器
運算器
儲存器
輸入裝置 (I)
輸出裝置 (O)
CPU——控制器,運算器 # 運算器只與記憶體交換資料
記憶體——儲存器
硬碟——輸入裝置,輸出裝置(向儲存器輸入資料,寫入儲存器輸出的資料)
鍵盤,滑鼠——輸入裝置(向計算機輸入指令
顯示器,印表機,音響等——輸出裝置
馮諾依曼體系
python的語言型別
python是動態語言,強型別語言
靜態編譯語言
事先宣告變數型別,型別不能更改
編譯時檢查
動態編譯語言
不用事先宣告型別,隨時可以賦值為其他型別
程式設計時不知道是什麼型別,很難推斷(編譯時無法檢查,只有執行時才能檢查)
強型別語言
不同型別之間操作,必須先強制型別轉換為同一型別
弱型別語言
不同型別之間可以操作,自動隱式轉換
基礎語法
基礎資料型別
註釋
由符號#標註的文字
數字
整數 不區分短整型和長整型
進位制 :二進位制(0b01),0o10,十六進位制(0xa)
布林型 : True 、False
浮點數
1.2、3.1415、-0.12、146e9等價於1.46*10 9次方
複數
1+2i,1-2j
字串
使用’ "單雙引號引用的字元的序列
‘’'和”””單雙三引號
字串前加R或r則該字串不做特殊處理(轉義字元無效)
轉義字元
\ ,\t,\r,\n,’,"
tab:製表符,用在對齊列印,通常為了補足4個字元或者8個字元
\n:相當於enter, new line,下一行
縮排
捨棄了C等語言的花括號,用縮排代替層次關係
約定使用4個空格縮排
續行
在行尾使用\
如果使用各種括號,認為括號內是一個整體,內部跨行不用
識別符號
運算子
算術運算子
運算子 含義 示例
+ 加 1+2=3
- 減 3-1=2
* 乘 2*2=4
/ 除 9/3=3.0
% 取模 5%2=1
** 指數運算 3**2=8
整除:返回除法的餘數
自然除/結果是浮點數,整除//。
位運算子
& | ~ ^ << >>
&(與):二進位制的按位的相乘
0b1101 &
0b0001
=0b0001
|(或):按位相加(按位相加不進位,0b10|0b11=3)
~:按位取反
^:按位異或
<<:
>>:
常用方式:乘除2的倍數,32//8相當於32>>3
bin(32)=0b100000 往右走3位 結果為0b100
12,0xc,0o14,0b1100
比較運算子
符號 含義 示例
== 等於 a == 3
!= 不等於 a != 3
> 大於 5 > 2
< 小於 7<13
>= 大於等於 a >= 2
<= 小於等於 b <= 7
返回一個bool值
1<‘1’(報錯) 1==‘1’(False)
鏈式比較操作符
4>3>2
邏輯運算子
與或非 and or not
短路運算子
and 如果第一個表示式為False,則表示式一定為False
or 如果第一個表示式為True ,則表示式一定是True
賦值運算子
a = min(3,5)
+= (a=a+4等價於a+=4)
-=
*=
/=
//=
%=
成員運算子
in,not in
身份運算子
is , is not
運算子優先順序
單目運算子>雙目運算子
算數運算子>位運算子>身份運算子>成員運算子>邏輯運算子
記不住,用括號,
長表示式,多用括號,易懂,易讀
表示式Expression
由數字,符號,括號,變數等的組合
算數表示式
邏輯表示式
賦值表示式
Python中,賦值即定義,如果一個變數已經定義,賦值相當於重新定義
記憶體管理
變數無需事先宣告,也不需要指定型別
python程式設計中一般無須關心變數的存亡,也一般不用關心記憶體的管理
python使用引用計數記錄所有物件的引用數
當物件引用數變為0,他就可以被垃圾回收GC
計數增加:
賦值給其他變數就增加引用計數,例如x=3;y=x;z=[x,1]
實參傳參,如foo(y)
計數減少:
函式執行結束時,區域性變數就會被自動銷燬,物件引用計數減少
變數被賦值給其他物件,例如x=3;y=x;4
有關效能的時候,就需要考慮變數的引用問題,但是該釋放記憶體,還是儘量不釋放記憶體,看需求
檢視引用計數
import sys
x = [ ]
print(1,sys.getrefcount(x))
print(2,sys.getrefcount([]))
y = x
print(3,sys.getrefcount(y),sys.getrefcount(x))
x = 5 #注意字面常量
print(4,sys.getrefcount(y))
print(5,sys.getrefcount(x))
z = 5
print(6,sys.getrefcount(x))
1
2
3
4
5
6
7
8
9
10
11
12
13
1 2
2 1
3 3 3
4 2
5 449
6 448
---------------------
作者:Xiao.H
來源:CSDN
原文:https://blog.csdn.net/weixin_37687644/article/details/85557572
版權宣告:本文為博主原創文章,轉載請附上博文連結!