python学生类对象

编程入门 行业动态 更新时间:2024-10-07 01:32:35

python学生类<a href=https://www.elefans.com/category/jswz/34/1771306.html style=对象"/>

python学生类对象

小学生绞尽脑汁也学不会的python(面对对象-----类与类之间的关系

1. 依赖关系.

最轻的一种关系

在方法中引入另一个类的对象

class Elephant:

def __init__(self, name):

self.name = name

def open(self, ref): # 想要的是一个冰箱。 是哪个冰箱没有制定

print("冰箱哥哥, 开门把")

ref.open_door()

def close(self, ref): # 依赖关系

print("冰箱哥哥, 我进来了。 关门把")

ref.close_door()

def jin(self):

print("进冰箱装自己")

class Refrigerator:

def open_door(self):

print("冰箱陌陌的打开了自己的门")

def close_door(self):

print("冰箱陌陌的关上了自己的门 ")

# class GaoYaGuo:

# def open_door(self):

# print("冰箱陌陌的打开了自己的门")

# def close_door(self):

# print("冰箱陌陌的关上了自己的门 ")

alex = Elephant("李杰")

bx1 = Refrigerator()

#

alex.open(bx1)

alex.jin()

alex.close(bx1)

object

2. 关联关系, 聚合关系, 组合关系

类与类之间的关系是比较紧密的。

# class Boy:

# def __init__(self, name, xingge, girlFriend=None):

# self.name = name

# self.xingge = xingge

# self.girlFriend = girlFriend

#

# def yujian(self, girl):

# self.girlFriend = girl

#

# def chi(self):

# if self.girlFriend:

# print("随便池! %s 和 %s" % (self.name, self.girlFriend.name))

# else:

# print("单身狗, 池什么池?")

#

# class Girl:

# def __init__(self, name, boyFriend):

# self.name = name

# self.boyFriend = boyFriend

# def chi(self):

# print("%s在吃饭" % self.name)

#

# girl = Girl("白骨精")

#

# alex = Boy("金王", "娘")

# alex.chi()

#

# alex.yujian(girl)

# alex.chi()

#

# # 找到alex的女朋友

# # alex.girlFriend.name

# alex.girlFriend.chi()

# 一个对多个.

class School:

def __init__(self, name, address, phone):

self.name = name

self.address = address

self.phone = phone

self.__teach_list = []

def zhaopin(self, t):

self.__teach_list.append(t)

def display(self):

for el in self.__teach_list:

print(el.name, el.hobby)

class Teacher:

def __init__(self, name, gender, salary, hobby, school):

self.name = name

self.gender = gender

self.salary = salary

self.hobby = hobby

self.school = school

oldboy_bj = School("北京老男孩", "美丽富饶的沙河", "10086")

oldboy_sh = School("北京老男孩, 上海分校", "上海浦东", "10010")

oldboy_sz = School("北京老男孩, 深圳分校(骑士计划)", "南山区", "10000")

t1 = Teacher("配齐", "男", 200000, "上课", oldboy_bj)

t2 = Teacher("太白", "男", 150000, "开车", oldboy_bj)

t3 = Teacher("Eggon", "男", 123456, "钻研技术", oldboy_sh)

t4 = Teacher("高鑫", "女", 45678, "相夫教子", oldboy_sz)

t5 = Teacher("日天", "男", 666, "看天", oldboy_sz)

# print(t3.school.address) # 找到老师所在的学校的地址

oldboy_bj.zhaopin(t1)

oldboy_bj.zhaopin(t2)

oldboy_bj.display()

oldboy_sh.zhaopin(t3)

oldboy_sz.zhaopin(t4)

oldboy_sz.zhaopin(t5)

oldboy_sz.display()

3. 继承关系, 实现关系

self:当前执行这个方法的对象。

# 可哈希. 内部是否哈希算法 __hash__

# class Foo(object): # 所有的类都会默认继承object

# def __init__(self):

# pass

# def func(self):

# pass

# __hash__ = None

#

# dic = {}

# dic[Foo] = "123456" # 类名是可哈希的。

# dic[Foo()] = "刘伟" # 类中是否包含__hash__

# print(dic)

# 默认的类和对象都是可哈希的

# class Base:

# def __init__(self, num):

# self.num = num

#

# def func1(self):

# print(self.num)

#

# class Foo(Base):

# pass

#

# obj = Foo(123)

# obj.func1() # 123

# class Base:

# def __init__(self, num):

# self.num = num

# def func1(self):

# print(self.num)

#

# class Foo(Base):

# def func1(self):

# print("Foo. func1", self.num)

#

# obj = Foo(123)

# obj.func1() # ???? Foo. func1 123

#

# class Base:

# def __init__(self, num):

# self.num = num

# def func1(self):

# print(self.num)

# self.func2()

# def func2(self):

# print("Base.func2")

#

# class Foo(Base):

# def func2(self):

# print("Foo.func2")

#

# obj = Foo(123)

# obj.func1() # 123

# class Base:

# def __init__(self, num):

# self.num = num

#

# def func1(self):

# print(self.num)

# self.func2()

#

# def func2(self):

# print(111, self.num)

#

# class Foo(Base):

# def func2(self):

# print(222, self.num)

#

# lst = [Base(1), Base(2), Foo(3)]

# for obj in lst:

# obj.func2()

# class Base:

# def __init__(self, num):

# self.num = num

#

# def func1(self):

# print(self.num)

# self.func2()

#

# def func2(self):

# print(111, self.num)

#

# class Foo(Base):

# def func2(self):

# print(222, self.num)

#

# lst = [Base(1), Base(2), Foo(3)]

# for obj in lst:

# obj.func1()

# 1

# 111 1

# 2

# 111 2

# 3

# 222 3

# 总结: self当前访问xx方法的那个对象

4. 特殊成员(__init__)

class Foo:

def __init__(self):

print("我是初始化")

def __call__(self, *args, **kwargs):

print("我是靠")

def __getitem__(self, item):

print("我是getitem", item)

return "大胖小子"

def __setitem__(self, key, value):

print(key, value)

def __delitem__(self, key):

print(key)

def __enter__(self):

print("我是进入")

return "周润发"

def __exit__(self, exc_type, exc_val, exc_tb):

print("我是出来")

# 类名() __init__() 构造方法

# obj = Foo()

# 对象() __call__()

# obj() # python特有的.

# 对象[xxx] 从对象中获取数据 默认执行__getitem__()

# 对象[xxx] = ,.... 默认执行__setitem__()

# obj["汪峰"] = "章子怡"

# del obj[key] 默认执行__delitem__()

# del obj[‘马化腾‘]

# dic = {"name":‘汪峰‘, ‘age‘:18}

# print(dic[‘name‘])

#

# with obj as xx:

# print(xx)

# print("你好. 我叫周润发")

class Boy(object):

def __init__(self, name, address, phone):

self.name = name

self.address = address

self.phone = phone

def __str__(self):

return "name:%s, address:%s phone:%s" % (self.name, self.address, self.phone)

def __new__(cls, *args, **kwargs):

print("新概念")

return object.__new__(cls) # 这句话才是创建对象.

b = Boy("alex", "北京沙河", "10086")

print(b)

lst = [123,456]

print(lst)

原文:.html

更多推荐

python学生类对象

本文发布于:2024-02-06 05:17:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746467.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:对象   学生   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!