Python学习笔记:2.1.1 定义类

本文是《Python全栈工程师》课程的学习笔记,重点讲解如何定义类以及面向对象编程的基础概念。通过实例解释了类、对象、类型的区别,并介绍了如何自定义类和进行对象实例化。
摘要由CSDN通过智能技术生成

本文是学习齐老师的《python全栈工程师》课程的笔记,欢迎学习交流。同时感谢齐老师的精彩传授!

一、课程目标
  • 掌握定义简单类的方法
  • 理解对象、类和类型的基本概念
二、详情解读

01、类和类型:

温故知新:
内置的类和类型:

  • 具体某个字符串和str的关系
    • 某个具体的值(数据、对象)
    • 某个具体对象所属类别:类型、类
  • 类型、类:class
    • 内置:默认已经定义了class
    • 还可以自定义
>>> type('learn python with laoqi')
<calss 'str'>
>>> help(str)
class str(object):
	...
	index(..)
	| 	S.index(sub[, start[,end]])->int
	...
class SuperMan:
	'''
	a class of superman
	'''
	def __init__(self, name):
		self.name = name
		self.kongfu = 'xianglongshibazhang'
	def done(self):
		return 'coding'
p = SuperMan('guojing')
s = str('123')
print(type(p)) # <class '__main__.SuperMan'>
print(type(s)) # <class 'str'>
print(id(p)) # 4396808176
h = SuperMan('huoqubing')
print(id(h)) # 4398996112
print(type(h)) # <class '__main__.SuperMan'>

print(p.name) # guojing
print(h.name) # huoqubing
print(p.kongfu) # xianglongshibazhang
print(p.h) # xianglongshibazhang

自定义类:
在这里插入图片描述
什么是类:
在面向对象程序设计中,类(class)是一种面向对象编程语言的构造,它是创建对象的蓝图,描述了所创建对象共同的属性和方法。

02、面向对象:
对象:(Object)是客观世界中的某个具体事物,是编程语言中的基本元素。一般情况下,我们用唯一标识、属性(是什么)、行为(做什么)来描述一个对象。

两种编程思想:

面向过程编程(OPP,Procedure Oriented Programming):是一种以事物为中心的编程思想。主要关注“怎么做”,即完成任务的具体细节。

面向过程对象编程(OOP,Object Oriented Programming):是一种以对象为基础的编程思想。主要关注“谁来做”,即完成任务的对象。

例子:

# 面向过程
def eat(who, what):
	print(who+ ' eat ' + what)
eat('laoqi', 'meat') # laoqi eat meat

# 面向对象
class Animal:
	def eat(self, food):
		print(food)
laoqi = Animal()
laoqi.eat('meat') # meat		

实例:
分解实例化过程: 查找初始化方法__init__(注意,这个不叫做“构造方法”),若有,则执行;通常用来设置属性的。实例会包含属性和方法。

class P:
	def __init__(self, x):
		print('init')
		self.name = x  # self 指所创建的实例,所以类的实例方法第一个参数必须是 self
zhang = P('san') # 此处会打印出 "init" 字符串,当类实例化时会调用初始化方法__init__()
print(zhang.name) # san
li = P('si') # init
print(li.name) # si
三、课程小结
  • 学习了如何自定义类
  • 学习了什么是对象和面向对象
  • 学习了类的实例
四、作业
  • 创建 一个反映学生基本属性和方法的类,并实例化
class Student:
	'''
	创建 一个反映学生基本属性和方法的类,并实例化
	'''
    def __init__(self, name, sex, age, score):
        self.name = name
        self.sex = sex
        self.age = age
        self.score = score

    def study(self):
        return 'studying python...'

    def code(self):
        return 'coding python...'

s1 = Student('yuanwen', '男', 18, 99.9)
print(s1.name) # yuanwen
print(s1.sex) # 男
print(s1.age) # 18
print(s1.score) # 99.9

print(s1.study()) # studying python...
print(s1.code()) # coding python...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值