###### '''
一、什么是變數?
變數就是可以變化的量,量指的是事物的狀態,比如人的年齡、性別,游戲角色的等級、金錢等等
二、為什么要有變數?
為了讓計算機能夠像人一樣去記憶事物的某種狀態,并且狀態是可以發生變化的
詳細地說:
程式執行的本質就是一系列狀態的變化,變是程式執行的直接體現,所以我們需要有一種機制能夠反映或者說是保存下來程
三、如何用變數
'''
1、變數基本使用###### 1、變數基本使用
###### 原則:先定義,后參考
###### name = 'egon' ###### 定義-》存
###### 1、變數基本使用
###### 原則:先定義,后參考
###### ###### ###### name = 'egon' ###### 定義-》存
print(name) ###### 參考-》取###### print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
###### 1、變數基本使用
原則:先定義,后參考
###### name = 'egon' ###### 定義-》存
print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
###### print(name) ###### 參考-》取###### print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
###### 1、變數基本使用
原則:先定義,后參考
###### name = 'egon' ###### 定義-》存
print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為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)
3、變數有三大組成部分
I:變數名=》是指向等號右側值的記憶體地址的,用來訪問等號右側的值
II:賦值符號:將變數值的記憶體地址系結給變數名
III:變數值:代表記錄的事物的狀態
4、變數名的命名的規則
原則:變數名的命名應該見名知意
4.1. 變數名只能是 字母、數字或下劃線的任意組合
4.2. 變數名的第一個字符不能是數字
4.3. 關鍵字不能宣告為變數名,常用關鍵字如下
['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(名字)
5、變數名的命名風格
5.1 純小寫加下劃線的方式(在python中,關于變數名的命名推薦使用這種方式)
age_of_alex = 73
print(age_of_alex)
5.2 駝峰體
AgeOfAlex = 73
print(AgeOfAlex)
6、變數值三個重要的特征
name='egon'
id:反映的是變數值的記憶體地址,記憶體地址不同id則不同
print(id(name))
type:不同型別的值用來表示記錄不同的狀態
print(type(name))
value:值本身
print(name)
6.2 is與==
is:比較左右兩個值身份id是否相等
==:比較左右兩個值他們的值是否相等
'''
id不同的情況下,值有可能相同,即兩塊不同的記憶體空間里可以存相同的值
id相同的情況下,值一定相同,x is y成立,x == y也必然成立
x='info:Egon:18'
y='info:Egon:18'
print(x,y)
info:Egon:18 info:Egon:18print(id(x),id(y))
4565819264 4566192176x == y
Truex is y
False
'''
了解:小整數池[-5,256]
從python解釋器啟動那一刻開始,就會在記憶體中事先申請
好一系列記憶體空間存放好常用的整數
'''
m=10
n=10
id(m)
4562619328id(n)
4562619328res=4+6
res
10id(res)
4562619328
'''
'''
x=-5
y=-5
x is y
Truex=-6
y=-6
x is y
False
'''
'''
x='aaa'
y='aaa'id(x)
4566200880id(y)
4566200880
'''
'''
x=-6
y=-6
print(id(x))
print(id(y))
print(x is y)
'''
7、常量:不變的量
注意:python語法中沒有常量的概念,但是在程式的開發程序中會涉及到常量的概念
AGE_OF_ALEX = 73 ###### 小寫字母全為大寫代表常量,這只是一種約定、規范
AGE_OF_ALEX = 74
print(AGE_OF_ALEX)
1、數字型別
1.1 整型int
作用:記錄年齡、身份證號、個數等等
定義:
age = 18
print(type(age))
浮點型float
作用:記錄薪資、身高、體重
定義
salary = 3.3
height = 1.87
weight = 70.3
print(type(height))
數字型別的其他使用
level = 1
level=level + 1
print(level)
print(10 *3)
print(10 + 3.3) ###### int與float之間可以相加
age = 19
print(age > 18)
2、字串型別str
作用:記錄描述性質的狀態,名字、一段話
定義:用引號('',"",''' ''',""" """,)包含的一串字符
info = '''
天下只有兩種人,比如一串葡萄到手,一種人挑最好的先吃,
另一種人把最好的留到最后吃,
照例第一種人應該樂觀,因為他每吃一顆都是吃剩的葡萄里最好的;
第二種人應該悲觀,因為他每吃一顆都是吃剩的葡萄里最壞的,
不過事實卻適得其反,緣故是第二種人還有希望,第一種人只有回憶,
'''
print(type(info))
name="egon"
print(name)
x=18
print(type(x))
x='18' ###### 由數字組成的字串,是字串型別,不是int型別
print(type(x))
'name'='egon' ###### 語法錯誤,等號左邊是變數名,變數名的命名不能有引號
xxx ###### 代表訪問變數名字
'xxx' ###### 代表的是值
x=10
y=x
其他使用:
字串的嵌套,注意:外層用單引號,記憶體應該用雙引號,反之亦然
print("my name is 'egon'")
print('my name is 'egon'')
字串之間可以相加,但僅限于str與str之間進行,
代表字串的拼接,了解即可,不推薦使用,因為str之間的
相加效率極低
print('my name is '+'egon')
print('='*20)
print('hello world')
print('='*20)
3、串列:索引對應值,索引從0開始,0代表第一個
作用:按位置記錄多個值(同一個人的多個愛好、同一個班級的所有學校姓名、同一個人12個月的薪資),并且可以按照索引取指定位置的值
定義:在[]內用逗號分隔開多個任意型別的值,一個值稱之為一個元素
0 1 2 3 4
l = [10, 3.1, 'aaa', ['bbb', 'ccc'], 'ddd']
print(l)
print(l[1])
print(l[2])
print(l[3][1])
print(l[4])
print(l[-1])
hobbies='read music play'
print(hobbies)
hobbies = ['read', 'music', 'play']
print(hobbies[1])
其他的用途:
students_info=[
['tony',18,['jack',]],
['jason',18,['play','sleep']]
]
取出第一個學生的第一個愛好
print(students_info[0][2][0])
4、
索引反映的是順序、位置,對值沒有描述性的功能
0 1 2 3
info=['egon',18,'male',19]
print(type(info))
print(info[0])
print(info[1])
print(info[2])
字典型別:key對應值,其中key通常為字串型別,所以key對值可以有描述性的功能
作用:用來存多個值,每個值都有唯一一個key與其對應,key對值有描述性功能
定義:在{}內用逗號分開各多個key:value
d={'a':1,'b':2}
print(type(d))
print(d['a'])
info={
"name":'egon',
"age":18,
"gender":'male',
"salary":19
}
print(info["salary"])
其他用途:
students_info=[
第1個資訊,
第2個資訊,
第3個資訊,
]
students_info=[
{"name":'egon1','age1':19,'gender':'male'},
{"name":'egon2','age1':19,'gender':'male'},
{"name":'egon3','age1':19,'gender':'male'},
]
print(students_info[1]['gender'])
5 布爾bool
6.1 作用
用來記錄真偽這兩種狀態
6.2 定義
is_ok = True
is_ok = False
print(type(is_ok))
x=1
y=0
students=[
{'name':'egon','gender':'male'},
{'name':'alex','gender':'female'},
]
students=[
{'name':'egon','gender':True},
{'name':'alex','gender':False},
]
students=[
{'name':'egon','gender':1},
{'name':'alex','gender':0},
]
6.3 其他使用
通常用來當作判斷的條件,我們將在if判斷中用到它
總結:如何選擇合適的型別來記錄狀態
1、選取的型別是否可以明確標識事物的狀態
2、存不是目的,存的目的是為了日后取出來用,并且方便的用
3、把自己想象成一臺計算機,如果我是計算機,
我會如何以何種形式把事物的狀態記到腦子里
然后再去python中找相應的資料型別來讓計算機像自己一樣去記下事物的狀態
'''
作業
作業思路:如何選擇合適的型別來記錄狀態???
1、選取的型別是否可以明確標識事物的狀態
2、存不是目的,存的目的是為了日后取出來用,并且方便的用
3、把自己想象成一臺計算機,如果我是計算機,
我會如何以何種形式把事物的狀態記到腦子里
然后再去python中找相應的資料型別來讓計算機像自己一樣去記下事物的狀態
ps:認真讀題,需要自己從題目中分析出應該存盤的狀態,然后選擇合適的型別加以存盤
1、病毒程式需要定期將監控到的資料寫入日志檔案,請記錄下日志檔案路徑C:\a\b\c\adhsvc.dll.system32,方便后期處理
2、病毒程式在上傳檔案時,發送的報頭資料里需要包含檔案資訊:檔案名a.txt、大小360,請記錄下檔案資訊
3、程式運行程序中有一段錯誤日志需要記錄下來,錯誤日志為"上傳檔案失敗"
4、假設我收到一條資訊要記錄,資訊為中病毒客戶端的資訊"[2020-02-18-17:00:48] 癩蛤蟆病毒感染者-> 80.82.70.187:33649 正在上傳資料"
5、把服務端ip地址存放下來,ip地址為10.0.10.11
6、病毒程式需要每隔3秒才運行一次,請記錄下這個時間間隔
二:嵌套取值操作
1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
請取出第一個學生的第一個愛好
2、針對字典
info={
'name':'egon',
'hobbies':['play','sleep'],
'company_info':{
'name':'Oldboy',
'type':'education',
'emp_num':40,
}
}
請取出取公司名
3、針對下述型別
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
取第二個學生的第二個愛好
針對個別已經學了很多的同學,有如下選做題
選做題:撰寫用戶登錄介面(學的多的同學,嘗試做下述作業,這是截止到下周二學完檔案處理之后的作業)
1、輸入賬號密碼完成驗證,驗證通過后輸出"登錄成功"
2、可以登錄不同的用戶
3、同一賬號輸錯三次鎖定(附加功能,在程式一直運行的情況下,一旦鎖定,則鎖定5分鐘后自動解鎖)
擴展需求:在3的基礎上,完成用戶一旦鎖定,無論程式是否關閉,都鎖定5分鐘
'''
'''
一、什么是變數?
變數就是可以變化的量,量指的是事物的狀態,比如人的年齡、性別,游戲角色的等級、金錢等等
二、為什么要有變數?
為了讓計算機能夠像人一樣去記憶事物的某種狀態,并且狀態是可以發生變化的
詳細地說:
程式執行的本質就是一系列狀態的變化,變是程式執行的直接體現,所以我們需要有一種機制能夠反映或者說是保存下來程
三、如何用變數
'''
1、變數基本使用###### 1、變數基本使用
###### 原則:先定義,后參考
###### name = 'egon' ###### 定義-》存
###### 1、變數基本使用
###### 原則:先定義,后參考
###### ###### name = 'egon' ###### 定義-》存
print(name) ###### 參考-》取###### print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
###### 1、變數基本使用
原則:先定義,后參考
###### name = 'egon' ###### 定義-》存
print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
###### print(name) ###### 參考-》取###### print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為0時,該變數值無法被訪問到,稱之為垃圾
###### 1、變數基本使用
原則:先定義,后參考
###### name = 'egon' ###### 定義-》存
print(name) ###### 參考-》取
age = 18
print(age)
2、記憶體管理:垃圾回識訓制
垃圾:當一個變數值被系結的變數名的個數為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)
3、變數有三大組成部分
I:變數名=》是指向等號右側值的記憶體地址的,用來訪問等號右側的值
II:賦值符號:將變數值的記憶體地址系結給變數名
III:變數值:代表記錄的事物的狀態
4、變數名的命名的規則
原則:變數名的命名應該見名知意
4.1. 變數名只能是 字母、數字或下劃線的任意組合
4.2. 變數名的第一個字符不能是數字
4.3. 關鍵字不能宣告為變數名,常用關鍵字如下
['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(名字)
5、變數名的命名風格
5.1 純小寫加下劃線的方式(在python中,關于變數名的命名推薦使用這種方式)
age_of_alex = 73
print(age_of_alex)
5.2 駝峰體
AgeOfAlex = 73
print(AgeOfAlex)
6、變數值三個重要的特征
name='egon'
id:反映的是變數值的記憶體地址,記憶體地址不同id則不同
print(id(name))
type:不同型別的值用來表示記錄不同的狀態
print(type(name))
value:值本身
print(name)
6.2 is與==
is:比較左右兩個值身份id是否相等
==:比較左右兩個值他們的值是否相等
'''
id不同的情況下,值有可能相同,即兩塊不同的記憶體空間里可以存相同的值
id相同的情況下,值一定相同,x is y成立,x == y也必然成立
x='info:Egon:18'
y='info:Egon:18'
print(x,y)
info:Egon:18 info:Egon:18print(id(x),id(y))
4565819264 4566192176x == y
Truex is y
False
'''
了解:小整數池[-5,256]
從python解釋器啟動那一刻開始,就會在記憶體中事先申請
好一系列記憶體空間存放好常用的整數
'''
m=10
n=10
id(m)
4562619328id(n)
4562619328res=4+6
res
10id(res)
4562619328
'''
'''
x=-5
y=-5
x is y
Truex=-6
y=-6
x is y
False
'''
'''
x='aaa'
y='aaa'id(x)
4566200880id(y)
4566200880
'''
'''
x=-6
y=-6
print(id(x))
print(id(y))
print(x is y)
'''
7、常量:不變的量
注意:python語法中沒有常量的概念,但是在程式的開發程序中會涉及到常量的概念
AGE_OF_ALEX = 73 ###### 小寫字母全為大寫代表常量,這只是一種約定、規范
AGE_OF_ALEX = 74
print(AGE_OF_ALEX)
1、數字型別
1.1 整型int
作用:記錄年齡、身份證號、個數等等
定義:
age = 18
print(type(age))
浮點型float
作用:記錄薪資、身高、體重
定義
salary = 3.3
height = 1.87
weight = 70.3
print(type(height))
數字型別的其他使用
level = 1
level=level + 1
print(level)
print(10 *3)
print(10 + 3.3) ###### int與float之間可以相加
age = 19
print(age > 18)
2、字串型別str
作用:記錄描述性質的狀態,名字、一段話
定義:用引號('',"",''' ''',""" """,)包含的一串字符
info = '''
天下只有兩種人,比如一串葡萄到手,一種人挑最好的先吃,
另一種人把最好的留到最后吃,
照例第一種人應該樂觀,因為他每吃一顆都是吃剩的葡萄里最好的;
第二種人應該悲觀,因為他每吃一顆都是吃剩的葡萄里最壞的,
不過事實卻適得其反,緣故是第二種人還有希望,第一種人只有回憶,
'''
print(type(info))
name="egon"
print(name)
x=18
print(type(x))
x='18' ###### 由數字組成的字串,是字串型別,不是int型別
print(type(x))
'name'='egon' ###### 語法錯誤,等號左邊是變數名,變數名的命名不能有引號
xxx ###### 代表訪問變數名字
'xxx' ###### 代表的是值
x=10
y=x
其他使用:
字串的嵌套,注意:外層用單引號,記憶體應該用雙引號,反之亦然
print("my name is 'egon'")
print('my name is 'egon'')
字串之間可以相加,但僅限于str與str之間進行,
代表字串的拼接,了解即可,不推薦使用,因為str之間的
相加效率極低
print('my name is '+'egon')
print('='*20)
print('hello world')
print('='*20)
3、串列:索引對應值,索引從0開始,0代表第一個
作用:按位置記錄多個值(同一個人的多個愛好、同一個班級的所有學校姓名、同一個人12個月的薪資),并且可以按照索引取指定位置的值
定義:在[]內用逗號分隔開多個任意型別的值,一個值稱之為一個元素
0 1 2 3 4
l = [10, 3.1, 'aaa', ['bbb', 'ccc'], 'ddd']
print(l)
print(l[1])
print(l[2])
print(l[3][1])
print(l[4])
print(l[-1])
hobbies='read music play'
print(hobbies)
hobbies = ['read', 'music', 'play']
print(hobbies[1])
其他的用途:
students_info=[
['tony',18,['jack',]],
['jason',18,['play','sleep']]
]
取出第一個學生的第一個愛好
print(students_info[0][2][0])
4、
索引反映的是順序、位置,對值沒有描述性的功能
0 1 2 3
info=['egon',18,'male',19]
print(type(info))
print(info[0])
print(info[1])
print(info[2])
字典型別:key對應值,其中key通常為字串型別,所以key對值可以有描述性的功能
作用:用來存多個值,每個值都有唯一一個key與其對應,key對值有描述性功能
定義:在{}內用逗號分開各多個key:value
d={'a':1,'b':2}
print(type(d))
print(d['a'])
info={
"name":'egon',
"age":18,
"gender":'male',
"salary":19
}
print(info["salary"])
其他用途:
students_info=[
第1個資訊,
第2個資訊,
第3個資訊,
]
students_info=[
{"name":'egon1','age1':19,'gender':'male'},
{"name":'egon2','age1':19,'gender':'male'},
{"name":'egon3','age1':19,'gender':'male'},
]
print(students_info[1]['gender'])
5 布爾bool
6.1 作用
用來記錄真偽這兩種狀態
6.2 定義
is_ok = True
is_ok = False
print(type(is_ok))
x=1
y=0
students=[
{'name':'egon','gender':'male'},
{'name':'alex','gender':'female'},
]
students=[
{'name':'egon','gender':True},
{'name':'alex','gender':False},
]
students=[
{'name':'egon','gender':1},
{'name':'alex','gender':0},
]
6.3 其他使用
通常用來當作判斷的條件,我們將在if判斷中用到它
總結:如何選擇合適的型別來記錄狀態
1、選取的型別是否可以明確標識事物的狀態
2、存不是目的,存的目的是為了日后取出來用,并且方便的用
3、把自己想象成一臺計算機,如果我是計算機,
我會如何以何種形式把事物的狀態記到腦子里
然后再去python中找相應的資料型別來讓計算機像自己一樣去記下事物的狀態
'''
作業
作業思路:如何選擇合適的型別來記錄狀態???
1、選取的型別是否可以明確標識事物的狀態
2、存不是目的,存的目的是為了日后取出來用,并且方便的用
3、把自己想象成一臺計算機,如果我是計算機,
我會如何以何種形式把事物的狀態記到腦子里
然后再去python中找相應的資料型別來讓計算機像自己一樣去記下事物的狀態
ps:認真讀題,需要自己從題目中分析出應該存盤的狀態,然后選擇合適的型別加以存盤
1、病毒程式需要定期將監控到的資料寫入日志檔案,請記錄下日志檔案路徑C:\a\b\c\adhsvc.dll.system32,方便后期處理
2、病毒程式在上傳檔案時,發送的報頭資料里需要包含檔案資訊:檔案名a.txt、大小360,請記錄下檔案資訊
3、程式運行程序中有一段錯誤日志需要記錄下來,錯誤日志為"上傳檔案失敗"
4、假設我收到一條資訊要記錄,資訊為中病毒客戶端的資訊"[2020-02-18-17:00:48] 癩蛤蟆病毒感染者-> 80.82.70.187:33649 正在上傳資料"
5、把服務端ip地址存放下來,ip地址為10.0.10.11
6、病毒程式需要每隔3秒才運行一次,請記錄下這個時間間隔
二:嵌套取值操作
1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
請取出第一個學生的第一個愛好
2、針對字典
info={
'name':'egon',
'hobbies':['play','sleep'],
'company_info':{
'name':'Oldboy',
'type':'education',
'emp_num':40,
}
}
請取出取公司名
3、針對下述型別
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
取第二個學生的第二個愛好
針對個別已經學了很多的同學,有如下選做題
選做題:撰寫用戶登錄介面(學的多的同學,嘗試做下述作業,這是截止到下周二學完檔案處理之后的作業)
1、輸入賬號密碼完成驗證,驗證通過后輸出"登錄成功"
2、可以登錄不同的用戶
3、同一賬號輸錯三次鎖定(附加功能,在程式一直運行的情況下,一旦鎖定,則鎖定5分鐘后自動解鎖)
擴展需求:在3的基礎上,完成用戶一旦鎖定,無論程式是否關閉,都鎖定5分鐘
'''
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/296022.html
標籤:Python
