目錄
類
物件(實體)
類中的成員
面向物件
變數
類
類是對一群具有相同 特征 或者 行為 的事物的一個統稱,是抽象的,不能直接使用,
特征其實就是一個變數,在類里我們稱之為屬性,
行為其實就是一個函式,在類里我們稱之為方法,
類其實就是由 屬性 和 方法 組成的一個抽象概念,
物件(實體)
物件是由類創建出來的一個具體存在,可以直接使用,由哪一個類創建出來的物件,就擁有在哪一個類中定義的屬性和方法,在開發中,應該先有類,在類里定義好屬性和行為,再根據類來創建物件,
類和物件的關系
類是模板,物件是根據類這個模板創建出來的,應該先有類,再有物件,
使用同一個類,能夠創建出很多物件,
類中定義了什么屬性和方法,物件中就有什么屬性和方法,
不同物件對應的屬性值也會不同,
三、類的定義
class 類名():
def 方法1(self,引數串列):
pass
def 方法2(self,引數串列):
pass
類中的成員
類屬性
方式一:通過 類名.類屬性 訪問
方式二:通過 實體物件.類屬性 訪問
class Person(object):
# 類屬性
num = 10
p = Person()
# 方式一
print(Person.num)
# 方式二
print(p.num)
面向物件
通過前面對于面向物件編程的操作,我們已經了解面向物件編程是指創造一個類(動物類,植物類等等)這些類有很多種特征(屬性),這些特征又是如何實作(方法,函式),那么面向物件就是就是針對某一類物體進行的介紹與方法
其實說白了面向物件是就是對代碼進行封裝,串列也是封裝,字典元組集合也是如此,函式亦是如此,面向物件的三大特征是指:封裝性,繼承性還有多型性
創建一個烏龜類
class wugui():
color="綠色"
foot=4
weight=10
has_guike=True
#會爬
def crawl(self):
print("烏龜會爬")
#會吃
def eat(self):
print("烏龜會吃")
#會睡覺
def sleep(self):
print("烏龜會睡覺")
面向物件要比函式變數更加體現出事物的特征
構造方法:
def __init__(self,......):
這個操作主要是構造特征的時候解釋器會自動呼叫它,在括號內可以包含很多引數用逗號分割開,但是self是必不可少的
類體中的變數型別
所有函式之外,此范圍定義的變數,稱為類屬性或類變數
函式內部,以self.變數名的方法定義但是變數,稱為實體屬性或實體變數
函式內部,以變數名=變數值的方法定義的變數稱為區域變數
操作
class Dog():
def __init__(self, name, age):
self.name = name
self.age = age
def sit(self):
print(self.name.title() + " is now sitting.")
def roll_over(self):
print(self.name.title() + " rolled over!")
變數
在c語言當中,曾經使用微信程式了解到,在一個程式運行的時候,程式從硬碟通過cpu的驅使下進入到記憶體中,程式是運行資料由諸多變陣列成,變數的作用是存盤資料,我們理解為變數在程式中開辟空間存盤資料,再又小程式進行運行,變數像一個盒子裝入了所有的資料
但是·在python中,變數和資料又有明顯不同
在python中,資料自成空間進行運行,變數與資料沒有包含關系,他的作用是用來保存資料的地址,它類似與c語言的指標,保存地址,指向這個資料完成代碼等等運行
所以在python中,變數存盤變數的地址就是變數的參考,在python中函式的引數傳遞和回傳值都是靠變數的參考完成的
所以說在python中每次定義變數一定要對變數進行賦值,由于python的變數與資料的區別,所以必須必須有一個程序去訪問賦值的地址,使用這個變數,這個程序就叫做參考
在給變數賦值的時候,本質上是修改了資料的參考
a=1
b=a
a=2
在這個賦值操作中,a的地址發生改變,但b沒有
學啥啥不會,作業咋學都不會


1.
- 創建以寵物命名的多個寵物字典,每個字典包括寵物型別和名字
- 創建一個pets串列里面存放所有的寵物字典,全部顯示出來
a=int(input("請輸入你想創建的寵物資料個數"))
pets_list=[]
print("創建寵物資訊")
for i in range(a):
#自行輸入(寵物名字和主人名字)
pet_name=input("請輸入寵物名字")
name=input("請輸入主人名字")
#現在將這些資訊保存在字典中,字典的名字為這個寵物的名字
pet_name_dict={"pet_name":pet_name,"name":name}
#自行創建一個寵物字典之后加入串列之中去
pets_list.append(pet_name_dict)
#提示成功加入一個寵物字典
print("%s添加成功"%pet_name_dict["pet_name"])
print("功能:顯示全部")
# 判斷是否有寵物字典記錄
if len(pets_list) == 0:
print("提示:沒有任何名片記錄")
else:
# 2. 顯示所有寵物字典
print("寵物\t\t主人")
for pet_name_dict in pets_list:
print("%s\t\t%s" % (
pet_name_dict["pet_name"],
pet_name_dict["name"],))
2.
- 需要創造一個函式,函式的操作是對三明治進行增添食材,題目要求是只需要一個形參
- 對三明治進行概述,題目的要求是概述三次
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/355762.html
標籤:python
上一篇:從數字串列中回傳加權平均值的函式
下一篇:百寶箱:奇奇怪怪的問題
