Python第十八天

面向对象

什么是面向过程和面向对象?
f2.write(data)
f.close()
f2.close()
if name == “main”:
copy_file()
c ---------- 函数实现的,面向函数的语言
编程语言历史 二进制 汇编(面向机器编程) C C++ JAVA python PHP
面向对象本质分类处理
对象和类
什么是类?------ 分类 class ----------- 抽象个概念,一类事务的总称
对象? ---------- 类的实例 对象是一个实例
定义类:
类命名的规范:首字母要大写,下划线 user_name 大驼峰法 UserName

#创建user类
#class user: #旧式类
#class user(object): #新式类
class User(object):
#重写__init__(self) 用来初始化属性,在构建方法的时候,
# 这个方法会自动被触发
def __init__(self, name, age, gender, tel):
# print("这个方法被触发了")
# self.name = "张三"
# self.age = 18
# self.gender = "男"
# self.tel = "13124565543"
self.name = name
self.age = age
self.gender = gender
self.tel = tel
def study(self):
print("我爱学习!!!!")
print("我是"+self.name+",我爱学习")
def __str__(self):
return "[name= "+self.name+",age="+str(self.age)+"]"
if __name__ == '__main__':
# print("即将触发")
# u = User()
# print("触发结束")
# print(u.name)
# print(u.age)
# #直接修改属性值
# u.age += 1
# print(u.age)
# #调用方法
# u.study()
u = User("张三", 18, "男", "110")
print(u)

面向对象的三大特征
封装
面向对象的封装:将属性和方法封装到一个类多个类,需要使用的时候,调用这些属性和方法

class User(object):
def __init__(self, name, age, gender, tel):
self.__name = name
self.__age = age
self.__gender = gender
self.__tel = tel
def __str__(self):
return "name=" + self.__name
#如何让外部访问到私有的属性 getter setter
# 提供公开的get方法访问
def get_name(self):
return self.__name
# 提供公共的set方法修改
def set_name(self, username):
self.__name = username
def get_age(self):
return self.__age
def set_age(self, age):
self.__age = age
if __name__ == '__main__':
u = User("张三", 18, "男", "110")
# print(u)
print(u.get_name())
# print(u.age)
u.name = "lisi"
print(u.name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值