python语法学习之函数、类、模块

Python中通过使用类(class)和对象(object)来实现面向对象(object-oriented programming,简称OOP)的编程。

面向对象编程的最主要目的是提高程序的重复使用性,这和函数的目的相类似。

一:函数

  如果你需要在程序中重用代码,---------定义函数。 def 函数名(参数)://todo

  如:

  输出:

也可以将函数的参数定义为默认参数,注:默认参数一般放参数的最后,如:

  

输出:

二:类

类的定义应该是放在面向对象的标题里,但是我们一般函数定义在类里面,从这个范围来说,我在这记录了类。

类和对象是面向对象编程的两个主要方面。类:创建一个新类型,而对象是这个类的实例,类使用class关键字创建。类的域和方法被列在一个缩进块中。

注意:在python语言中,不管什么类型的实例都被看做对象,如整数也被作为对象看待,它属于int类,这和其他语言c++,java把整数纯粹作为类型是不同的。

”域“的概念:

属于一个对象或类的变量被称为域,其实就是类里面定义的变量

——类的变量和对象的变量

1类的变量:由一个类的所有对象(实例)共享使用,只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。我理解为:其实它就是一个类的全局变量,类实例化后的对象都可以调用该变量。

2:对象的变量: 由类的每个对象/实例拥有。因此每个对象有自己对这个域的一份拷贝,即它们不是共享的,在同一个类的不同实例中,虽然对象的变量有相同的名称,但是是互不相关的。我理解的是:不同的对象调用该变量,其值改变后互不影响,跟C#的语法一样,我还因为不理解第一点纠结了半天 !

属于类级别的变量,在使用它的时候一定要带上类型名字 比如 MyClass.count

属于每个对象级别的变量,在调用的时候一定要带上self表明属于当前对象。self.name

如:

输出:

 

域(变量)和方法(函数)可以合称为类的属性

类的方法

类的方法普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不用为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。(类似于c#的this指针)

如:

__init__方法:属于python语言的构造函数,一个类只能有一个__init__方法

__del__方法属于python语言的析构函数,它在对象消逝的时候被调用。

当对象不再被使用时,__del__方法运行,但是很难保证这个方法究竟在 什么时候 运行。如果你想要指明它的运行,你就得使用del语句

三:模块

模块:如果你想要在其他程序中重用很多函数--------定义模块。其实就是很多的类型,很多的方法集合在一个或多个文件中,通过import ** 载入,类似于c#中的dll

模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须.py为扩展名。

注意:每个模块都有自己的名称__name__,__name__作为模块的内置属性,它的作用就是检测.py文件的调用方式,然后根据__name__做出相应的处理。

模块有两种调用方式:1:被import载入调用  2:直接使用

如果模块直接执行,__name__="__main__";  通常,此语句用于模块测试中使用。

例如:定义一模块名字为MyModule.py

直接运行输出:

通过其他模块调用:

调用模块代码:

间接调用运行输出:

导入部分类,函数及变量,可以使用from...import...   例如 from MyModule import ModuleClass

时间: 2024-08-27 08:19:11

python语法学习之函数、类、模块的相关文章

转 python语法学习面向对象之继承

传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始化方法__init__,可以理解为构造,self,理解为this,等等在前一篇文章中介绍过,现在就学习类的继承. 继承: 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制.继承完全可以理解成类之间的类型和子类型关系. 需要注意的地方:继承语法   class 派生类

python入门学习:8.类

python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 ??面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象.根据类来创建对象被称为实例化,这让你能够使用类.8.1.1 创建dog类??下面创建一个dog类: 1calss Dog(): 2 3    def __init__(self,name,age): 4        self.name = n

怒学Python——第四篇——函数与模块

Python的函数:其实和C++非常类似,不过由于是弱类型的语言(用起来感觉是......),把那些类型声明都去掉了,传的是值不是引用(至少2.7是),有一点点小区别是前面必须加def来定义(好像宏定义的样子......),下面给出示例 def sum(a, b): #sum为函数名,注意冒号...... c = a + b #这一部分是函数的语句块 return c #到这里函数就结束了,和C++一样 print sum(1, 2) #根据函数名调用函数,输出1+2的值 这里也有lambda函

python 语法学习

同时给x,y,z赋值: x,y,z=1,2,3 x值与y的值交换 x,y=y,x python 语法学习

006 python语法_002 函数/类/模块

''' 时间:2018/10/11 目录: 一: 函数 1 定义函数 2 空函数 3 参数 - 检查 4 参数 - 返回多个值 5 参数 - 默认参数 二: 类 1 语法1 2 语法2 三: 模块 1 ''' 一: 函数 1 定义函数 #coding:utf-8 def myAbs(nNum): if nNum >= 0: return nNum else: return -nNum nNum = myAbs(33) print(nNum) nNum = myAbs(-33) print(nNu

Python基础知识之函数、模块

1.Python模块. Python一个.py后缀的文件,称为模块.Python模块可以包含变量.函数.类,同时类中又可以定义变量和函数. 2.Python模块导入. (1) Python模块全部导入方式:from 模块名 import * (2) Python模块按需导入方式:from 模块名 import 函数名/类名 3.函数.常用函数如下. str(o):将数字转化为字符串函数, int(o):将字符串转化为数字函数. format():字符串格式化函数. replace:字符串替换函数

python语法学习笔记

函数的参数 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解. Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码. 位置参数 我们先写一个计算x2的函数: def power(x): return x * x

PYTHON基础学习日志DAY5-time &datetime模块

在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平台可能有所不同.UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间.在中国为UTC+8.DST(Daylight Saving Time)即夏令时.时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算

python 语法 内置函数 hasattr getattr setattr dir

参考: https://docs.python.org/3/library/functions.html?highlight=hasattr#getattr 例子1:针对类TestA 做属性操作 class TestA: def fun_1(self): print "fun_1" def fun_2(self): print "fun_2" def fun_2(): print "fun_3" test_a = TestA() print ha