1. 程式人生 > >python day18

python day18

變量名 空間 dict nbsp AI 屬性 on() self area

一.初識面向對象
1.面向對象的結構# s = ‘fjdsklfjdsaf‘
# count = 0
# for i in s:
# count += 1
# print(count)
#
# l1 = [123, 1, 2, 3, 5]
# count = 0
# for i in l1:
# count += 1
# print(count)
#
#
# def func(argv):
# count = 0
# for i in argv:
# count += 1
# return count

def add(path,encoding,mode):
‘‘‘30行...‘‘‘
pass

def remove(path,encoding,mode):
‘‘‘30行...‘‘‘
pass

def update(path,encoding,mode):
‘‘‘30行...‘‘‘
pass

def select(path,encoding,mode):
‘‘‘30行...‘‘‘
pass

add(‘log‘,‘utf-8‘,‘r‘)
remove(‘log‘,‘utf-8‘,‘r‘)
update(‘log‘,‘utf-8‘,‘r‘)
select(‘log‘,‘utf-8‘,‘r‘)

class File:
def __init__(self,path,encoding,mode):
self.path = path
self.encoding = encoding
self.mode = mode

def add(self):
‘‘‘30行...‘‘‘
pass

def remove(self):
‘‘‘30行...‘‘‘
pass

def update(self):
‘‘‘30行...‘‘‘
pass


def select(self):
‘‘‘30行...‘‘‘
pass


obj = File(‘log‘, ‘utf-8‘, ‘r‘)
obj.add()
obj.remove()
#類 具有相同屬性和技能的一類事物
#研究面向對象: 你要站在上帝的角度

#class 關鍵字, 類名

class Person:
level = ‘高級動物‘
mind = ‘有思想‘
language = ‘語言‘

def work(self):
pass
def eat(self):
pass
2.類名調用變量,方法
class Person:
  ‘‘‘
  此類是構建人類
  ‘‘‘
  level=‘高級動物
  mind=‘有思想‘
  language=‘語言‘

  def __init__(self):
    pass
  def work(self):
    pass
  def eat(self):
    pass
類名
  1.類名查看類中所有的變量(字段),方法(函數):
print(Person.__dicct__)
  2.類名對靜態變量(靜態字段)進行操作 最好不要通過__dict__這個字典進行操作
    2.1.通過類名。__dict__ 不建議!!!通過這個方法
print(Person.__dict_[‘mind‘] # 可以查值
Preson.__dict__[‘create‘] = ‘有創造力‘ # 不能增加值
del Person.__dict__[‘mind‘] #不能刪除值
Person.__dict__[‘mind‘]=‘行屍走肉‘ # 不能更改值
print(Person.__dict__)
小總結: 查詢類裏面所有的變量 Person.__dict__
    (增刪改)查詢單個變量 不要用Person.__dict__
    2.2.通過類名。變量名 常用!!!
print(Person.mind) # 可查詢
Person.create=‘有創造力‘ # 可增加
del Person.mind # 可刪除
person.mind=‘行屍走肉‘
print(Person.mind)
print(Person.__dict__)
  3.類名對動態方法(函數)進行操作
  3.1.通過類名.__dict__ 不建議!!!通過這個方法
  3.2.類名,方法名
Person.work(111)
3.實例化對象,實例化對象的內部過程,對象調用變量,方法。
class Person:
‘‘‘
此類是構建人類
‘‘‘
level = ‘高級動物‘
mind = ‘有思想‘
language = ‘語言‘

def __init__(self,name,age,sex,area,hobby): # 構造方法
self.name = name # slef.name name 是對象屬性
self.age = age
self.sex = sex
self.area = area
self.hobby = hobby

def work(self,eye):
self.eye = eye
print(‘開始工作了!!!!‘)
def eat(self):
pass

#實例化對象.
# aduan = Person() # 過程就叫做實例化一個對象
# 類名+():
# aduan = Person(‘啊段‘,18,‘男‘,‘河北邯鄲‘,‘非女‘)
# print(aduan) # <__main__.Person object at 0x0000000001F7EA20>
#1 產生一個空的對象空間
#2,自動執行類中的__init__方法,並將空的對象空間傳給self,剩下的值傳給相應形參
#3,執行init方法,給對象封裝屬性,並將完善好的這個對象返回給 類名()

# 對象
# 1,查找對象中的所有屬性
# aduan = Person(‘啊段‘,18,‘男‘,‘河北邯鄲‘,‘非女‘)
# print(aduan.__dict__)

# aduan = Person(‘啊段‘,18,‘男‘,‘河北邯鄲‘,‘非女‘)
# aying = Person(‘啊穎‘,17,‘女‘,‘河北衡水‘,‘開車...‘)
#2, 對象操作對象中屬性.
# aduan = Person(‘啊段‘,18,‘男‘,‘河北邯鄲‘,‘非女‘)
# print(aduan.name) # 查
# aduan.job = ‘student‘ # 增
# del aduan.age # 刪
# aduan.sex = ‘laddyboy‘
# print(aduan.__dict__)
#3,對象操作類中的靜態變量(靜態字段). 只能查詢不能增刪改.
# aduan = Person(‘啊段‘,18,‘男‘,‘河北邯鄲‘,‘非女‘)
# print(aduan.level) # 查 類中的靜態字段
# aduan.level = ‘中等動物‘ # 對象中設置新屬性,而不是改變類中的level
# print(aduan.level)
# del aduan.level
# print(Person.__dict__)
#3,對象執行類中的方法.
aying = Person(‘啊穎‘,17,‘女‘,‘河北衡水‘,‘開車...‘)
print(aying)
aying.work(‘大眼睛‘)
print(aying.__dict__)
# 1 self 位置參數, 默認接受的是對象空間,約定俗成叫self.
# 2 在類的非__init__方法中,也可以給對象添加一些屬性,前提必須先執行這個方法.



 

python day18