python基础语法之面什么是向对象

1.什么是面向对象

			。Python是一门面向对象的编程语言
			。所谓面向对象的语言,简单理解就是语言中所有操作都是通过对象来完成的
			。什么是面向过程
					1.面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序
					2.。这种编写方式往往只适用于一个功能,如果要试下别的功能往往复用性比较低
					3.这种编程方式符合人类的思维,编写起来比较容易
						a.妈妈穿衣服穿鞋出门
						b.妈妈骑车
						c.妈妈到超市
						d.妈妈买西瓜
						e.妈妈结账
						f.妈妈骑车回家
						g.到家切西瓜给孩子吃
					结果是孩子吃西瓜
				。面向对象的编程语言,关注的是对象,二不注重过程,对于面向对象一切皆对象
				。以上例子可以用孩子妈妈给孩子买西瓜姐姐
				。面向对象的编程思想,将所有的功能统一保存对应的对象中,要使用某个功能,直接找到对应的对象即可。
				。这种编码方式,比较容易阅读,并且易于维护,容易复用,但是编写的过程中不太符合常规思维,编写相对麻烦。

2.类的简介(class)

			。类(class):简单理解就是一张图纸,在程序中我们需要根据类来创建对象
			。我们也称对象是类的实例(instance)
			。如果多个对象是通过一个类创建的,我们称这些对象是一类对象
					a = int(1)  #创建一个int类的实例
					print(a,type(a))    #1 <class 'int'>
					b = str('pyhone')
					print(b,type(b)) 	#python <class 'str'>
			。自定义的类,类名要使用大写字母开头,使用大驼峰命名法
			。类的语法  class 类名([父类]):
				pass
				class MyClass():
					pass
				print(MyClass) 		#<class '__main__.MyClass'>
				mc = MyClass()  #mc就是通过MyClass创建的对象,mc是MyClass的实例
				print(mc,type(mc))		#<__main__.MyClass object at 0x0000000002889D48> <class '__main__.MyClass'>
				r = isinstance(mc,MyClass) 		#判断mc是不是有个类
				print(r) 			#True
			类也是一个对象,用了创建对象的对象
			类是type类型的对象,定义类实际上就是定义一个type类型的对象
			我们可以向对象中添加变量,对象中添加变量我们称之为属性
			语法:对象.属性名  = 属性值
			mc.name = '钢铁侠'
			print(mc.name)			#钢铁侠

3. 类的定义

		类和对象都是现实生活中事物的抽象
		实际上所有的实物都有两部分沟通成
			1.数据(属性)
			2.行为(方法)
			尝试过定义一个人类
			class Presson():
				#在类的代码块中,我们可以定义变量和函数
				#在类中我们定义的变量,将会成为所有实例的公共属性
				#所有实例都可以访问这些变量
				a = 10
				b = 20
				name = '钢铁侠'
				#在类中也可以定义函数,类中定义的函数我们称之为方法
				#这些方法可以通过该类的实例来访问
				def speck(a):
					print('hello!')
				
			p1 = Presson()
			p2 = Presson()
			print(p1.a,p2.b)		#10 20
			#调用的方法,对象.方法名
			#方法调用和函数调用的区别
			#如果函数调用 调用的时候有几个形参,就会传递几个实参
			#但是如果是方法调用,默认传递一个参数,方法中至少定义一个形参
			p1.speck()			#hello

4.self的含义

		为什么实例对象能够访问到类对象重点属性和方法?
		类中定义的属性和方法都是公共的,任何该类的实例都可以访问
		属性和方法调用的顺序
		当我们调用一个对象的属性时,解析器会诊当前的对象中寻找是否含有改属性
		如果有,则 直接返回当前对象中的属性值
		如果没有呢,则去当前对象的类对象中区寻找,如果类对象中 有则返回类对象中的属性值,
		如果类对象中没有,则报错
		方法每次被调用是,解析器都会自动传递一个参数
		第一个参数,就是调用方法的本身
		如果是p1调用,第一个参数就是p1的对象
		如果是p2调用,第一个参数就是p2的对象
		一般习惯把这个参数命名为self
		self
		 。self在定义时需要定义,但是在调用是会自动传入
		 。self的名字并不是规定死的,但是最好还是按照约定用self,
		 。self总是只调用时的类的实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值