首页 > 其他分享 >面线对象 第一部分 类和实例

面线对象 第一部分 类和实例

时间:2023-07-14 15:34:40浏览次数:23  
标签:name 实例 对象 self score Student print 面线 bart

1.
# 理解类
class Student(object):
    pass
bart= Student()
# 变量bart指向的就是一个Student的实例,后面的0x10a67a590是内存地址,每个object的地址都不一样,而Student本身则是一个类
# print(bart)# <__main__.Student object at 0x0000022F8E4E33D0>
bart2= Student()
print(bart2) # <__main__.Student object at 0x0000023513CA33A0>
print(Student)# <class '__main__.Student'>
# 给实例绑定一个name属性
bart.name= 'fqs'
print(bart.name)
2.
# 因为类有模板的作作用所以,通过定义一个特殊的方法__init__方法,绑定属性
# 和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self
# 支持默认参数、可变参数、关键字参数和命名关键字参数。
class Student(object):
    def __init__(self,name,score):# self 表示实例本身
        self.name= name
        self.score= score
# 实例化
bart = Student('fqs',59)
print(bart.name,bart.score)
3.
# 但是,既然Student实例本身就拥有这些数据,要访问这些数据,就没有必要从外面的函数去访问,
# 可以直接在Student类的内部定义访问数据的函数,这样,就把“数据”给封装起来了.
# 这些封装数据的函数是和Student类本身是关联起来的,我们称之为类的方法:
class Student(object):
    def __init__(self,name,score):
        self.name= name
        self.score= score
    def print_score(self):
        print('%s:%s'%(self.name,self.score))
    def get_grade(self):
        if self.score>= 90:
            return 'A'
        elif self.score>= 60:
            return 'B'
        else:
            return 'C'

# 创建实例 仅做传参,不管类内做的(类内部决定了打印的效果,比如新增加一个判断ABC级别的类)
bart=Student('fqs',59)
# 调用类中封装的方法
bart.print_score()# 打印成绩
print(bart.get_grade())# 打印成绩的类别

 

标签:name,实例,对象,self,score,Student,print,面线,bart
From: https://www.cnblogs.com/haha1988/p/17553817.html

相关文章

  • jQuery $.post 传对象参数
    使用jQuery$.post传递对象参数的步骤如果要使用jQuery的$.post方法来传递对象参数,需要按照以下步骤进行操作:步骤描述1创建一个包含对象参数的JavaScript对象2将对象参数转换为JSON字符串3使用$.post方法发送POST请求4在后端服务器中解析接......
  • java 判断一个对象中是否存在重复的字段
    Java判断一个对象中是否存在重复的字段1.流程以下是判断一个对象中是否存在重复字段的流程:步骤描述1获取对象的所有字段2遍历字段,将字段名存入一个集合3判断集合的大小与字段数是否相等,若不相等则存在重复字段2.代码实现下面是每个步骤所需要完成的代......
  • threading 专递类对象
    importthreadingclassMyClass:def__init__(self,name):self.name=namedefmy_method(self):print(f"Hellofrom{self.name}!")defmy_thread_function(obj):obj.my_method()#创建MyClass的实例my_object=MyClass("MyOb......
  • nginx的一点小用法-代理国外s3对象存储加速
    缘由:有一套环境部署在aws新加坡区,资源使用s3对象存储,也用了cloudfront加速,但是but国内访问最近抽筋,也特意看了一下解析的地址IP....加速的地址在usa.....资源加速太慢了就想到了用nginx缓存加速一下!当然了还可以用国内腾讯云cosor阿里云oss同步到国内?但是生命周期,同步成本估计......
  • JdbcTemplate(操作数据库-查询返回对象、查询返回集合)
    实现类:packageorg.example.spring.dao;importorg.example.spring.entity.Book;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;im......
  • 62.Oracle的实例恢复(instance recovery)和介质恢复(media recovery)
    Oracle数据库中的SCN说明:4种SCN:系统检查点(SystemCheckpoint)SCN数据文件检查点(DatafileCheckpoint)SCN结束SCN(StopSCN)开始SCN(StartSCN)1)systemcheckpointscn --当checkpoing完成后,oracle将systemCheckpointScn号存放在控制文件中,可以通......
  • 机器学习一 解析解方法求解线性回归_用解析法对线性回归实例求解
     机器学习一解析解方法求解线性回归_用解析法对线性回归实例求解_Starry-sky(jing)的博客-CSDN博客更正博客中一处求导公式: ......
  • Django 模板语言获取列表(可迭代对象)的下标、索引。从而实现显示序号(转载)
    ......
  • WPF获取MainWindows实例
    WPF获取MainWindow实例在其他类中获取MainWindow实例,获取其控件,改变其控件属性等,代码如下:_mainWindow=Application.Current.Windows.Cast<Window>().FirstOrDefault(Window=>WindowisMainWindow)asMainWindow;例如在ConfigureViewModel中改变MainWindow中的某个TextB......
  • C#使用泛型方法将Datatable转换成List对象集合
     在项目中遇到需要将Datatable转换成对象的需求,通过dr[0]取下标这种获取,如果数据的顺序发生了改变则需要改变全部,工作量大foreach(DataRowdrindt.Rows){CheckDetailinfo=newCheckDetail();info.org_id=dr[0].ToStrin......