模块使用
模块是Python组织代码的基本方式。
一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)。
所有的.py文件都可以作为一个模块导入
模块名与脚本的文件名相同
例如我们编写了一个名为hello.py的脚本,则可以在另一个脚本中用import hello语句来导入它。
实例:
[root@centos7-3 python]# cat add.py
#!/usr/bin/python
def addNum(x,y):
return x + y
print addNum(10,10)
[root@centos7-3 python]# cat fun.py
#!/usr/bin/python
import add
print add.addNum(5,4)
执行:
[root@centos7-3 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
[root@centos7-3 python]# pwd
/root/python
[root@centos7-3 python]# touch init.py
计算字符数、单词数、行数
[root@centos7-3 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)
[root@centos7-3 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