1.模块使用
模块:
- 模块式pyth1.on组织代码的基本方式
- 一个python脚本可以单独运行,也可以导入另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)
- 所有的点p为文件都可以作为一个模块导入
- 模块名与脚本的文件名相同,例如我们编写了一个名为hello.pv的脚本则可以在另一个脚本中用import hello.py来导入它
包:
python的模块可以按目录组织为包
创建一个包的步骤:
创建一个名字为包名字的目录,在该目录下创建一个__init__.py文件,根据需要在该目录下存放脚本文件或已编译的扩展及子包
语法:
import pack.m1,pack.m2,pack.m3
sys.path
举例:
In [1]: import sys
In [2]: sys.path
Out[2]:
['',
'/usr/bin',
'/usr/lib64/python27.zip',
'/usr/lib64/python2.7',
'/usr/lib64/python2.7/plat-linux2',
'/usr/lib64/python2.7/lib-tk',
'/usr/lib64/python2.7/lib-old',
'/usr/lib64/python2.7/lib-dynload',
'/usr/lib64/python2.7/site-packages',
'/usr/lib64/python2.7/site-packages/gtk-2.0',
'/usr/lib/python2.7/site-packages',
'/usr/lib/python2.7/site-packages/IPython/extensions',
'/root/.ipython']
vim /root/.bashrc
最后加个export PYTHONPATH=/root/library
成功加入到Python环境变量中
In [1]: import sys
In [2]: sys.path
Out[2]:
['',
'/usr/bin',
'/root/library',
'/usr/lib64/python27.zip',
'/usr/lib64/python2.7',
'/usr/lib64/python2.7/plat-linux2',
'/usr/lib64/python2.7/lib-tk',
'/usr/lib64/python2.7/lib-old',
'/usr/lib64/python2.7/lib-dynload',
'/usr/lib64/python2.7/site-packages',
'/usr/lib64/python2.7/site-packages/gtk-2.0',
'/usr/lib/python2.7/site-packages',
'/usr/lib/python2.7/site-packages/IPython/extensions',
'/root/.ipython']
可被其他脚本调用的脚本:
#!/usr/bin/env python
#
def wordCount(s):
chars = len(s)
words = len(s.split())
lines = s.count('\n')
print lines,words,chars
if __name__=='__main__': #设置后,本脚本内的函数可被其他脚本调用test.py
s = open('/etc/passwd').read()
wordCount(s)
#
[[email protected] 20180109]# python words.py
27 52 1324
[[email protected] 20180109]# wc /etc/passwd
27 52 1324 /etc/passwd
test.py中导入words.py:
[[email protected] 20180109]# cat test.py
#!/usr/bin/env python
import words
#
s="""hello world python"""
words.wordCount(s)
[[email protected] 20180109]# python test.py
27 52 1324
[[email protected] 20180109]# ls
test.py words.py words.pyc ###调用words后自动生成编译的文件。
模块和包:
模块是一个可以导入的脚本文件
包是一些按目录组织的模块和子包,目录下有__init__.py文件,此文件可以存放包的信息。
导入模块和包的语法:
import,import as
from ... import ...
起个别名:
2.面向对象介绍
类和对象:是面向对象中两个重要概念
类:是对象对事物的抽象,比如人类\球类
对象:是类的一个实例,比如足球\篮球
实例说明:
球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来
为什么面向对象?
面向对象的主要思想是
- 封装
- 继承
- 多态
这种思想方面解决较为复杂的项目,而且维护起来较为容易
Python类定义
类定义:
类把需要的变量和函数组合成一起,这种包含称为"封装",
class A(object):
类的结构:
class 类名
成员变量-属性
成员函数-方法
类的创建
class MyClass(object):
def fun(self):
print ("i am function")
类的方法中至少有一个参数self
类脚本举例:
class People(object):
color = 'yellow'
def think(self):
self.color = "black"
print "I am a %s " % self.color
print ("I am a thinker")
ren = People()
print ren.color
ren.think()
原文地址:http://blog.51cto.com/fengyunshan911/2059254