首页 > 其他分享 >Day27.属性查找与绑定方法

Day27.属性查找与绑定方法

时间:2024-06-16 16:00:35浏览次数:17  
标签:info obj Day27 绑定 stu 查找 Student print self

1.属性查找与绑定方法_类和类下的对象访问数据属性

   类和类下的对象访问数据属性代码如下:

class Student:
    # 1.变量的定义
    stu_school = 'oldboy'

    # 记录类下实例化次数
    count = 0

    # 空对象,'egon', 18, 'male'
    def __init__(self, x, y, z):
        # 每次实例化进行加1操作
        Student.count += 1
        self.stu_name = x  # 空对象.stu_name='egon'
        self.stu_age = y  # 空对象.stu_age=18
        self.stu_gender = z  # 空对象.stu_gender='male'
        return None

    # 2.功能的定义
    # 学生的功能
    def tell_stu_info(self):
        print('学生信息:名字:{} 年龄:{} 性别:{}'.format(
            self.stu_name,
            self.stu_age,
            self.stu_gender,
        ))

    def set_info(self, x, y, z):
        self.stu_name = x
        self.stu_age = y
        self.stu_gender = z

    def choose(self, x):
        print('正在选课...')
        self.course = x


stu1_obj = Student('egon', 18, 'male')  # 原理:Student.__init__(空对象,)
stu2_obj = Student('lili', 19, 'female')
stu3_obj = Student('jack', 20, 'male')

# 找属性,类中存放的是对象共有的数据与功能
''' 一:类可以访问:'''
print('类可以访问:1.类的数据属性'.center(40, '='))
print(Student.stu_school)
print('类可以访问:2.类的函数属性'.center(40, '='))
print(Student.tell_stu_info)
print(Student.set_info)

# 二:类中的东西是给对象用的
# 1.类的数据属性是共享给所有对象用的,大家访问的地址一样
print('类的数据属性是共享给所有对象用的,访问的地址一样'.center(40, '='))
print(Student.stu_school, id(Student.stu_school))
print(stu1_obj.stu_school, id(stu1_obj.stu_school))
print(stu2_obj.stu_school, id(stu2_obj.stu_school))
print(stu3_obj.stu_school, id(stu3_obj.stu_school))

2.属性查找与绑定方法_重定义类下的数据内容和记录下实例化次数

   重定义类下的数据内容和记录下实例化次数,代码如下:

class Student:
    # 1.变量的定义
    stu_school = 'oldboy'

    # 记录类下实例化次数
    count = 0

    # 空对象,'egon', 18, 'male'
    def __init__(self, x, y, z):
        # 每次实例化进行加1操作
        Student.count += 1
        self.stu_name = x  # 空对象.stu_name='egon'
        self.stu_age = y  # 空对象.stu_age=18
        self.stu_gender = z  # 空对象.stu_gender='male'
        return None

    # 2.功能的定义
    # 学生的功能
    def tell_stu_info(self):
        print('学生信息:名字:{} 年龄:{} 性别:{}'.format(
            self.stu_name,
            self.stu_age,
            self.stu_gender,
        ))

    def set_info(self, x, y, z):
        self.stu_name = x
        self.stu_age = y
        self.stu_gender = z

    def choose(self, x):
        print('正在选课...')
        self.course = x


stu1_obj = Student('egon', 18, 'male')  # 原理:Student.__init__(空对象,)
stu2_obj = Student('lili', 19, 'female')
stu3_obj = Student('jack', 20, 'male')

print('原数据:oldboy,对象重定义指定对象下的数据内容,不会影响其他函数下的数据内容'.center(60, '='))
stu1_obj.stu_school = 'OLDBOY'
print(stu1_obj.stu_school)
print(Student.stu_school)
print(stu2_obj.stu_school)
print(stu3_obj.stu_school)

print('类重定义类下的数据内容'.center(40, '='))
Student.stu_school = 'OLDBOY'
print(Student.stu_school)

print('class.count方法,记录实例化次数'.center(40, '='))
print(Student.count)

3.属性查找与绑定方法_类中函数属性绑定给对象使用

   类中函数属性绑定给对象使用,代码如下:

class Student:
    # 1.变量的定义
    stu_school = 'oldboy'

    # 记录类下实例化次数
    count = 0

    # 空对象,'egon', 18, 'male'
    def __init__(self, x, y, z):
        # 每次实例化进行加1操作
        Student.count += 1
        self.stu_name = x  # 空对象.stu_name='egon'
        self.stu_age = y  # 空对象.stu_age=18
        self.stu_gender = z  # 空对象.stu_gender='male'
        return None

    # 2.功能的定义
    # 学生的功能
    def tell_stu_info(self):
        print('学生信息:名字:{} 年龄:{} 性别:{}'.format(
            self.stu_name,
            self.stu_age,
            self.stu_gender,
        ))

    def set_info(self, x, y, z):
        self.stu_name = x
        self.stu_age = y
        self.stu_gender = z

    def choose(self, x):
        print('正在选课...')
        self.course = x


stu1_obj = Student('egon', 18, 'male')  # 原理:Student.__init__(空对象,)
stu2_obj = Student('lili', 19, 'female')
stu3_obj = Student('jack', 20, 'male')

'''
二.类的函数属性是绑定给对象用的, 而且是绑定给对象的,虽然所有对象指向的都是相同的功能,
但是绑定到不同的对象就是不同的绑定方法,内存地址各不相同
'''
# print(Student.tell_stu_info)
# print(Student.set_info)
# 类调用紫的函数必须严格按照函数的用法来
print('类中函数属性绑定给对象用'.center(50, '='))
Student.tell_stu_info(stu1_obj)
Student.tell_stu_info(stu2_obj)
Student.tell_stu_info(stu3_obj)

4.属性查找与绑定方法_修改类中函数信息和访问类下函数的属性

   修改类中函数信息和访问类下函数的属性,代码如下:

class Student:
    # 1.变量的定义
    stu_school = 'oldboy'

    # 记录类下实例化次数
    count = 0

    # 空对象,'egon', 18, 'male'
    def __init__(self, x, y, z):
        # 每次实例化进行加1操作
        Student.count += 1
        self.stu_name = x  # 空对象.stu_name='egon'
        self.stu_age = y  # 空对象.stu_age=18
        self.stu_gender = z  # 空对象.stu_gender='male'
        return None

    # 2.功能的定义
    # 学生的功能
    def tell_stu_info(self):
        print('学生信息:名字:{} 年龄:{} 性别:{}'.format(
            self.stu_name,
            self.stu_age,
            self.stu_gender,
        ))

    def set_info(self, x, y, z):
        self.stu_name = x
        self.stu_age = y
        self.stu_gender = z

    def choose(self, x):
        print('正在选课...')
        self.course = x


stu1_obj = Student('egon', 18, 'male')  # 原理:Student.__init__(空对象,)
stu2_obj = Student('lili', 19, 'female')
stu3_obj = Student('jack', 20, 'male')


print('修改类中指定函数的属性信息'.center(50, '='))
Student.set_info(stu1_obj, 'EGON', 18, 'MALE')
Student.tell_stu_info(stu1_obj)

# 绑定方法的特殊之处在于:谁来调用绑定方法就会将谁当做第一个参数自动传入
print('类访问自己的函数属性'.center(50, '='))
print(Student.tell_stu_info)
print(stu1_obj.tell_stu_info)
print(stu2_obj.tell_stu_info)
print(stu3_obj.tell_stu_info)

5.属性查找与绑定方法_访问自己的函数属性,调用类下的函数方法

   访问自己的函数属性,调用类下的函数方法:

class Student:
    # 1.变量的定义
    stu_school = 'oldboy'

    # 记录类下实例化次数
    count = 0

    # 空对象,'egon', 18, 'male'
    def __init__(self, x, y, z):
        # 每次实例化进行加1操作
        Student.count += 1
        self.stu_name = x  # 空对象.stu_name='egon'
        self.stu_age = y  # 空对象.stu_age=18
        self.stu_gender = z  # 空对象.stu_gender='male'
        return None

    # 2.功能的定义
    # 学生的功能
    def tell_stu_info(self):
        print('学生信息:名字:{} 年龄:{} 性别:{}'.format(
            self.stu_name,
            self.stu_age,
            self.stu_gender,
        ))

    def set_info(self, x, y, z):
        self.stu_name = x
        self.stu_age = y
        self.stu_gender = z

    def choose(self, x):
        print('正在选课...')
        self.course = x


stu1_obj = Student('egon', 18, 'male')  # 原理:Student.__init__(空对象,)
stu2_obj = Student('lili', 19, 'female')
stu3_obj = Student('jack', 20, 'male')


stu1_obj.tell_stu_info()    # 等同于  tell_stu_info(stu1_obj)
stu2_obj.tell_stu_info()    # 等同于  tell_stu_info(stu2_obj)
stu3_obj.tell_stu_info()    # 等同于  tell_stu_info(stu3_obj)

6.属性查找与绑定方法_类中选课方法函数的功能实例

   类中选课方法函数的功能实例,代码如下:

class Student:
    # 1.变量的定义
    stu_school = 'oldboy'

    # 记录类下实例化次数
    count = 0

    # 空对象,'egon', 18, 'male'
    def __init__(self, x, y, z):
        # 每次实例化进行加1操作
        Student.count += 1
        self.stu_name = x  # 空对象.stu_name='egon'
        self.stu_age = y  # 空对象.stu_age=18
        self.stu_gender = z  # 空对象.stu_gender='male'
        return None

    # 2.功能的定义
    # 学生的功能
    def tell_stu_info(self):
        print('学生信息:名字:{} 年龄:{} 性别:{}'.format(
            self.stu_name,
            self.stu_age,
            self.stu_gender,
        ))

    def set_info(self, x, y, z):
        self.stu_name = x
        self.stu_age = y
        self.stu_gender = z

    def choose(self, x):
        print('正在选课...')
        self.course = x


stu1_obj = Student('egon', 18, 'male')  # 原理:Student.__init__(空对象,)
stu2_obj = Student('lili', 19, 'female')
stu3_obj = Student('jack', 20, 'male')


print('三.选课功能实例'.center(40, '='))
stu1_obj.choose('学生1选择的课程:python全栈开发')
print(stu1_obj.course)
stu2_obj.choose('学生2选择的课程:Linux运维')
print(stu2_obj.course)
stu3_obj.choose('学生3选择的课程:高级架构师')
print(stu3_obj.course)

7.属性查找与绑定方法_列表内置函数方法讲解

   列表内置函数方法讲解,代码如下:

'''四.列表内置函数方法使用'''
l1 = [1, 2, 3]  # l = list([1, 2, 3])
l2 = [111, 222, 333]

list.append(l1, 4)
list.append(l2, 4444)
print('列表内置函数方法使用'.center(40, '='))
print('l1:{}'.format(l1))
print('l2:{}'.format(l2))

 

标签:info,obj,Day27,绑定,stu,查找,Student,print,self
From: https://www.cnblogs.com/vless/p/18250718

相关文章

  • 查找拥有有效邮箱的用户(sql练习)
    表: Users+---------------+---------+|ColumnName|Type|+---------------+---------+|user_id|int||name|varchar||mail|varchar|+---------------+---------+user_id是该表的主键(具有唯一值的列)。该表包含了网......
  • Android 使用绑定式调用service中的方法
    在Android中,Service有两种启动方式:startService()和bindService()。startService()启动Service时,Service会被创建并且调用onCreate()和onStartcommand()方法。Service会一直保持运行状态,直到调用stopService()或者stopSelf()方法。bindService()启动Service时,Service会被创建......
  • DreamJudge-1383-查找第K小的数(待解决)
    1.题目描述?TimeLimit:1000msMemoryLimit:256mb查找一个数组的第K小的数,注意同样大小算一样大。如213452第三小数为3。输入输出格式输入描述:输入有多组数据。每组输入n,然后输入n个整数(1<=n<=1000),再输入k。输出描述:输出第k小的整数。输入输出样例输......
  • 15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符
    15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符串,连接字符串文章目录15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符串,连接字符串1.`strstr`1.1示例代码2.`strlen`2.1示例代码3.`strtok`......
  • ASP.NET Core应用程序11:使用模型绑定
      模型绑定是使用从HTTP请求获得的数据值,创建操作方法和页面处理程序所需的对象的过程。本章描述模型绑定系统的工作方式;显示它如何绑定简单类型、复杂类型和集合;并演示如何控制流程,以指定请求的哪一部分提供应用程序所需的数据值。  本章介绍了模型绑定特性,展示了如何使......
  • 初识C语言~~查找票数最高候选人
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、题目描述二、解题思路三、编写代码总结前言提示:这里可以添加本文要记录的大概内容:大家好又见面喽!!今天是刷题,二话不说开干。提示:以下是本篇文章正文内容,下面案例可供参考一、题目......
  • DreamJudge-1177-查找学生信息
    1.题目描述TimeLimit:1000msMemoryLimit:32768mb“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于......
  • 【Py/Java/C++三种语言OD独家2024D卷真题】20天拿下华为OD笔试之【二分查找】2024D-部
    有LeetCode算法/华为OD考试扣扣交流群可加948025485可上全网独家的欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录题目描述与示例题目描述输入描述输出描述示例输入输出说明解题思路代码pythonjavacpp时......
  • Day27.__init__方法
    1.__init__方法_代码重复解决方案一,函数内定义重复代码#一.先定义类:存放共有的部分#类是对象相似数据与功能的集合体#所以类中最常见的是变量与函数的定义,但是类体其实是可以包含任意其他代码的#注意:类体代码是在类定义阶段就会立即执行,会产生类的名称空间classStuden......
  • 单向链表————遍历、查找、插入结点 (基于C语言实现)
    #include<stdio.h>#include<stdbool.h>#include<stdlib.h>#include<stdbool.h>//指的是单向链表中的结点有效数据类型,用户可以根据需要进行修改typedefintDataType_t;//构造链表的结点,链表中所有结点的数据类型应该是相同的typedefstructLinkedList{Dat......