一、葵花寶典:
學習新知識的【靈魂三問】
+ what -XXX是什么?
遇到新名詞,先從字面意思下手,提取其中的關鍵詞,拆分解釋,
例如:變數,會變的量……
+ why -為什么要有它,有啥用?
一種事物的存在,即有其理由,
為什么要有它,用它來做什么?
編程語言是由人類創造,用來控制計算機運行操作的一系列指令,指令中的規則,是人為制定的,因此必定是為了滿足某個需求創造的,
例如:變數,是用來存放資料的,就像一個個容器,裝著程式中所需要使用的東西,
+ how -怎么使用它?
需要的時候,就去使用,
實踐出真知,
知道what+why,是實作how的前提,如何更好地實作how,則需要做到融會貫通,熟能生巧,
臺上一分鐘,臺下十年功,
二、變數和常量
1、變數
(1)什么是變數
變數,就是可以變化的量,量指的是事物的狀態,比如人的年齡、性別、游戲角色的等級等等
(2)為什么要有變數,變數的作用
為了讓計算機能夠像人一樣去記憶事物的某種狀態,并且狀態是可以發生變化的
詳細地說:
程式執行的本質就是一系列狀態的變化,【變】是程式執行的直接體現,所以我們需要有一種機制能夠反映或者說是保存下來程式的執行
(3)如何使用變數
+變數基本使用
原則:先定義,后參考
name = 'egon' # 定義-》存
print(name) # 參考-》取
age = 18 >>> print(age)
+記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
參考計數增加:
x = 10 # 10的參考計數為1
y = x # 10的參考計數為2
z = x # 10的參考計數為3
參考計數減少:
del x # 解除變數名x與值10的系結關系,10的參考計數變為2
print(y)
del y # 10的參考計數變為1
print(z)
z = 12345 # 10的參考計數變為0
print(z)
+變數有三大組成部分:
I:變數名:是指向等號右側值的記憶體地址的,用來訪問等號右側的值
II:賦值符號:將變數值的記憶體地址系結給變數名
III:變數值:代表記錄的事物的狀態
eg:z = 12345
+變數命名規則和風格
++命名規則
原則:變數名的命名應該見名知意
三大主要規則:
=變數名只能是字母、數字或下劃線的任意組合
=變數名的第一個字符不能是數字
=關鍵字不能宣告為變數名,常用關鍵字如下:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield']
一舉栗子:
age=18
print='egon'
ps:不要用拼音,不要用中文,在見名知意的前提下盡可能短
二舉栗子:
mingzi='egon'
名字='egon'
print(名字)
++命名風格
+++純小寫加下劃線的方式(在python中,關于變數名的命名推薦使用這種方式)
栗子1:
age_of_alex = 73
print(age_of_alex)
+++駝峰體
栗子2:
AgeOfAlex = 73
print(AgeOfAlex)
+變數的三個重要特征
++三大特征——id,type,value
栗子:
name='egon' #id:反映的是變數值的記憶體地址,記憶體地址不同id則不同
print(id(name)) #type:不同型別的值用來表示記錄不同的狀態
print(type(name)) #value:值本身
print(name)
++ 區分 is ,==
is:比較左右兩個值身份id是否相等
==:比較左右兩個值他們的值是否相等
ps:
id不同的情況下,值有可能相同,即兩塊不同的記憶體空間里可以存相同的值
id相同的情況下,值一定相同,x is y成立,x == y也必然成立
x='info:Egon:18'
y='info:Egon:18'
print(x,y)
info:Egon:18 info:Egon:18
print(id(x),id(y))
4565819264 4566192176
x == y
True
x is y
False
** ps: pyCharm軟體和Python解釋器的程式運行結果有時會不同**
就上一個例子再次在pyCharm軟體中運行,結果如下:
x='info:Egon:18'
y='info:Egon:18'
print(x,y)
info:Egon:18 info:Egon:18
print(id(x),id(y))
2017437926096 2017437926096
為什么x和y的id會一樣呢?因為pyCharm軟體在執行程式時,會對程式進行優化,
一般pyCharm軟體是用于撰寫程式,程式的運行結果,仍應以Python解釋器的程式運行結果為準,

-----is 這個方法默認提取出id進行比較的,你這么輸,就相當于提取這個變數值id的id,

++小整數池[-5,256]
從python解釋器啟動那一刻開始,就會在記憶體中事先申請好一系列記憶體空間存放好常用的整數,
m=10
n=10
id(m)
4562619328
id(n)
4562619328res=4+6
res
10
id(res)
4562619328
x=-5
y=-5
x is y
True
x=-6
y=-6
x is y
False
x='aaa'
y='aaa'id(x)
4566200880
id(y)
4566200880
x=-6
y=-6
print(id(x))
print(id(y))
print(x is y)
2、常量
即 不變的量
注意:python語法中沒有常量的概念,但是在程式的開發程序中會涉及到常量的概念
AGE_OF_ALEX = 73 # 小寫字母全為大寫代表常量,這只是一種約定、規范
AGE_OF_ALEX = 74
print(AGE_OF_ALEX)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184126.html
標籤:Python
