《Python从入门到放弃》(Yanlz+Unity+SteamVR+云计算+5G+AI=VR云游戏=Python+PyCharm+人工智能+无人驾驶+数据可视化+人机交互+立钻哥哥+==)

Python从入门到放弃

Python从入门到放弃

版本

作者

参与者

完成日期

备注

YanlzAI_Python_V01_1.0

严立钻

 

2019.09.25

 

 

 

 

 

 

 

##《Python从入门到放弃》发布说明:

++++“Python从入门到放弃”:是对“AI人工智能”的综合探索;作为[VR云游戏]的重要组成,AI将赋予VR新的高度;人工智能是国际竞争的新焦点,是人类社会发展的加速器;;

++++“Python从入门到放弃”:定位在一个科普类知识,

++++VR云游戏=Unity+SteamVR+云技术+5G+AI

 

 

@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)

 

 

##《Python从入门到放弃》目录

#第一篇:钻哥百科

#第二篇:Python的自由探索篇

#第三篇:Python入门篇

#第四篇:Python放弃篇

#第五篇:立钻哥哥带您Python编程

#第一篇:钻哥百科

#第一篇:钻哥百科

#第一篇:钻哥百科

++++立钻哥哥:Python是一种跨平台的计算机程序设计语言;是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发

++++A.1、Python概述

++++A.2、Python应用

++++A.3、立钻哥哥带您Python编程

++A.1、Python概述

++A.1、Python概述

++A.1、Python概述

++++立钻哥哥:Python是一种跨平台的计算机程序设计语言;是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发

++++[Python是一种解释型脚本语言]:WebInternet开发;科学计算和统计;人工智能;教育;桌面界面开发;软件开发;后端开发;等等

++++[Python是完全面向对象的语言]:函数、模块、数字、字符串都是对象;并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性;Python支持重载运算符和动态类型

++++[Python的优点]:简单;易学;速度快;免费、开源;高层语言;可移植性;解释性;面向对象;可扩展性;可嵌入性;丰富的库;规范的代码

----<简单>:Python是一种代表简单主义思想的语言

----<速度快>:Python的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快

----<高层语言>:Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节

----<可移植性>:由于它的开源本质,Python已经被移植在许多平台上

----<面向对象>:Python既支持面向过程的编程也支持面向对象的编程

----<可嵌入性>:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能

----<丰富的库>:Python标准库确实很庞大

++++[Python的缺点]:单行语句和命令行输出问题;独特的语法;运行速度慢;等等

----<单行语句和命令行输出问题>:很多时候不能将程序写成一行

----<独特的语法>:即便是很有经验的Python程序员,也可能陷入陷阱当中

----<运行速度慢>:相对于CC++而言

++Python的应用

++++立钻哥哥:[Python是一种解释型脚本语言]:WebInternet开发;科学计算和统计;人工智能;教育;桌面界面开发;软件开发;后端开发;等等

++++[系统编程]:提供APIApplication Programming Interface,应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具

++++[图形处理]:PILTkinter等图形库支持,能方便进行图形处理

++++[数学处理]:NumPy扩展提供大量与许多标准数学库的接口

++++[文本处理]:Python提供的Re模块能支持正则表达式,还提供SGMLXML分析模块,许多程序员利用Python进行XML程序的开发

++++[数据库编程]:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL ServerOracleSybaseDB2MySQLSQLite等数据库通信;Python自带有一个Gadfly模块,提供了一个完整的SQL环境

++++[网络编程]:提供丰富的模块支持Sockets编程,能方便快速地开发分布式应用程序;很多大规模软件开发计划,例如ZopeMnetBitTorrentGoogle都在广泛地使用它

++++[Web编程]:应用的开发语言,支持最新的XML技术

++++[多媒体应用]:PythonPyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图形处理;PyGame模块可用于编写游戏软件

++++[Pymo引擎]:PYMO全称为Python Memories Off,是一款运行于Symbian S60Android系统上的AVG游戏引擎

++++[黑客编程]:Python有一个Hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感

++++[用Python写简单爬虫]:import urllib2

++Python相关的工具功能

++++立钻哥哥:Python相关的工具有:TkinterPyGTKPyQtwxPythonPILPsycoxmpppyPyMediaPmwPyXMLPyGamePyOpenGLNumPyNumArraySAGEMySQLdbSqlite3Python-ldapsmtplibftplibPyOpenCL等等;Python拥有一个强大的标准库;Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能;Python标准库命名接口清晰、文档良好,很容易学习和使用

++++[Tkinter]:Python默认的图形界面接口;Tkinter是一个和TK接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/TkGUI工具组

++++[PyGTK]:用于Python GUI程序开发的GTK+库;GTK就是用来实现GIMPGnome的库

++++[PyQt]:用于PythonQt开发库;QT就是实现了KDE环境的那个库,由一系列的模块组成,有QtQtCanvasQtGLQtNetworkQtSqlQtTableQtUiQtXml,包含有300多个类和超过5750个的函数和方法;PyQt还支持一个叫QText的模块,它包含一个QScintilla库;该库是Scintillar编辑器类的Qt接口

++++[wxPython]:GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构

++++[PIL]:Python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示;还能进行一些图形效果的处理,如图形的放大、缩小和旋转等;是Python用户进行图象处理的强有力工具

++++[Psyco]:一个Python代码加速度器,可使Python代码的执行速度提高到编译语言一样的水平

++++[xmpppy]:Jabber服务器采用XMPP协议开发的,Google Talk也是采用XMPP协议的IM系统;在Python中有一个xmpppy模块支持该协议;也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool

++++[PyMedia]:用于多媒体操作的Python模块;它提供了丰富而简单的接口用于多媒体处理;可在Windows和Linux平台下使用

++++[Pmw]:Python megawidgetsPython超级GUI组件集,一个在Python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能

++++[PyXML]:Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的

++++[PyGame]:用于多媒体开发和游戏软件开发的模块

++++[PyOpenGL]:模块封装了“OpenGL应用程序编程接口”,通过该模块Python程序员可在程序中集成2D3D的图形

++++[NumPyNumArraySAGE]:NumArrayPython的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库;它的底层代码使用C来编写,所以速度的优势很明显;SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代MagmaMapleMathematicaMatlab这类工具

++++[MySQLdb]:用于连接MySQL数据库;还有用于ZopeZMySQLDA模块,通过它就可在Zope中连接MySql数据库

++++[sqlit3]:用于连接Sqlite数据库

++++[Python-ldap]:提供一组面向对象的API,可方便地在Python中访问ldap目录服务,它基于OpenLDAP2.x

++++[smtplib]:发送电子邮件

++++[ftplib]:定义了FTP类和一些方法,用以进行客户端的ftp编程;如果想了解ftp协议的详细内容

++++[PyOpenCL]:OpenCLPython接口,通过该模块可以使用GPU实现并行计算

#第二篇:Python的自由探索篇

#第二篇:Python的自由探索篇

#第二篇:Python的自由探索篇

++++立钻哥哥:Python的火热程度已经人人皆知,随着大数据、人工智能时代的到来,Python的应用将更加广泛,未来不可忽视,对我们来说,学的不仅仅是一门工具,而是一门让我们受益终身的语言;伴随人工智能的发展与应用,Python日益成为备受欢迎的“网红语言”之一

++++B.1、Python的认识

++++B.2、Python的进阶

++++B.3、Python知识点

++++B.4、立钻哥哥的Python攻略

++B.1、Python的认识

++B.1、Python的认识

++B.1、Python的认识

++++立钻哥哥:熟练掌握Python是当今市场上很多热门工作所需要的必备技能之一;Python的应用领域非常广泛,从云计算、Web开发、数据科学到人工智能,包括国内外知名企业Google、阿里、腾讯、NASAYouTubeFacebook等都在使用Python语言

++++随着人工智能的飞速发展,业务对数据的依赖度越来越高,能否准确分析统计数据成为每一个业务人员的未来提升方向之一,而Python作为一个强有力的数据分析语言值得每一个希望提升自己数据能力的人学习;近几年,随着从IT时代到DT时代的推进,掌握一门数据开发语言显得越来越重要

++++对于Python语言,它更像是一个工具来帮助我们实现各种算法和应用,学习中应当快速入门,边练边学方为上策;作为目前最火也是最实用的编程语言,Python不仅是新手入门程序界的首选,也逐渐成为程序员招聘需求中的必要一条

++++大数据时代,数据分析已经成为工作和生活中必不可少的一项技能;Python的高效性和便捷性,以及在机器学习中的广泛应用使它成为数据处理的首选工具

++++Python编程不仅是人工智能行业的通用语言,也是各传统行业数据处理和分析的常见工具;不管身处什么行业,Python现在几乎快要成为人人必须掌握的一门编程语言;随着Python被广泛应用于网络程序开发、系统管理、大数据分析和人工智能等方面,Python已然成为主流编程语言的一员,可以说是近几年最热门的语言(没有之一)

++++立钻哥哥:由于人工智能的火热,Python语言成了目前最热门的编程语言之一;尤其是无人驾驶汽车的出现,更增加了人们对人工智能的关注;人生苦短,选用Python,多留点时间做其他有意义的事情

++零基础学习Python编程过程中牢记三个字:写、背、练

++++立钻哥哥:解决零基础学习Python过程中遇到的问题时,要独立思考,反复阅读相关基础内容,独立解决问题会让知识记忆得更牢固;Python语言已经存在了很多年,大部分的问题都可以在网上搜索到答案;利用好百度等工具

++++[写:把相关代码独自写一遍]:一定不要偷懒,感觉对自己对某个知识点学会了,但是真正写起来是不一样的;写代码的过程也是重新思考的过程;也许我们会发现同一个知识点有更好的实现方法,这就融会贯通了;编程不需要千篇一律,只要实现功能,代码高效并且完成漂亮即可

++++[背:背诵]:Python基础内容中非常重要的就是语法部分,如果语法不会,那么很难学会编程,希望在学习的过程中注意学习语法;背诵那些很多固定的语法,比如什么是列表、什么是循环,以及如何定义函数等

++++[练:写项目练习相关内容]:Python最快的方法是动手做项目

++如何入门Python编程

++++立钻哥哥:Python功能强大,只有你想不到的,没有它做不到的;Python具有非常丰富的第三方库;这也是Python的魅力所在,比如爬虫类的、人工智能类的等;“条条大道通罗马”,只要努力且认真学习Python代码,每一个方向都可以实现人生梦想

++++[学习Python的语法内容]:编程语法是必须学习的硬指标;选择一个Python的应用方向,然后认真研究下去

++Python相关就业方向

++++立钻哥哥:Python之所以功能强大,主要是因为Python具有非常丰富的第三方库;这也是Python的魅力所在,比如爬虫类的、人工智能类等等;大家可以结合自身条件,认真选择一个主攻方向;“条条大路通罗马”,只要努力且认真学习Python代码,每一个方向都可以实现人生梦想

++++[1、Web网页工程师]:现在越来越多的公司使用Python开发网站,比如知乎、豆瓣、小米等,主要工作内容是搭建网站;在需要新建功能时,用Python添加几行代码即可完成;(技术要求:Web网页工程师分为前端和后端,需要掌握的技术主要有DjangoFlaskBootstar等;要想了解得更全面,最好再学习一下爬虫相关的库,以及连接数据库的库的使用方法;)

++++[2、网络爬虫工程师]:简单来说,网络爬虫的工作就是从互联网上爬取自己需要的信息,目前也是Python从业者中做得最多的事情;(技术要求:熟悉网页基本结构,熟练使用Pythonurllib request库,以及各种爬虫框架;)

++++[3、自动化运维]:自动化运维也是Python的主要应用方向之一;Python可以实现自动化批量处理;比如Python在系统管理、文档管理、图片管理等方面都有非常强大的功能;(技术要求:熟练使用Pythonos模块、文件管理模块、openpyxl库、pypdf2库等;)

++++[4、数据分析师]:数据分析师是目前最火爆的职业之一;大数据分析就是利用Python处理大量的业务数据,经过加工与分析,得出对公司决策有用的信息;(技术要求:具有统计学基础,需要掌握的Python第三方库有PandasNumPymatplolib等;)

++++[5、游戏开发方向]:Python游戏开发工程师目前主要是写Python脚本,把新的功能加进去,易于维护,更加方便;或者直接用Python开发游戏;(技术要求:掌握Python中的pygame等库;)

++++[6、自动化测试方向]:现在的测试越来越自动化,避免了大量枯燥的重复性工作;自动化测试方向主要的工作内容就是写Python测试脚本;(技术要求:熟悉测试方法,掌握PythonUnitTest等常用的库;)

++++[7、AI方向]:AI方向是目前比较火的方向;(技术要求:具有数学基础、统计学基础,掌握Pythonscikit-learn等库;)

++Python“三剑客”

++++立钻哥哥:“工欲善其事,必先利其器”;主流的Python开发环境IDE有三个,分别是PyCharmAnacondaJupyter Notebook,我们称之为Python“三剑客”

++++[Python下载地址]:http://www.Python.org/downloads/

++++[PyCharm]:目前最好用的Python开发IDE之一;最大的优势是,执行整个报表脚本和各种数据源的获取,还有定时脚本执行;PyCharm简单易学,有错误提示等功能

----下载地址:https://www.jetbrains.com/pycharm/download/

++++[Anaconda]:是一种Python免费增值开源发行版,用于进行大规模数据处理、预测分析、科学计算,致力于简化包的管理和部署;最大的优势是,整体开发环境和第三方库的安装方便;一些常用的第三方库会自动安装,比如PythonNumPyPandasSpyder等,无需二次安装

----下载地址:https://www.anaconda.com/download/

++++[Jupyter Notebook]:是一个交互式笔记本,可以支持40多种编程语言运行;能够将实时代码、公式、可视化图表以Cell的方式组织在一起,形成一个对代码友好的笔记本;同时支持Markdown语法和LaTeX语法,可以有效输出富文本方式的PDF文档;最大优势是,模型训练时每步即时执行,可以可视化地看到结果

----提示:安装完Anaconda之后,系统会自动安装Jupyter Notebook

----如果系统没有安装Anaconda,可以使用pip安装:$pip install jupyter

++夯实Python基础

++++立钻哥哥:转变Python编码思路的唯一一个方法就是实战

++++[学会写注释,方便你我他]:并不是每一行代码都需要注释,只有关键的地方才需要注释,例如,新的语法点、代码重点解决的问题、重要的细节、结论等

++++[变量命名方法]:在符合变量命名规则的前提下,变量名最好简短、易懂,即从变量名就能看出其代表的意思;(例如,驼峰式大小写,yanlzFrameworkGetYanlzVR

++++[数据结构]:数据结构是相互之间存在一种或多种特定关系的集合

++++[列表]:列表是一系列按特定顺序排列的元素组成的,也就是列表是有序集合;(列表名字=[元素1, 元素2, 元素3, ... ...]

++++[元组]:元组的长度固定,是能被修改元素值的数据结构;(元组名=(元素1, 元素2, ... ...)

++++[字典]:字典也是可变的数据结构,且可存储任意类型的对象,比如字符串、数字、列表等;字典由关键字和值两部分组成,也就是keyvalue,中间用冒号分隔;(字典名={关键字1:值, 关键字2:值, 关键字3:值}

++++[字典与列表的结合]:字典列表;在字典中存储列表;在字典中存储字典;等等

++Python控制结构

++++立钻哥哥:控制结构就是控制程序执行顺序的结构,这一小段我们来了解一下:Python运算符与表达式;顺序结构;分支结构;循环结构;for循环;列表解析式;while循环;等等

++++[Python运算符与表达式]:运算符用于执行程序代码运算,会针对一个以上操作数来进行运算;表达式是将不同类型的数据,比如常量、变量、字典、函数等,用运算符按照一定的规则连接起来的式子

++++[Python的三大控制结构]:Python有三大控制结构,分别是顺序结构、分支结构(选择结构)、循环结构;任何一个项目或者算法都可以使用这三种结构来设计完成;这三种控制结构也是结构化程序设计的核心,比如C语言就是结构化语言,一种面向过程的编程

++++[顺序结构]:顺序结构是按照代码顺序执行的;(Python根据缩进来判断代码行与前一行的关系,在编写分支或循环结构代码时,一定要注意代码的缩进问题)

++++[分支结构]:分支结构又称为选择结构,意思是程序代码根据判断条件选择执行特定的代码;(在Python语言中,选择结构的语法使用关键字ifelifelse来表示)

++++[循环结构]:不断重复就是循环;循环结构是在一定条件下反复执行某部分代码的操作,是Python程序数据中使用率最高的一个结构;(在Python语言中,常见的循环结构有for循环和while循环)

++++[列表解析式]:利用for循环创建列表非常低效,并且代码复杂;在Python编程中,经常使用列表解析式动态创建列表;它是一个非常有用、简单且灵活的工具;它是将一个列表转化为另外一个列表的工具

++++[while循环]:Python中还可以使用无限循环,不需要提前指定循环次数,即while循环

++Python函数

++++立钻哥哥:函数是一个独立且封闭,用于完成特定功能的代码块,可以在任何地方被调用;在Python中,函数分为内建函数和用户自定义函数;内建函数是Python程序语言已经创建好的,可以直接使用

++++Python官方文档:https://docs.Python.org/3/library/functions.html

++++[函数的作用]:解决代码重复问题;代码结构与思维结构一致;利于分工合作;代码清晰、易读、易修改;等等

#立钻哥哥:定义函数的语法

def funtion_name(parameter1, parameter2, xxxxxx):

    语句1

    语句2

    return xxxx

++++[如何调用函数]:调用函数就是让Python执行函数的代码,也就是指出函数的名字;只有当函数被调用时,函数内部的代码段才会被执行

funtion_name()

++++[函数是对象]:Python语言是面向对象的语言,一切皆对象,函数自然也是对象,并且是第一类对象;第一类对象是Python函数的一大特征

++++[第一类对象(First Class Object)]:第一类对象在计算机科学中指可以在执行期创造并作为参数传递给其他函数或存入一个变数的实体;将一个实体变为第一类对象的过程叫物件化(Reification);这意味着,函数和其他对象一样,如整数、字符串、列表等,可以赋值给变量,可以在函数中定义另一个函数,可以作为参数传递给其他函数,可以作为返回值等;这些就是第一类对象所有的特性

++++[对象模型的三个通用属性]:函数拥有对象模型的三个通用属性:唯一标识对象id标识对象的类型type,以及对象的值value

++++[函数赋值给变量]:函数作为第一类对象,可以赋值给其他变量;赋值给变量时,函数并不会被调用,仅仅在函数对象上绑定一个新的名字而已;(调用函数必须有括号)

++++[嵌套函数]:嵌套函数是在函数中定义另外一个函数;在函数里面的函数被称为内层函数、闭包函数或者嵌套函数,外面的函数被称为外层函数

++++[函数作为参数]:函数是对象,可以像变量一样作为参数传递给其他函数;(函数作为参数传递时不需要括号)

++++[将函数放在容器中]:容器对象(列表、字典等)中可以存放任何对象,例如整数、字符串等;函数作为对象也可以放在容器中;无论是自定义函数,还是内建函数都可以放入列表中

++++[函数作为返回值]:函数可以作为返回值赋值给一个变量;(作为返回值时,函数名后面没有括号,否则就是函数调用了)

return funtion_name

++LEGB作用域

++++立钻哥哥:LEGBLocal Enclosed Global Built-in)作用域

++++Python中,程序中的变量不是在任何位置都可以访问的,访问权限取决于该变量在哪里赋值,也就是LEGB中的哪一个区域;根据LEGB规则,搜索顺序为Local->Enclosd->Global->Built-in;如果变量在局部作用域里没有找到,则会在闭包函数外的区域搜索;若也没找到,Python就会在全局作用域中查找;若还没有,则会在内建作用域中搜索

++++根据LEGB规则,如果变量在局部作用域中,那么它被称为局部变量,也就是定义在函数内部并且作用域为整个函数的变量;如果变量在全局作用域,那么它被称为全局变量,作用域为整个文件

++++[关键字global]:若想在函数中修改全局变量,可以使用关键字global实现;一般用来存储系统中的某些状态;如果程序中使用了很多关键字global修改全局变量,则可以使用其他方法解决,比如内容类;在实际项目中,很少使用global,因为容易造成混乱,或者导致出现很难调试的错误;如果想要修改全局变量,建议把它作为一个实参传入,然后重新指定返回值

++++[关键字nonlocal]:修改内层函数外区域变量的值,可以使用关键字nonlocal实现,该关键字明确告诉解释器,内层函数内的变量不是局部变量,需要去上层区域查找,进而实现了对该变量的修改

++++[闭包]:在计算机科学中,闭包,又称词法闭包(Lexical Closure)或函数闭包(Function Closure),是引用了自由变量的函数;所以,有一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体;闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例;闭包引用了自由变量的函数;被引用的自由变量将和函数一同存在,即使已经离开了创造它的环境也不例外

++++[闭包的三个条件]:必须是嵌套函数;内层函数必须引用自由变量;外层函数必须返回内层函数

++++[__closure__属性]:Python中,函数是对象,并且可以通过函数dir()查看其属性列表;所有函数都有一个__closure__属性,如果这个函数是一个闭包,那么它返回的是一个由cell对象组成的元组对象;如果没有形成闭包,则__closure__属性返回的是Nonecell对象的cell_contents属性就是闭包中的自由变量;正是该属性的存在,使得自由变量离开了外层函数之后,还可以在函数之外被访问

++++[为什么使用闭包]:闭包可以把函数和所操作的某些数据关联起来,进而避免使用全局变量;这类似面向对象编程中的对象,允许将对象的属性与一个或多个方法关联起来;一般来说,在面向对象编程中只有一个方法时,我们推荐使用闭包;另外,闭包还提供一致的函数签名

++Python编程中的“三大神器”

++++立钻哥哥:Python编程语言中,经常使用装饰器、生成器和迭代器来优化代码,它们的功能非常强大,并且使代码简洁、高效

++++[装饰器]:装饰器就是在代码运行期间,动态增加原来函数功能的一种函数;从本质上讲,装饰函数就是一个函数,它不能修改被装饰函数的源代码和调用方式;常见的工作场景有:为核心代码插入输出日志、测试核心代码、权限校验、网页设计,以及为多个函数添加同一个功能或者神经网络等

++++[迭代器]:Python语言中,for循环常用于遍历字符串、列表、字典等数据结构;这些数据结构都可以被称为可迭代对象;这是Python的一个重要特性;它是通过迭代器协议来实现的,迭代器协议是一种令对象可遍历的通用方式;(可以使用isinstance()函数判断一个对象是否是可迭代对象)

++++[生成器]:生成器(Generator)是一种特殊的迭代器,也是构造新的可迭代对象的一种非常简洁的方式;生成器是Python语言最吸引人的特性之一;除了生成器表达式,还可以在函数中使用关键字yield来生成生成器,在函数中将返回return替换为关键字yield即可

++++[关键字yield]:return只能返回一次函数,而关键字yield可以返回多次;关键字yield把函数变成生成器函数:当调用生成器函数时,函数只是返回了一个生成器对象,并没有被执行

++lambda匿名函数

++++立钻哥哥:匿名函数就是没有名字的函数;匿名函数使用lambda关键字定义;该关键字表明定义了一个匿名函数

lambda  arg1, arg2, ...:  expression

++++匿名函数没有return(返回),整个表达式的结果为匿名函数的返回值;匿名函数只能写在一行上,也被称为单行函数;匿名函数中不需要出现ifwhilefor等语句

++++匿名函数也是函数,但是与def定义的函数有一定的区别和联系;匿名函数简化了函数的定义,使得代码更简洁;对于一些小的计算任务,推荐使用匿名函数,而复杂的运算可以使用def定义函数;匿名函数可以转化为def定义的函数,方法是先把lambda中的参数列表变成def中的参数列表;再将lambda中的表达式变成def定义的函数体;最后给函数起一个名字

++++由于匿名函数使得代码更为简洁,因此在Python的各个细分领域被广泛使用

++Python中函数的编码规则

++++立钻哥哥:我们如何设计函数呢?面对问题时,如何把代码构建为函数?我们采用问题拆解法:先把总问题拆解为若干个构成部分;每个部分写成一个函数

++++每个函数都应该只负责一件事情,如果一个函数处理的事情比较多,则要考虑将其拆解为两个函数,然后用调用的方法实现;这样做的目的是把复杂任务分步骤完成;该方法的原则就是分解问题,且每个小问题只负责一件事情,每个小问题为一个函数

++++在Python中,每个函数都有自己的编码规则,具体如下:

----<1>函数名字尽量使用小写字母加下划线的形式,建议用完整的英文单词

----<2>注释函数的功能

----<3>形参的默认值,等号两边不能有空格

----<4>函数中的关键字实参,也不能有空格

----<5>注意区分函数的参数调用,如位置实参、关键字实参等

----<6>当程序中有两个函数时,空两行表示区分

----<7>所有import语句放在文件开头

++Python面向对象程序设计方法(OOP)

++++立钻哥哥:常用的程序设计方法有两种:结构化程序设计方法(Structured Programming)与面向对象程序设计方法(Object-Oriented Programming, OOP);在Python开发中,可以全部使用面向对象程序设计方法或面向结构化程序设计方法,也可以混合使用

++++[结构化程序设计方法]:结构化程序设计方法的主要思想是“自顶向下,逐步求精”;它主张按功能来分析系统需求;系统逐步细化为一个一个的小功能,所有功能组合为一个大的系统,因此它又叫面向功能的程序设计方法

++++[面向对象程序设计方法]:面向对象程序设计方法是从自然界中来的;在系统构造中,尽可能地利用人类的自然思维方式,强调以现实世界的事物(对象)为中心来认识问题、思考问题,并根据事物的本质特征,把它们抽象表示为系统中的类,然后由类创建对象;这使得软件系统的组件可以直接对应客观世界,并保持客观世界中事物及其相互关系的本来面貌;面向对象的特点就是,一切皆对象

++++[面向对象程序设计方法的三个基本特征]:封装性;继承性;多态性

----<1、封装性>:将类的实现细节隐藏起来,不允许外面程序直接访问,而是通过该类提供的接口方法实现对隐藏信息的操作和访问

----<2、继承性>:是面向对象实现的重要手段,子类继承父类,子类直接获得父类的属性和方法

----<3、多态性>:子类对象可以赋值给父类对象引用,运行时仍然表现出子类的行为特征,同一个类型的对象在执行同一个方法时,可能表现出不同的特征

++++[类(class)]:Python语言中,描述事物的特征被称为属性,而表示事物的行为被称为方法(也就是函数,在面向对象里面一切行为都是方法,没有函数),把两者合并一起就是Python语言的类;类就是用来描述具有相同属性和方法的事物的集合,即类具有相同的属性和方法

++++[对象(instance)]:Python语言中,对象就是类的一个具体事物

++++[类和对象的区别]:每一个对象都具备类中的属性和方法,但是具体的值可能不同;而类是一个模板,可以创建的对象个数没有限制;根据类创建对象的过程称为实例化;实例化以后对象就具备了类的属性和功能(方法)

++++[继承]:Python语言中,继承是一个类继承另一个类的所有属性和方法,其中继承的类为子类,被继承类的父类;子类虽然继承了父类中的所有属性和方法,但是还可以有自己的属性和方法

class  Father:

 

class  Child(Father):

++++[导入类]:Python中,类可以被存放在模块中,然后在主程序中直接调用;也就是把类定义单独放在一个文件或模块中,然后通过语法为“import 类名 或者 from模块名字 import类名”方法调用

++Python库

++++立钻哥哥:Python中的库分为标准库和第三方库(模块)两类;Python拥有一个强大的标准库;Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而Python标准库提供了系统管理、网络通信、文本处理、图形系统、XML处理等额外的功能

++++Python社区提供了大量的第三方库,一般需要单独安装;著名第三方库有三个:DjangomatplotlibNumPy

----<Django>:是开源的Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短

----<matplotlib>:是用Python实现的类MATLAB的第三方库,用以绘制一些高质量的数学二维图形

----<NumPy>:是基于Python的科学计算第三方库,提供了矩阵、线性代数、傅里叶变换等的解决方案

#第三篇:Python入门篇

#第三篇:Python入门篇

#第三篇:Python入门篇

++++立钻哥哥:伴随着大数据和人工智能的兴起,Python这门“古老”的语言重新焕发出耀眼的光彩;实际上Python一直是一门优秀的编程语言,不仅简洁、易用,而且功能强大,它能做到的事情太多了,既可用于开发桌面应用,也可用于做网络编程,还可用于开发Web应用,... ,可能正因为它能做到的方面太多,反而显得没有特别突出的一面

++++C.1、Python概述

++++C.2、Python类和对象

++++C.3、Python模块和包

++++C.4、Python的GUI库

++++C.5、Python网络编程

++++C.6、Python数据可视化

++++C.7、Python网络爬虫

++++C.8、立钻哥哥带您Python进阶

++C.1、Python概述

++C.1、Python概述

++C.1、Python概述

++++立钻哥哥:目前,由于大数据、人工智能(AI)的流行,Python变得比以往更加流行;Python是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完整的通用型语言

++++C.1.1、Python特点

++++C.1.2、Python简单语法

++++C.1.3、Python流程控制

++++C.1.4、Python函数

++++C.1.5、立钻哥哥带您夯实Python基础

++C.1.1、Python特点

++C.1.1、Python特点

++C.1.1、Python特点

++++立钻哥哥:Python是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言;解释型语言几乎天然是跨平台的

++++Python下载:https://python.org/downloads/

【XR游戏开发QQ群:784477094

++立钻哥哥推荐的拓展学习链接(Link_Url)

立钻哥哥推荐的拓展学习链接(Link_Url)

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++虚拟现实VR资讯: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846

++++HTC_VIVE开发基础https://blog.csdn.net/VRunSoftYanlz/article/details/81989970

++++Oculus杂谈https://blog.csdn.net/VRunSoftYanlz/article/details/82469850

++++Oculus安装使用https://blog.csdn.net/VRunSoftYanlz/article/details/82718982

++++Unity+SteamVR=>VRhttps://blog.csdn.net/VRunSoftYanlz/article/details/88809370

++++Unity减少VR晕眩症https://blog.csdn.net/VRunSoftYanlz/article/details/89115518

++++SteamVR简介https://blog.csdn.net/VRunSoftYanlz/article/details/86484254

++++SteamVR脚本功能分析https://blog.csdn.net/VRunSoftYanlz/article/details/86531480

++++SteamVR2.0开发指南https://blog.csdn.net/VRunSoftYanlz/article/details/86618187

++++SteamVR2.2.0开发指南https://blog.csdn.net/VRunSoftYanlz/article/details/88784527

++++SteamVR2.2.0快速入门https://blog.csdn.net/VRunSoftYanlz/article/details/88833579

++++SteamVR2.2.0交互系统https://blog.csdn.net/VRunSoftYanlz/article/details/89199778

++++SteamVR2.2.0传送机制https://blog.csdn.net/VRunSoftYanlz/article/details/89390866

++++SteamVR2.2.0教程(一)https://blog.csdn.net/VRunSoftYanlz/article/details/89324067

++++SteamVR2.2.0教程(二)https://blog.csdn.net/VRunSoftYanlz/article/details/89894097

++++SteamVR_Skeleton_Poserhttps://blog.csdn.net/VRunSoftYanlz/article/details/89931725

++++SteamVR实战之PMCorehttps://blog.csdn.net/VRunSoftYanlz/article/details/89463658

++++SteamVR/Extrashttps://blog.csdn.net/VRunSoftYanlz/article/details/86584108

++++SteamVR/Inputhttps://blog.csdn.net/VRunSoftYanlz/article/details/86601950

++++OpenXR简介https://blog.csdn.net/VRunSoftYanlz/article/details/85726365

++++VRTK杂谈https://blog.csdn.net/VRunSoftYanlz/article/details/82562993

++++VRTK快速入门(杂谈)https://blog.csdn.net/VRunSoftYanlz/article/details/82955267

++++VRTK官方示例(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82955410

++++VRTK代码结构(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82780085

++++VRTK(SceneResources)https://blog.csdn.net/VRunSoftYanlz/article/details/82795400

++++VRTK_ControllerEventshttps://blog.csdn.net/VRunSoftYanlz/article/details/83099512

++++VRTK_InteractTouchhttps://blog.csdn.net/VRunSoftYanlz/article/details/83120220

++++虚拟现实行业应用https://blog.csdn.net/VRunSoftYanlz/article/details/88360157

++++Steam平台上的VRhttps://blog.csdn.net/VRunSoftYanlz/article/details/88960085

++++Steam平台热销VRhttps://blog.csdn.net/VRunSoftYanlz/article/details/89007741

++++VR实验:以太网帧的构成https://blog.csdn.net/VRunSoftYanlz/article/details/82598140

++++实验四:存储器扩展实验https://blog.csdn.net/VRunSoftYanlz/article/details/87834434

++++FrameVR示例V0913https://blog.csdn.net/VRunSoftYanlz/article/details/82808498

++++FrameVR示例V1003https://blog.csdn.net/VRunSoftYanlz/article/details/83066516

++++SwitchMachineV1022https://blog.csdn.net/VRunSoftYanlz/article/details/83280886

++++PlaySceneManagerV1022https://blog.csdn.net/VRunSoftYanlz/article/details/83280886

++++Unity5.x用户手册https://blog.csdn.net/VRunSoftYanlz/article/details/81712741

++++Unity面试题ABChttps://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++Unity面试题Dhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630838

++++Unity面试题Ehttps://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity面试题Fhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630945

++++Cocos2dx面试题https://blog.csdn.net/VRunSoftYanlz/article/details/78630967

++++禅道[zentao]https://blog.csdn.net/VRunSoftYanlz/article/details/83964057

++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818

++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502

++++Lua快速入门篇(基础概述)https://blog.csdn.net/VRunSoftYanlz/article/details/81041359

++++框架知识点https://blog.csdn.net/VRunSoftYanlz/article/details/80862879

++++游戏框架(UI框架夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80781140

++++游戏框架(初探篇)https://blog.csdn.net/VRunSoftYanlz/article/details/80630325

++++.Net框架设计https://blog.csdn.net/VRunSoftYanlz/article/details/87401225

++++从零开始学架构https://blog.csdn.net/VRunSoftYanlz/article/details/88095895

++++设计模式简单整理https://blog.csdn.net/vrunsoftyanlz/article/details/79839641

++++专题:设计模式(精华篇)https://blog.csdn.net/VRunSoftYanlz/article/details/81322678

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++Unity小游戏算法分析https://blog.csdn.net/VRunSoftYanlz/article/details/87908365

++++Unity案例(Vehicle)https://blog.csdn.net/VRunSoftYanlz/article/details/82355876

++++UML类图https://blog.csdn.net/vrunsoftyanlz/article/details/80289461

++++PowerDesigner简介https://blog.csdn.net/VRunSoftYanlz/article/details/86500084

++++Unity知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++Unity知识点0008https://blog.csdn.net/VRunSoftYanlz/article/details/81153606

++++U3D_Shader编程(第一篇:快速入门篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372628

++++Unity引擎基础https://blog.csdn.net/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发https://blog.csdn.net/vrunsoftyanlz/article/details/78881752

++++Unity物理系统https://blog.csdn.net/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发https://blog.csdn.net/vrunsoftyanlz/article/details/78882034

++++UGUI基础https://blog.csdn.net/vrunsoftyanlz/article/details/78884693

++++UGUI进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78884882

++++UGUI综合https://blog.csdn.net/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础https://blog.csdn.net/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统https://blog.csdn.net/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染https://blog.csdn.net/vrunsoftyanlz/article/details/78886403

++++Unity数据存储https://blog.csdn.net/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库https://blog.csdn.net/vrunsoftyanlz/article/details/79254162

++++WWW类和协程https://blog.csdn.net/vrunsoftyanlz/article/details/79254559

++++Unity网络https://blog.csdn.net/vrunsoftyanlz/article/details/79254902

++++Unity资源加密https://blog.csdn.net/VRunSoftYanlz/article/details/87644514

++++PhotonServer简介https://blog.csdn.net/VRunSoftYanlz/article/details/86652770

++++编写Photon游戏服务器https://blog.csdn.net/VRunSoftYanlz/article/details/86682935

++++C#事件https://blog.csdn.net/vrunsoftyanlz/article/details/78631267

++++C#委托https://blog.csdn.net/vrunsoftyanlz/article/details/78631183

++++C#集合https://blog.csdn.net/vrunsoftyanlz/article/details/78631175

++++C#泛型https://blog.csdn.net/vrunsoftyanlz/article/details/78631141

++++C#接口https://blog.csdn.net/vrunsoftyanlz/article/details/78631122

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类https://blog.csdn.net/vrunsoftyanlz/article/details/78630945

++++C#数据类型https://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键https://blog.csdn.net/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写https://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++UnityAPI.Rigidbody刚体https://blog.csdn.net/VRunSoftYanlz/article/details/81784053

++++UnityAPI.Material材质https://blog.csdn.net/VRunSoftYanlz/article/details/81814303

++++UnityAPI.Android安卓https://blog.csdn.net/VRunSoftYanlz/article/details/81843193

++++UnityAPI.AndroidJNI安卓JNIhttps://blog.csdn.net/VRunSoftYanlz/article/details/81879345

++++UnityAPI.Transform变换https://blog.csdn.net/VRunSoftYanlz/article/details/81916293

++++UnityAPI.WheelCollider轮碰撞器https://blog.csdn.net/VRunSoftYanlz/article/details/82356217

++++UnityAPI.Resources资源https://blog.csdn.net/VRunSoftYanlz/article/details/83155518

++++JSON数据结构https://blog.csdn.net/VRunSoftYanlz/article/details/82026644

++++CocosStudio快速入门https://blog.csdn.net/VRunSoftYanlz/article/details/82356839

++++Unity企业内训(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82634668

++++Unity企业内训(第1讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82634733

++++Unity企业内训(第2讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82861180

++++Unity企业内训(第3讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82927699

++++Unity企业内训(第4讲)https://blog.csdn.net/VRunSoftYanlz/article/details/83479776

++++Unity企业内训(第5讲)https://blog.csdn.net/VRunSoftYanlz/article/details/83963811

++++Unity企业内训(第6讲)https://blog.csdn.net/VRunSoftYanlz/article/details/84207696

++++钻哥带您了解产品原型https://blog.csdn.net/VRunSoftYanlz/article/details/87303828

++++插件<Obi Rope>https://blog.csdn.net/VRunSoftYanlz/article/details/83963905

++++计算机组成原理(教材篇)https://blog.csdn.net/VRunSoftYanlz/article/details/82719129

++++5G接入:云计算和雾计算https://blog.csdn.net/VRunSoftYanlz/article/details/88372718

++++云计算通俗讲义https://blog.csdn.net/VRunSoftYanlz/article/details/88652803

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

--_--VRunSoft:lovezuanzuan--_--

发布了130 篇原创文章 · 获赞 149 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/VRunSoftYanlz/article/details/101393069