Python模块(进阶3)
转载请标明出处:
http://www.cnblogs.com/why168888/p/6411917.html本文出自:【Edwin博客园】
Python模块(进阶3)
1. python中模块和包的概念
代码越来越多的时候
- 将所有代码放入一个py文件:无法维护
- 如果将代码分拆放入多个py文件,好处:
同一个名字的变量互不影响
引用其他模板
# test.py # 自身模块名test
import math # 引用math模块
print math.pow(2,10) # 调用math模块的函数
模块多了以后,也容易重名
解决:
同名的模块放入不同的包中
引用完整的模块
# test.py # 自身模块名test
import p1.util # 引用p1.util模块
print p1.util.f(2,10) # 调用p1.util模块的f函数
在文件系统中
- 包就是文件夹
- 模块就是xxx.py文件
- 包也可以有多级
如何区别包和普通的目录
- 包下面有__init__.py
- 注意每层都必须要有!
2. python之导入模块
要使用一个模块,我们必须首先导入该模块。Python使用import语句导入一个模块。
# -*- coding: utf-8 -*-
import math, logging
print math.log(10) # 调用的是math的log函数
logging.log(10, 'something') # 调用的是logging的log函数
使用别名from...import log as logger
# -*- coding:utf-8 -*-
from math import log
from logging import log as logger # logging的log现在变成了logger
print log(10) # 调用的是math的log
logger(10, 'import from logging') # 调用的是logging的log
import os
print os.path.isdir(r'/data/webroot/resource/python')
print os.path.isfile(r'/data/webroot/resource/python/test.txt')
3. python中动态导入模块
如果导入的模块不存在,Python解释器会报 ImportError 错误
try:
import json
except ImportError:
import simplejson as json
print json.dumps({'python':2.7}) # {"python": 2.7}
4. python之使用__future__
Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。
Python 2.7的整数除法运算结果仍是整数
print 10 / 3 # 3
Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数
print 10 / 3 # 3.33333333333
print 10 // 3 # 3
在Python 2.7中引入3.x的除法规则,导入__future__的division
from __future__ import division
print 10 / 3 # 3.33333333333
from __future__ import unicode_literals
s = 'am I an unicode?'
print isinstance(s, unicode)
5. python之安装第三方模块
- 内置了许多有用的模块
- 可以安装第三发模块
python提供的模块管理工具
- easy_install
- pip(推荐,已内置到python2.7.9)
pip install web.py
Python模块(进阶3)的更多相关文章
- Python模块进阶、标准库、扩展库
模块进阶 Python有一套很有用的标准库(standard library).标准库会随着Python解释器,一起安装在你的电脑中的. 它是Python的一个组成部分.这些标准库是Python为你准 ...
- Python 模块进阶
import导入模块 1. import 搜索路径 import sys sys.path 例子: In [1]: import sys In [2]: sys.path Out[2]: ['', ' ...
- Python爬虫进阶五之多线程的用法
前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理. 首先声明一点! 多线程和多进程是不一样的!一个是 thread ...
- Python爬虫进阶一之爬虫框架概述
综述 爬虫入门之后,我们有两条路可以走. 一个是继续深入学习,以及关于设计模式的一些知识,强化Python相关知识,自己动手造轮子,继续为自己的爬虫增加分布式,多线程等功能扩展.另一条路便是学习一些优 ...
- python模块介绍-locustio:性能测试工具locustio
转自:http://automationtesting.sinaapp.com/blog/m_locustio_doc python测试文章 http://weibo.com/cizhenshi?is ...
- 年薪20万Python工程师进阶(7):Python资源大全,让你相见恨晚的Python库
我是 环境管理 管理 Python 版本和环境的工具 pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. virtualenv – 创建独立 Python 环 ...
- Python面向对象进阶(二)
Python面向对象进阶2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1 ...
- Python 简明教程 --- 17,Python 模块与包
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 正确的判断来源于经验,然而经验来源于错误的判断. -- Fred Brooks 目录 我们已经知道函 ...
- 学习python须知,Python基础进阶需掌握哪些知识点?
Python基础进阶需要掌握哪些知识点?Python将是每个程序员的标配,有编程基础再掌握Python语言对于日后的升职加薪更有利.Python语言简洁利于理解,语法上相对容易能够让开发者更专注于业务 ...
随机推荐
- HtmlUnit 开发网络爬虫
网络爬虫第一个要面临的问题,就是如何抓取网页,抓取其实很容易,没你想的那么复杂,一个开源HtmlUnit包,几行代码就OK啦! 通常在一个页面中会包含别的Url,在别的Url当中又会包含更多的Url. ...
- 3、在Shell程序中使用的参数
学习目标位置参数内部参数 如同ls命令可以接受目录等作为它的参数一样,在Shell编程时同样可以使用参数.Shell程序中的参数分为位置参数和内部参数等. 12-3-1 位置参数由系统提供的参数称为位 ...
- WPF的ComboBox简单用法
1. ComboBox:下拉列表框 效果如下: 2.通常用法是 显示内容 + 选中内容后获得的值(也就是 Name = Value的键值对) 故以键值对来定义一个类,如: public class C ...
- <数据挖掘导论>读书笔记1
数据预处理: 1.聚集:将两个或者多个对象合并成单个对象. 2.抽样:一种选择数据对象子集进行分析的常用方法.抽象方法:简单随机抽样 和渐进抽样 3.维度约:我觉得翻译的不好,英文明细是降维.降维技术 ...
- Splunk大数据分析经验分享
转自:http://www.freebuf.com/articles/database/123006.html Splunk大数据分析经验分享:从入门到夺门而逃 Porsche 2016-12-19 ...
- Java如何实现form表单提交的数据自动对应实体类(源码)
原文出自:https://blog.csdn.net/seesun2012 原生Java+JQuery form表单serializeArray提交自动对应java实体,这是一个实际的例子: html ...
- JavaScript获取当前站点的域名和端口号
获取域名(第一种方法): document.hostname 获取域名(第二种方法): document.domin 获取端口号: location.port 获取主机+端口号: location.h ...
- Spring Security +Oauth2 +Spring boot 动态定义权限
Oauth2介绍:Oauth2是为用户资源的授权定义了一个安全.开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的. 简单的来说,当用户登陆网站的时候,需要账号 ...
- Java温故而知新(10)类的加载机制
类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行. 研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性 ...
- 用户登录时,获取用户ip地址
使用django来获取用户访问的IP地址,如果用户是正常情况下通过request.META['REMOTE_ADDR'] 可以获得用户的IP地址.但是有些网站服务器会使用ngix等代理http,或者 ...