前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(二十四) 初遇python OOP面向对象编程-类和实例对象

(二十四) 初遇python OOP面向对象编程-类和实例对象

作者头像
XXXX-user
修改2019-07-30 10:45:12
3720
修改2019-07-30 10:45:12
举报
文章被收录于专栏:不仅仅是python

各位读者大大们大家好,今天学习python的面向对象编程-类和实例对象,并记录学习过程欢迎大家一起交流分享。

新建一个python文件命名为py3_oop1.py,在这个文件中进行操作代码编写:

代码语言:javascript
复制
#面向对象编程
#类和实例对象

#定义一个Employee类
class Employee:
  pass

#实例化Employee类的对象
#emp_1 emp_2
emp_1 = Employee()
emp_2 = Employee()
#打印这两个对象:
print(emp_1)
print(emp_2)
#<__main__.Employee object at 0x00000000021C12B0>
#<__main__.Employee object at 0x00000000021C1240>
#通过打印结果可知这
#两个对象在内存中
#有不同的地址
#所以:
print(emp_1 == emp_2)#False
#给实例化的对象
#emp_1、emp_2
#实例化变量并赋值:
emp_1.first = 'T'
emp_1.last = 'Bag'
emp_1.email = 'T.Bag@email.com'
emp_1.pay = 50000

emp_2.first = 'Mc'
emp_2.last = 'User'
emp_2.email = 'Mc.User@email.com'
emp_2.pay = 60000

#打印实例变量的值
print(emp_1.email)
print(emp_2.email)
#T.Bag@emial.com
#Mc.User@emial.com
#上面实例化变量
#的方式比较麻烦、且代码编写
#过多,容易出现错误
#使用特殊的python方法
#__init__完成这件事
#相当于其他编程语言比如
#java的构造方法
#修改Employee类:
class Employee:
  #初始化修改Employee的构造方法__init__
  #self指的是类实例对象本身而不是类本身
  #Python会自动给他赋值
  #self也可以换成其他词代替,不建议这么做
  #self是类方法默认的第一个参数而且是必须的,不写会报错
  def __init__(self,first,last,pay):
    self.first = first
    self.last = last
    self.email = first + '.' + last +'@email.com'
    self.pay = pay
#实例化对象#emp_1、emp_2  
emp_1 = Employee('T','Bag',50000)
emp_2 = Employee('Mc','User',6000)
#打印email
print(emp_1.email)#T.Bag@email.com
print(emp_2.email)#Mc.User@email.com
#打印emp_1的全名
print('{} {}'.format(emp_1.first,emp_1.last))
#T Bag
#自定义一个Employee类的方法
#fullname()实现打印全名
#继续修改Employee类:
class Employee:
  #初始化修改Employee的构造方法__init__
  #self指的是类实例对象本身而不是类本身
  #Python会自动给他赋值
  #self也可以换成其他词代替,不建议这么做
  #self是类方法默认的第一个参数而且是必须的,不写会报错
  def __init__(self,first,last,pay):
    self.first = first
    self.last = last
    self.email = first + '.' + last +'@email.com'
    self.pay = pay
  def fullname(self):
    return '{} {}'.format(self.first,self.last)
emp_1 = Employee('T','Bag',50000)
emp_2 = Employee('Mc','User',6000)
#调用fullname()方法
print(emp_1.fullname())#T Bag
print(emp_2.fullname())#Mc User
#因为self代表的是类实例对象本身
#也可以这样调用fullname():
print(Employee.fullname(emp_1))#T Bag

运行结果:

代码语言:javascript
复制
<__main__.Employee object at 0x00000000027E2898>
<__main__.Employee object at 0x00000000027E2940>
False
T.Bag@email.com
Mc.User@email.com
T.Bag@email.com
Mc.User@email.com
T Bag
T Bag
Mc User
T Bag

今天初学python的面向对象编程-类和实例对象学习就到这里!

关注公号

下面的是我的公众号二维码图片,欢迎关注。

yale记公众号

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yale记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关注公号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档