模块使用面向对象介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块使用面向对象介绍相关的知识,希望对你有一定的参考价值。

模块使用

模块是Python组织代码的基本方式。
一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)。
所有的.py文件都可以作为一个模块导入
模块名与脚本的文件名相同
例如我们编写了一个名为hello.py的脚本,则可以在另一个脚本中用import  hello语句来导入它。

实例:
[[email protected] python]# cat add.py
#!/usr/bin/python
def addNum(x,y):
return x + y
print addNum(10,10)

[[email protected] python]# cat fun.py
#!/usr/bin/python
import add
print add.addNum(5,4)

执行:
[[email protected] python]# python fun.py
20
9

执行fun.py后的结果将add.py里的结果(20)打印出来了,现在只想要fun.py执行的结果,操作如下:
添加判断:如果是主函数则执行,add.py就是主函数

技术分享图片

技术分享图片

结果:
技术分享图片

Python的模块可以按目录组织为包
创建一个包的步骤:
    - 创建一个名字为包名的目录
    - 在该目录下创建一个__init__.py文件
    - 根据需要,在该目录下存放脚本文件或已编译的扩展及子包
    - import pack.m1, pack.m2, pack.m3

实例:
1、创建init.py
[[email protected] python]# pwd
/root/python

[[email protected] python]# touch init.py

计算字符数、单词数、行数
[[email protected] fun]# cat word.py
#!/usr/bin/python
def wordCount(s):
chars=len(s) #计算字符数
words=len(s.split()) #计算单词数
lines=s.count(‘\n‘) #计算行数
print chars,words,lines

if name == ‘main‘:
s=open(‘/etc/passwd‘).read()
wordCount(s)

[[email protected] fun]# python word.py
1188 47 24

传入fun的包
In [3]: from fun import word

In [4]: ls fun/
fun.sh init.py init.pyc word.py word.pyc

In [5]: word.wordCount(‘asdaaaaaaaaaaaaaa‘)

面向对象介绍

1、面向过程和面向对象编程

  • 面向过程编程:函数式编程,C程序等
  • 面向对象编程:C++,Java,Python等,若是碰到大的项目,用类表示,对象就是类的实例,类里有很多的方法(函数),如果需要调用,就必须将类实例化
    2、类和对象:是面向对象中的两个重要概念
  • 类:是对事物的抽象,比如:人类、球类
  • 对象:是类的一个实例,比如:足球、篮球
    实例说明:
  • 球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球实体出来。

面向对象的主要思想是:

  • 封装
  • 继承
  • 多态
    这种思想方便解决较为复杂的项目,且维护起来较为容易。

3、类定义:
类把需要的变量和函数组合成一起,这种包含称为“封装”
class A(object):
类的结构:
class 类名:
成员变量 – 属性
成员函数 – 方法

实例:

class People(object):  #定义一个类
    coler=‘yellow‘
    def fun(self):     #定义类的方法(函数)
        self.coler=‘black‘ #定义一个变量(属性)
        print ‘I am a %s‘ %(self.coler)


pe=People()                 #对类实例化,才能调用类
print pe.coler              #打印出类的属性
pe.fun()                     #打印出类的方法

结果:

yellow
I am a black

以上是关于模块使用面向对象介绍的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

面向对象编程

什么是面向对象编程

python------面向对象介绍之多态实例

js面向对象的三大特性