ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

面向对象基础概况

2021-12-05 21:03:15  阅读:175  来源: 互联网

标签:school name 概况 对象 self 基础 面向对象 sleep s1


目录

一:面向对象基础概况
1.类与对象
class 类名:
	pass



对象 = 类名()


2.对象的属性查找
对象,属性--》先从对象自己的名称空间中找--》类的名称空间找--》报错
类中定义属性,对象只能使用,不能修改
如果对象修改,改的是自己名称空间的属性
3.对象的绑定方法
定义在类内部的函数,就是对象绑定的方法,对象来调用,会自动把对象传入(self)
类 也可以来调用, 类来调用,就是普通的函数,有几个参数就要几个参数
5.什么是函数,什么叫方法?
普通函数:
    	函数: 普通函数 def 定义的函数,有几个参数就要传几个参数
类中的函数:
    方法: 绑定给某个对象的,由对象来调用,特殊之处是会把对象自身传入
        
class Student:
    def choose_course(self):
        print(self)

s = Student()
s.choose_course()  # choose_course就叫方法

Student.choose_course(1)  # 就是普通函数
6. 初始化的方法 _ _ init _ _的使用
初始化方法:
    类加括号实例化得到对象时,会触发它的执行
可以在在初始化方法中,给对象赋初值

class Student:
    def __init__(self, name, age, school='北大'):
        self.name = name
        self.age = age
        self.school = school

    def sleep(self):
        print('%s睡着了' % self.name)


s1 = Student('lqz', 19, school='清华')
s2 = Student('egon', 18)
s3 = Student('zhangsan', 22)

s3.sleep()  # zhangsan睡着了

s2.sleep()  # egon睡着了

初始化:终极版
class Student:   推荐使用大写(驼峰提)
    school = 'oldboy'   对象共有的属性, 不希望把这个属性放到每个对象中

    def __init__(self, name):
        self.name = name

    def sleep(self, hour):  # self就是s1
        print(self.name, '睡了', hour, '小时')

    def print_school(self):
        print('我的学校是:%s' % self.school)

    def test(self):  # s1
        # 在test中调用对象的睡觉方法
        self.sleep(18)
        # sleep()   # sleep没有定义

 初始化
 按位置,或者按关键字传参
s1 = Student('lqz')
s1.test()

最后总结 1.属性查找2.绑定方法3.实例化

class Student:   推荐使用大写(驼峰提)
    school = 'oldboy'   对象共有的属性, 不希望把这个属性放到每个对象中

    def sleep(self, hour):  # self就是s1
        print(self.name, '谁了', hour, '小时')

    def print_school(self):
        print('我的学校是:%s' % self.school)

    def test(self):  s1
         在test中调用对象的睡觉方法
        self.sleep(18)
         sleep()    sleep没有定义



1 类与对象
实例化得到对象

student = Student()
# 赋予对象name属性
student.name = 'lqz'
student.school
student.sleep(8)


属性的查找顺序
student.school = '清华'
student.print_school()

3 对象的绑定方法
在对象的绑定方法中, 可以调用对象的另一个绑定方法
需要借助self来调用
s1 = Student()
s1.name = 'lqz'
s1.test()    s1调用对象的绑定方法test,会自动把s1传入

标签:school,name,概况,对象,self,基础,面向对象,sleep,s1
来源: https://www.cnblogs.com/goOJBK/p/15647046.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有