Tensorflow学习笔记 -Python 语法学习笔记三之模块,包,变量

模块

√模块(module):是一个 Python 文件,以.py 结尾,包含了 Python 函数等语
句。先导入,再使用,用模块.函数名调用。
import time
time.asctime ( )
输出:‘Tue Jan 16 21:51:06 2018’

√包:包含有多个模块 from PIL import Image

变量作用域

局部变量:在函数中定义的变量,只在函数中存在,函数执行结束不可再用。
全局变量,在函数前定义的变量,一般在整个代码最前面定义,全局可用。

类、对象和面向对象的编程

√1、类(class):

用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。物以类聚人以群分,类 是可实例化出对象的模具。

√2、实例化:

对象 = 类 () t = turtle.Pen()

√3、对象:

是类实例化出的实体,对象实实在在存在,完成具体工作。

√4、面向对象:

程序员反复修改优化类,类实例化出对象,对象调用类里的函
数执行具体的操作。
在这里插入图片描述
在上图中,有动物、哺乳动物和猫。 动物是一个类,他们具有共同的功能:呼吸、移动和吃东西。乳动物也是一个类,他们是动物类里的子类,是在动物类的基础上多了喂奶的功能。猫是哺乳动物类的一个子类,猫类在哺乳动物的基础上多了捉老鼠的功能。类命名时第一个字母常大写,比如 Animals、Mammals 和 Cats 的首字母都大写了。这些类的右侧列出了每个类具有的功能:比如呼吸、移动和吃东西是动物这个类具备的功能,在计算机中用函数的形式表示。喂奶是哺乳动物的功能,是哺乳动物这个类里的函数。捉老鼠是猫类具有的功能,是猫类的函数。

√上面的类是下面类的父类;下面类是上面类的子类
√子类实例化出来的对象,可以使用自身和父类的函数与变量

√5、类的定义:

class 类名 (父类名) : pass
如果有父类,写在类名后面的括号里;如果没有父类,可以不写括号了。用关
键词 pass 占个位置,之后再用具体函数把类补充完整。

扫描二维码关注公众号,回复: 11168671 查看本文章
举例:class Animals:
 pass
class Mammals(Animals):
 pass
class Cats(Mammals):
 pass

√6、类里定义函数时,语法规定第一个参数必须是 self 。

√7、 __init__函数,

在新对象实例化时会自动运行,用于给新对象赋初值。
在这里插入图片描述

(1)将猫类实例化出一个叫 kitty 的对象,kitty 有自己的特征属性,比如身上有 10 个斑点:
kitty = Cats(10) #实例化时运行__init__函数,给 spots 赋值,告知 kitty 有 10 个斑点print ”kitty.spots” #打印出 10
(2)kitty 可以做具体的工作,比如捉老鼠:kitty.catch_mouse() #对象运行函数,必须用对象.函数名,调用类里的函数 #会运行 print ”catch mouse” 故打印出 catch mouse

√8、对象调用类里的函数,用对象.函数名;

√9、对象调用类里的变量,用对象.变量名。

√10、类内定义函数时,

如调用自身或父类的函数与变量,须用 self.引导,
应写为 self.函数名或 self.变量名。
在这里插入图片描述

代码验证:

在这里插入图片描述

补充:
Python 中虽然没有访问控制的关键字,例如 private、protected 等等。但 是,在 Python 编码中,有一些约定来进行访问控制。 单下划线、双下划线、头尾双下划线说明: _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能 允许其本身与子类进行访问,不能用于 from module import * __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类 本身进行访问了。 __foo__: 头尾双下划线定义的是特列方法,类似 __init__() 之类的。

原创文章 34 获赞 55 访问量 5204

猜你喜欢

转载自blog.csdn.net/qq_41880787/article/details/105684525