面向对象的基本语法(1)

需求:
小明今年18岁身高1.80,每天早上会 跑步,完了 东西,
小美今年17岁,身高1.65,小美早上不 跑步,喜欢 东西

1.定义类:类名怎么定义?
使用class来定义一个类
class类名:类名一般遵从大驼峰命名法
(即每个单词首字母大写)
(1)class 类名:
(2)class 类名(object):

class Student(object):  #关注这个类有那些属性和行为
      __slots__() #这个属性直接定义在类里,是一个元组,用来规定对象可以存在的属性
     
      def __init__(self,name,age,height): #此处的name只是参数,可用其他字母代替
      #在__init__里,以参数的形式定义特征,称之为属性
      self.name = name  #self.name 后的name才是类的属性,下同 
      self.age =  age
      self.height = height
      #行为定义为一个个函数
      def run(self):
          print("正在跑步")
      def eat(self):
          print("正在吃东西")
#使用Student类创建了两个实例对象 s1,s2
#(理解:对象就是内存里的一块空间)
#s1 和 s2 都会有name,age,height属性,也有run,eat这些行为       
s1 = student("小明"18180)  #  Student()会自动调用__init__ 方法
s2 = Student("小美"17165)

#根据需求让不同的对象执行同的行为
s1.run()
s1.eat()

s2.eat()

2.self的理解(谁调用的self就指谁)

class Student(object):  #关注这个类有那些属性和行为
      def __init__(self,x,y): 
  # x,y 是参数
  # name ,age 是属性
          self.name = x
          self.age =  y
     
      def say_hello(self):
          print("大家好,我是",self.name)
         
s1 = Student("张三,18") #这个代码具体做了些什么
#1.调用__new__方法,用来申请内存空间
#2.调用 __init__方法传入参数,将self指向创建还好的内存空间,填充数据
#3.变量s1也指向创建好的空间

s1.say_hello()
#没有属性会报错
#print(s1.height) 

#直接用等号给一个属性赋值,
#如果该属性以前不存在,会给对象添加一个新属性
#动态属性
s1.city = "西安"  #给对象添加了一个city属性
print(s1.city)
#如果这个属性以前存在,会修该属性对应的值
s1.name = "李四"
print(s1.name)  

过程理解如图1所示
图1
3.__slots__属性的使用

class Student(object):  
     #这个属性直接定义在类里,是一个元组,用来规定对象可以存在的属性
      __slots__=("name","age") 
     
      def __init__(self,x,y): 
  
          self.name = x
          self.age =  y
     
      def say_hello(self):
          print("大家好,我是",self.name)
      
s1 = student("小明"18180)

致谢:B站千锋python逆战班
ps:笔记仅用于学习查阅

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值