2021年12月16日
文章目錄
- 一、 注釋
- 二、 變數
- 2.1 變數:變化 狀態
- 1. 名詞解釋
- 2. 為什么要有變數?
- 3. 定義
- 2.2 怎么使用變數?
- 1. 原則
- 2.變數的定義(三部分)
- 3.重點:當我們定義一個變數時,在記憶體中發生了什么?
- 2.3 變數名的命名規范
- 1. 變數名只能使字母、數字、_ 的任意組合
- 2. 變數名的第一個字符不能使數字
- 3. 關鍵字不能宣告為變數名,
- 2.4 變數值的三大特性
- 1. id
- 2. type
- 3. value
- 4. 判斷兩個變數是不是一樣(值和型別都要一樣)
- 5.is 和 == 的區別:
- 三、常量
- 1. 定義
- 2. 怎么使用常量?
- 重點
- 三、常量
- 1. 定義
- 2. 怎么使用常量?
- 重點
python語法
語法存在的意義:讓計算機具備人的某一項技能(是后續所有python語法的根本)
一、 注釋
? 1.1 注釋就是對代碼的解釋說明
? 1.2 注釋的內容不會被當作代碼運行
? run的本質:python腳本的路徑,
? 1.3 為什么要有注釋?
? 增強代碼的可讀性,輔助我們來閱讀原始碼,臨時除錯代碼,
? 1.4 怎么用代碼?
? ①單行注釋:英文的 ‘#’ 號,后面的內容會被注釋掉,在’#'前邊沒有用
? ②多行注釋(CTRL+?):三對單引號(’‘’ ‘’‘)或者三對雙引號(“”“ ”“”)注意必須成對出現,
? 1.5 什么時候該寫注釋?
? 必要的地方你就寫
? 1.6 拓展小知識
? # TODO:我要去做的作業(類似于備注)
? 1.7 注釋的原則
? ①不用全部注釋,自己覺得重要和有必要注釋的去注釋即可
? ②用中文或英文
? 1.8 快捷鍵
①快速復制當前行 CTRL+d
②洗掉當前行 CTRL+y
③回退 CTRL+z
二、 變數
2.1 變數:變化 狀態
1. 名詞解釋
? 變數就是可以變化的量,量指的是事物的狀態
2. 為什么要有變數?
? 臨時保存下來狀態的變化
3. 定義
? 變數(variable)可以看作一個小箱子,專門用來“盛裝”程式中的資料,對應記憶體的名字,
2.2 怎么使用變數?
1. 原則
? 先定義,后使用,
2.變數的定義(三部分)
a. 變數名(門牌號):是只想等號右側值的記憶體地址的,用來訪問等號右側的值,
b. “=”(賦值符號,把=右邊的復制給它左邊):將變數的記憶體地址系結給變數名,
c. 值(具體資料):代表記錄的事物的狀態,
3.重點:當我們定義一個變數時,在記憶體中發生了什么?
? a. 開辟一個記憶體空間,
? b. 將值放到這個記憶體空間去
? c. 將這個記憶體空間地址系結給變數名,
? ④使用變數:先找到變數名系結的地址,找到記憶體空間資料,
2.3 變數名的命名規范
1. 變數名只能使字母、數字、_ 的任意組合
2. 變數名的第一個字符不能使數字
3. 關鍵字不能宣告為變數名,
? 關鍵字:自家保留使用的,一共35個,如果使用關鍵字則會覆寫它原本的功能,
? 查看關鍵字的方式:
import keyword
print(keyword.kwlist)#列印關鍵字
print(len(keyword.kwlist))#查看關鍵字的長度
-
中文也可以做變數名,但是不推薦使用,
孜孜淑淑=2 print(孜孜淑淑) #結果:2
? 不建議的地方:
? a. 不要內置函式
? b. 不能數字、下劃線開頭
? c. 不要關鍵字
? d.不要拼音 要見名知義
?
- 命名風格
? a. 駝峰體
? AiGuoZhe
? b. 純小寫下劃線鏈接法
? Ai_Guo_Zhe
拓展知識:python動態定義變數無需定義變數型別,C靜態定義變數要說明資料型別*1.27
2.4 變數值的三大特性
1. id
? 反映的是變數在記憶體中的唯一編號(不是說記憶體地址,記憶體地址不同,id肯定不同)
記憶體地址(記憶體的位置):房間的地址
記憶體地址編號:0001
變數名(方便開發程式的時候使用):門牌號(例如:天字一號房)
#id()是用來查看記憶體編號,用來查看是不是同一塊記憶體空間
a=1
print(id(a))
#運行結果:231343432323(記憶體空間的編號)
2. type
? 變數值的型別,資料型別(分型別是為了更好的節約空間和增加開發效率)
#type()用來查看資料型別的(總統房、單人間)
a=1
print(type(a))
#運行結果:<class 'int'> (int整型資料)
3. value
值本身
a=1
print(a)
#運行結果:1
4. 判斷兩個變數是不是一樣(值和型別都要一樣)
a. 值一樣
a = 1
b = 1
#a與b的值一樣
b. 型別不一樣
c = 1 #c為整型資料
d = '1' #d為字串型資料
c. id不一樣 肯定在不同額記憶體地址里邊
舉個栗子:住在單人間的男生,和住在套房的男生,兩個都是男生,但是他們所在的房間型別不一樣,所以他們倆一定不一樣
d. id一樣 住同一間房 完全一樣
5.is 和 == 的區別:
? ①= : 賦值符號,將等號右邊的值放在一個記憶體空間中
? ②== : 判斷左右兩邊的值以及資料型別是不是相等 相等就回傳True 不相等就回傳False
print(1 == 1) #運行結果:Ture
print(1 == 2) #運行結果:False
print(1 == '1') #運行結果:False
? ③is:判斷左右兩邊的id是否完全相等,記憶體地址的唯一編號是否相等
-
id不同的 情況下,值有可能相等,即有兩塊不同的記憶體空間里可以存相同的值
舉個栗子:
? 在記憶體中開辟一個空間,命名為a,放入整型資料18
? 同時也開辟另一個空間,命名為b,放入整型資料18
這就是id不同,但是值可能相等的情況
-
id相同的情況下,值一定相等
舉個栗子:
? x is y 成立,則x == y 也必然成立
-
小整數池
a = 1 #這個陳述句做了什么事?第一步:開辟了一個記憶體的空間
第二步:將1這個值放入到記憶體空間中去
第三步:將記憶體空間的地址系結給a這個名字
b = 2 #這個陳述句做了什么事?第一步:開辟了一個記憶體的空間
第二步:將2這個值放入到記憶體空間中去
第三步:將記憶體空間的地址系結給b這個名字
問題1:a的記憶體地址和b的記憶體地址一樣嗎?
a = 1 b = 2 print(a is b) #運行結果:False print(id(a)) #運行結果:2053515313392 print(id(b)) #運行結果:2053515313424問題2:當a = 1,b = 1的時候我們的記憶體地址一樣嗎?
a = 1 b = 1 print(a is b) #運行結果:Ture print(id(a)) #運行結果:3102896947440 print(id(b)) #運行結果:3102896947440疑惑:按理來說,a , b的id應該是不同的,在這里為什么又一樣呢?
在這里事python做的一個優化設定,叫做小整數池
- 整型:[-5,256],在這個范圍內的,它都不會在另外開辟一個空間
- 字串:同理(沒有研究的必要,知道有這個東西即可,)
a = '哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈' b = '哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈' print(a is b) #運行結果:Ture print(id(a)) #運行結果:2306956295472 print(id(b)) #運行結果:2306956295472通過pycharm推導的結論:這么長的字串在pycharm中也沒有額外開辟空間,因為這些是常用的,
拓展的點:
? python做了部分優化,有部分的常用的值不用開辟新的空間,
? pycharm這個軟體自己也做了優化,將優化的范圍擴大了,具體擴大多少,我們沒必要研究,
三、常量
1. 定義
指在程式運行程序中不會改變的量
舉個栗子:圓周率 3.1415926
2. 怎么使用常量?
? python里邊沒有規定常量,所以我們人為的規定:把純大寫的名字當作常量來看到,使用方法和變數一樣
變數:就是純小寫下劃線連接
重點
- 注釋:單行#、多行三對單引號或雙引號,必須成對出現,
- 變數的原則
- 變數的命名規范
- 定義一個變數發生了什么事情,使用變數發生的事情
- python的三個特性
值不用開辟新的空間,
? pycharm這個軟體自己也做了優化,將優化的范圍擴大了,具體擴大多少,我們沒必要研究,
三、常量
1. 定義
指在程式運行程序中不會改變的量
舉個栗子:圓周率 3.1415926
2. 怎么使用常量?
? python里邊沒有規定常量,所以我們人為的規定:把純大寫的名字當作常量來看到,使用方法和變數一樣
變數:就是純小寫下劃線連接
重點
- 注釋:單行#、多行三對單引號或雙引號,必須成對出現,
- 變數的原則
- 變數的命名規范
- 定義一個變數發生了什么事情,使用變數發生的事情
- python的三個特性
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/413440.html
標籤:python
