《中谷教育Python视频教程》讲的是Python开发的入门教程,它将介绍Python语言的特点和适用范围,Python基本的数据类型,条件判断和循环,函数,以及Python特有的切片和列表生成式。希望本python教程能够让您快速入门并编写简单的Python程序。

课程播放地址:http://www.gxlcms.com/course/501.html

该老师讲课风格:

教师讲课深入浅出,条理清楚,层层剖析,环环相扣,论证严密,结构严谨,用思维的逻辑力量吸引学生的注意力,用理智控制课堂教学进程。学生通过听教师的讲授,不仅学到知识,也受到思维的训练,还受到教师严谨的治学态度的熏陶和感染

本视频中较为难点是面向对象-类和对象了:

Python中一切都是对象。类提供了创建新类型对象的机制。这篇教程中,我们不谈类和面向对象的基本知识,而专注在更好地理解Python面向对象编程上。假设我们使用新风格的python类,它们继承自object父类。

定义类

class 语句可以定义一系列的属性、变量、方法,他们被该类的实例对象所共享。下面给出一个简单类定义:class Account(object):

num_accounts = 0

def __init__(self, name, balance):

self.name = name

self.balance = balance

Account.num_accounts += 1

def del_account(self):

Account.num_accounts -= 1

def deposit(self, amt):

self.balance = self.balance + amt

def withdraw(self, amt):

self.balance = self.balance - amt

def inquiry(self):

return self.balance

类定义引入了以下新对象:

类对象

实例对象

方法对象

类对象

程序执行过程中遇到类定义时,就会创建新的命名空间,命名空间包含所有类变量和方法定义的名称绑定。注意该命名空间并没有创建类方法可以使用的新局部作用域,因此在方法中访问变量需要全限定名称。上一节的Account类演示了该特性;尝试访问num_of_accounts变量的方法需要使用全限定名称Account.num_of_accounts,否则,如果没有在__init__方法中使用全限定名称,会引发如下错误:class Account(object):

num_accounts = 0

def __init__(self, name, balance):

self.name = name

self.balance = balance

num_accounts += 1

def del_account(self):

Account.num_accounts -= 1

def deposit(self, amt):

self.balance = self.balance + amt

def withdraw(self, amt):

self.balance = self.balance - amt

def inquiry(self):

return self.balance

>>> acct = Account('obi', 10)

Traceback (most recent call last):

File "python", line 1, in

File "python", line 9, in __init__

UnboundLocalError: local variable 'num_accounts' referenced before assignment

类定义执行的最后,会创建一个类对象。在进入类定义之前有效的那个作用域现在被恢复了,同时类对象被绑定到类定义头的类名上。

先偏离下话题,你可能会问如果创建的类是对象,那么类对象的类是什么呢?。与一切都是对象的python哲学一致,类对象确实有个类,即python新风格类中的type类。>>> type(Account)

让你更迷惑一点,Account类型的类型是type。type类是个元类,用于创建其他类,我们稍后教程中再介绍。

类对象支持属性引用和实例化。属性通过标准的点语法引用,即对象后跟句点,然后是属性名:obj.name。有效的属性名是类对象创建后类命名空间中出现的所有变量和方法名。例如:>>> Account.num_accounts

>>> 0

>>> Account.deposit

>>>

类实例化使用函数表示法。实例化会像普通函数一样无参数调用类对象,如下文中的Account类:>>> Account()

类对象实例化之后,会返回实例对象,如果类中定义了__init__方法,就会调用,实例对象作为第一个参数传递过去。这个方法会进行用户自定义的初始化过程,比如实例变量的初始化。Account类为例,账户name和balance会被设置,实例对象的数目增加1。

实例对象

如果类对象是饼干切割刀,饼干就是实例化类对象的结果。实例对象上的全部有效操作为对属性、数据和方法对象的引用。

方法对象

方法对象和函数对象类似。如果x是Account类的实例,x.deposit就是方法对象的例子。方法定义中有个附加参数,self。self指向类实例。为什么我们需要把实例作为参数传递给方法?方法调用能最好地说明:>>> x = Account()

>>> x.inquiry()

10

实例方法调用时发生了什么?你应该注意到x.inquiry()调用时没有参数,虽然方法定义包含self参数。那么这个参数到底发生了什么?

特殊之处在于方法所作用的对象被作为函数的第一个参数传递过去。在我们的例子中,对x.inquiry()的调用等价于Account.f(x)。一般,调用n参数的方法等同于将方法的作用对象插入到第一个参数位置。

中谷教育python精讲_中谷教育Python视频教程资源推荐相关推荐

  1. 中谷教育python精讲_中谷教育Python视频(课件、源码)推荐

    <中谷教育Python视频教程>讲的是Python开发的入门教程,它将介绍Python语言的特点和适用范围,Python基本的数据类型,条件判断和循环,函数,以及Python特有的切片和列 ...

  2. 中谷教育python精讲_中谷教育Python视频教程

    中谷教育Python视频教程 2020-05-08 13:03 ¥6 内容简介 中谷教育Python视频教程,讲解了python的基础语法知识,包含元组.列表.字典.流程控制.函数等内容.比较全面且基 ...

  3. 疯狂python精讲,00后入门Python的首选!

    相信很多80 90后都听说过疯狂英语,现在专属00后的疯狂Python也来啦!提起Python,大家肯定不陌生,但是疯狂Python是什么? 疯狂Python,是有百万销量图书之称的李刚老师继< ...

  4. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  5. 大学生数学竞赛习题精讲_陈兆斗

    大学生数学竞赛习题精讲_陈兆斗 链接: https://pan.baidu.com/s/1ctyZqmD-6VFgILBM0DiTcg 提取码: i76s 复制这段内容后打开百度网盘手机App,操作更 ...

  6. python编程基础_月隐学python第2课

    python编程基础_月隐学python第2课 学习目标 掌握变量的输入和输出 掌握数据类型的基本概念 掌握算数运算 1.变量的输入和输出 1.1 变量输入 使用input输入 input用于输入数据 ...

  7. 查看Python的版本_查看当前安装Python的版本

    一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...

  8. 站长在线Python精讲:在Python中函数的调用详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中函数的调用详解>.本文的主要内容有:调用函数的基本语法和调用自定义函数的实例讲解. 目录 1.调用函数的基本 ...

  9. 站长在线Python精讲:Python中函数的返回值

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中函数的返回值>.本文的主要内容有:函数的返回值的含义.函数设置返回值的作用.return语句位置与多条 ret ...

最新文章

  1. 提高mysql千万级大数据SQL查询优化30条经验
  2. python代码优化无限营销软件工作室_这个教程价值有点高,利用Python制作全自动化营销软件!...
  3. centos7盘符 linux_linux_centos7_扩展磁盘空间
  4. 网页小菜单动画 网格分类菜单特效源码
  5. mysql新密码认证_MySQL原生密码认证
  6. AJPFX浅谈关于Java程序员缺乏面向对象的基本功的问题
  7. jquery bind button 点击事件
  8. 文字阴影(HTML、CSS)
  9. 蓝桥杯2021年第十二届C++省赛第一题-空间
  10. Android基于高德地图poi的仿微信获取位置
  11. 远程接入CBTS的应用
  12. 【Multisim】关于Multisim仿真“运放积分器”出现的问题以及解决方法
  13. Solidworks介绍与 solidwords 2018安装过程
  14. 软件测试工程师工作总结
  15. 号称最好的国产操作系统在 Windows 10 面前能否一战?
  16. xp,linux双系统,如何在XP下安装linux实现双系统!
  17. Win10-64位上编译CodeLite13.0.0源码
  18. 哪些公司在为制造业企业提供智能工厂解决方案?
  19. 华为云yum镜像源超慢改用阿里云镜像遇坑解决方法
  20. 艺赛旗RPA验证码处理系列(一):解决滑动加文字识别验证码

热门文章

  1. if、while、for及break、continue终止循环操作
  2. 实战:Dockerfile构建镜像-2022.2.28
  3. php面向对象的基础题
  4. 个人python学习-Day7面向对象基础(上)
  5. AE 2015 轨道遮罩在哪?
  6. logback 日志打印,彩色日志
  7. 3D空间中的AABB(轴向平行包围盒, Aixe align bounding box)的求法
  8. BOW航世HB098S蓝牙键盘使用说明书
  9. html中iOS的图标问题apple-touch-icon等
  10. ES6中遍历对象属性的方法