原来你叫“派森”(一)
前言
大家好,前几天我在这里发表了“迦娲”的第一章,我学习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=200self.length=100def info(self):print("该挖掘机高度:", self.height)print("该挖掘机长度:", self.length)excavator=LEGO()
excavator.info()
说完 魔法方法 __init __ 就得提提 __str __
当我们打印对象(挖掘机)的时候,返回给你的是一个内存地址(编号)
class LEGO():def _init_(self):self.height=200self.length=100def 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其他的基础函数和字符串等功能进行讲解。谢谢大家!!!
原来你叫“派森”(一)相关推荐
- monty python喜剧-Monty Python(蒙提·派森)的成员简介
Monty Python(蒙提·派森)是英国六人喜剧团体,成员为以下六位: 约翰·克里斯 (John Cleese): John毕业于剑桥大学法律专业.他是一个非常理性,做事一丝不苟的人.2010年英 ...
- 派森编程python_派森(Python)编程有什么用?
python : 发音:英 [ˈpaɪθən]. 美 [ˈpaɪθɑ:n] .中式发音"派森". 中文释义:巨蛇,大蟒 复数形式:pythons 英文单词,意为巨蛇,大蟒. 通常情 ...
- 派森语言python干什么的-Python(派森)
"Python(派森),是一个简单的.解释型的.交互式的.可移植的.面向对象的超高级语言".这就是对Python语言的最简单的描述.Python作为一种功能强大且通用的编程语言而广 ...
- 派森python_派森(Python)
派森是一种功能强大的通用型语言,适用于直译式计算机程序,具有近二十年的发展历史,成熟且稳定,包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务,语法非常简捷和清晰,与其它计算机程序设计语言 ...
- 派森编程python_Python(派森)
"Python(派森),是一个简单的.解释型的.交互式的.可移植的.面向对象的超高级语言".这就是对Python语言的最简单的描述.Python作为一种功能强大且通用的编程语言而广 ...
- python派森编程_派森(Python)官方下载_派森(Python)最新版_派森(Python)v2.7.14官方正式版-华军软件园...
Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法非 ...
- 派森python_python2.7下载-派森(Python)下载v2.7.18 官方正式版【x86|x64】-西西软件下载...
Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务.它的语法非 ...
- 派森小镇(二)神奇能量药丸
派森小镇的故事 雾霭沉沉,水波澄碧.在一处悠远僻静的地方上有一个神奇的小镇,小镇的名字叫派森镇.小镇的前面有一条河,碧蓝的水映出小镇周围水墨画般朦胧的世界. 小镇上的人一出生就拥有特殊的技能,他们中的 ...
- 派森学python_2019 年 1月 26 日 随笔档案 - 派森学python - 博客园
摘要:环境准备 python2.7 凑合的linux 差不多的无线网卡 "pywifi模块" 弱口令字典 清除系统中的任何wifi连接记录(非常重要!!!) 首先,这个模块在win ...
最新文章
- HDU 2717 Catch That Cow(BFS)
- Yii在window下的安装方法
- 带您走进七周七语言的程序世界
- 老话题,不要在遍历容器中增删容器数据
- c语言 字符串map,C语言实现BitMap
- A Brief Overview Of Vulkan API
- webbrowser 百度列表点击_百度信息流推广后台完整的实操流程分享
- 来自一位程序员女友的内心独白
- buf.readInt8函数详解
- oppok3如何刷机_数码知识:oppok3怎么刷机刷机教程
- Deepin_wine安装超星阅读器及解决乱码问题
- sin、cos三角函数计算
- 关于高维空间的一些思考
- 我不 大冰2017新书pdf免费下载
- 鸿蒙系统全球发布,鸿蒙系统正式发布,全球瞩目!
- 趣写算法之匈牙利算法
- jsoup爬取豆瓣电影top250
- Mysql5.7安装超详细教学
- 中国都有哪些顶级优秀的程序员?
- 我的世界java版指令保留物品栏_我的世界或将在模式切换中保存物品栏
热门文章
- SpringBoot 整合 Elasticsearch
- 微信小程序 基础 - 19 (登录后用户头像的更新)
- java定义属性错误_java – 注释类型的属性值未定义为“MediaT...
- matlab中a2qua,matlab-toolbox-forINS 惯性导航系统的 工具箱,里面包含使用说明以及各个m文件的功能 272万源代码下载- www.pudn.com...
- c语言 编译开关用法,C语言中define的使用方法
- 【项目】小帽商城 II(一)
- 银行手机APP安全评估报告【转载】
- 简易计算机课程设计总结,简单计算器课程设计报告.doc
- vim/Gvim安装插件
- 块矩阵(Block Matrix)、舒尔补(Schur complement)