原来你叫“派森”(一)

前言

大家好,前几天我在这里发表了“迦娲”的第一章,我学习JAVA,同时呢,也会Python。所以目前我的两个主打对象是Python和JAVA。想必大家都看到题目叫“派森”,这个是Python的中文音译。我会把我一些学习Python的笔记,心得等知识发表在CSDN里面,同样的,我希望各位前辈们,能够给与我最大的帮助和鼓励。谢谢。

乐高积木

想必大家都知道乐高积木,也玩过乐高。可能会疑惑学习Python跟乐高有什么关系。听我慢慢道来。
Python是一门面向对象的编程语言,可能大家很多人刚开始学,弄不懂什么是面向对象。
我用一个乐高积木的作为例子:
大家可以去淘宝网或者乐高官网查一款代号:
Liebherr R 9800 挖掘机
价格大概在3000+人民币左右
(我是想上传图片的,也不知道CSDN为什么上传不了)
一般乐高都是一包包的就是零件,还有一本图纸,大家就是通过这本图纸进行拼装的。

跟面向对象有什么关系呢?
讲到面向对象就得讲到:
类 与 对象
这本图纸就是类
而这个乐高积木(挖掘机)就是对象
用图纸创造挖掘机 ==> 用 类 创造 对象
也就是用类去实例化

当然这个挖掘机他有特征,比如它多高?多重?等这些就是它的特征。
这个挖掘机能干嘛?比如他能挖土,可以通过遥控器进行前进,后退等行为
在面向对象里面 把特征叫做 属性(变量) 行为就是方法(函数)

但是要记住 是先有类 再有对象,你不可能不看图纸就会拼这个挖掘机对吧
然后一个类可以创造多个对象,因为你看看 市场上 有很多这样的挖掘机,乐高公司不可能只生产一个对吧。他会批量生产,然后这本图纸,他是拼接挖掘机的通用部分。就是说,你只要有一本图纸,这些挖掘机都可以拼出来,但是每个挖掘机的编码不一样。比如商家进货进了10盒这种乐高挖掘机,他必须得按照1~10的编号进行排序,进行对账。

我用代码给大家演示一下吧:


```"这是 类 的语法说明:
class 类的名字():
	代码
	.......

"这是  对象 的语法说明:
对象名= 类的名字()

然后以乐高挖掘机作为例子的代码演示:

class LEGO():
	def go(self):
		print("前进")
excavator=LEGO()
excavator.go()

这里的 def go(self) 是他的功能,就是他可以前进,可以后退或者其他功能
excavator.go() 意思是调用前进功能

之前我说到,一个类(图纸)可以生成无数的对象(挖掘机),但是他们的内存地址(编号)是不一样的。怎么说?

class LEGO():
	def go(self):
		print("前进")
excavator1=LEGO()
excavator2=LEGO()
print(excavator1)
print(excavator2)

眼尖的人会问,def go(self)中的 self是什么意思?
他的意思是 对象(挖掘机)

对象属性,比如这个挖掘机多大,多高,多重?这些就是属性。
这些属性是可以自己定义的, 它定义的方式有两种:

1.在类外面进行定义
2.类里面进行定义

在类外面进行定义
class LEGO():
	def info(self):
		print("该挖掘机高度:", self.height)
		print("该挖掘机长度:", self.length)
excavator=LEGO()
excavator.height=100
excavator.length=200
excavator.info()

这种方法的意思是,定义完对象以后,进行对 对象的属性定义,然后在类里面进行调用。
当然,self.height 和self.length 可以换成excavator.height excavator.length
因为self本身就是对象的意思

在讲到在类里面进行定义属性的时候,就得讲到魔法方法
当我们买到挖掘机的时候,我们可以从外包装看到这个挖掘机的规格,也就是说这些在出厂的时候就已经定死的了。
决定这个出厂的规格属性的就是魔法方法: _init _

在类里面进行定义属性
class LEGO():
	def _init_(self):
		self.height=200
		self.length=100

	def info(self):
		print("该挖掘机高度:", self.height)
		print("该挖掘机长度:", self.length)
		
excavator=LEGO()
excavator.info()

说完 魔法方法 __init __ 就得提提 __str __

当我们打印对象(挖掘机)的时候,返回给你的是一个内存地址(编号)

class LEGO():
	def _init_(self):
		self.height=200
		self.length=100

	def info(self):
		print("该挖掘机高度:", self.height)
		print("该挖掘机长度:", self.length)
		
excavator=LEGO()
print(excavator)

但是如果使用了__str __这个魔法方法,打印出来的就会是它return出来的值
记住!__str __只能跟着return “字符串”

class LEGO():
	def __(self):
		return "我是乐高挖掘机"
excavator=LEGO()
print(excavator)

心得:

以上更新的是面向对象的基础,以后会把剩下的部分,拉上来。然后再把Python其他的基础函数和字符串等功能进行讲解。谢谢大家!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值