各位读者大大们大家好,今天学习python的面向对象编程-类和实例对象,并记录学习过程欢迎大家一起交流分享。
新建一个python文件命名为py3_oop1.py,在这个文件中进行操作代码编写:
#面向对象编程
#类和实例对象
#定义一个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
运行结果:
<__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记公众号