python day18

一.初识面向对象
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__方法中,也可以给对象添加一些属性,前提必须先执行这个方法.



 

猜你喜欢

转载自www.cnblogs.com/zm419914/p/9239664.html