ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

59.Python:类与对象介绍

2021-07-06 13:35:18  阅读:170  来源: 互联网

标签:__ .__ 59 stu Python 对象 init Student obj



# 类
# ##########先定义类
# 类是对象相似数据与功能的几何体
# 所以类体中最常见的是变量与函数的定义,但是类体其实是可以包含任意其他代码的
# 注意:类体代码是在类定义阶段就会立即执行
"""
class 类名(推荐驼峰体)
内容
"""

stu_obj = {
'stu_name': 'SEPIA',
'stu_age': 21,
'stu_gender': 'male'
}


class Student:
# 变量定义
stu_school = "oldboy"

# 类在调用阶段会自动触发__init__
# 调用时自动将stu1_obj传给第一个参数
def __init__(obj, x, y, z):
obj.stu_name = x
obj.stu_age = y
obj.stu_gender = z

# 功能定义
def tel_stu_info(stu_obj):
print('学生信息:名字: %s 年龄: %s 性别: %s' % (
stu_obj['stu_name'],
stu_obj['stu_age'],
stu_obj['stu_gender']
))

def set_info(stu_obj, x, y, z):
stu_obj['stu_name'] = x
stu_obj['stu_age'] = y
stu_obj['stu_gender'] = z

print('!!!!!!!!!!!!!!!!!!!')


# print(Student.__dict__['stu_school'])
# Student.__dict__['set_info'](stu_obj, 'SSS', 22, 'female')
# Student.__dict__['tel_stu_info'](stu_obj)

# 属性访问的语法
# 访问数据属性
print(Student.stu_school)
# 访问函数属性
Student.set_info(stu_obj, 'SSS', 22, 'female')
Student.tel_stu_info(stu_obj)

# ##########再调用类产生对象
# 调用类的过程又成为实例化,发生了三件事
# 1.先产生一个空对象
# 2.Python自动调用类中的__init__方法然后将空对象以及调用类时括号内传入的参数一同传给__init__
# 3.返回初始化完的的对象
# stu1_obj = Student()
# def init(obj, x, y, z):
# obj.stu_name = x
# obj.stu_age = y
# obj.stu_gender = z
#
#
# init(stu1_obj, 'egon', 18, 'male')
# print(stu1_obj.__dict__)

stu1_obj = Student('aaa', 22, 'male')
print(stu1_obj.__dict__)

# 总结__init__方法
# 1.会在调用类时自动触发执行,用来为对象初始化自己独有的数据
# 2.__init__内应该存放的是为对象初始化属性的功能,但是是可以存放任意其他代码的
# 想要在类调用时立刻执行的代码都可以放到该方法内
# 3.__init__方法必须返回None

标签:__,.__,59,stu,Python,对象,init,Student,obj
来源: https://www.cnblogs.com/wyless/p/14976441.html

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

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

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

ICode9版权所有