美文网首页
数据团Python_8. 模块与包

数据团Python_8. 模块与包

作者: 00e6a8fd618f | 来源:发表于2017-04-08 14:36 被阅读22次

PS:写到第八章才发现,代码框都给写成R了。

8. 模块与包

8.1 理解函数的基础上,看看什么是‘模块’

Python概念层级

  • 表达式:创建、处理对象
  • 语句:包含表达式
  • 逻辑单元:函数或类,由语句组成
  • 模块:.py代码文件组成模块
  • 包:定义一组有关系的文件,或者模块(包是文件夹,模块是其中文件)
  • 程序:若干个包+若干个文件

一个案例

  • 脚本1
#模块testmodel.py
def inf():
    print('数据大人培养计划Python课程,模块练习')

def power(a):
    y = a ** 2
    return y

#模块结束
  • 脚本2
import script

script.inf()

m = script.power(10)
print(m)

#执行结果
>>> 
============== RESTART: C:/Users/Administrator/Desktop/test.py ============== #保证在模块在同一文件夹
数据大人培养计划Python课程,模块练习
100

模块特点

  • 效率高
  • 可在多个程序使用
  • 不同模块有不同功能组合,通过使用多个模块快速满足程序需求

8.2 模块创建及import指令应用

#阶层函数
def f1(n):
    y = 1
    for i in range(1, n+1):
        y = y * i
    return y

def f2(lst, x):
    m = []
    for i in lst:
        if i == x:
            continue
        else:
            m.append(i)
    return m

def f3(a, d, n):
    s = 0
    for i in range(n):
        s = s + a
        a = a + d
    return s
>>> 
============= RESTART: C:\Users\Administrator\Desktop\script.py =============
>>> import script
>>> print(f1(6))
720
>>> print(f2([2, 3, 4, 5, 6, 'a', 'c', 23, 3], 'a')
      )
[2, 3, 4, 5, 6, 'c', 23, 3]
>>> print(f3(1, 1, 10))
55

模块调用

  • import 模块名.函数;
  • form 模块名 import 函数名

random模块,随机数

#随机数
import random

x = random.random()
y = random.random()
print(x, y)

#区间内随机整数
import random

m = random.randint(50, 100)
print(m)

#随机获取给定元素
st = random.choice([1, 2, 3, 4, 5])
st2 = random.choice('adsfjkjl')
print(st,st2)

#随机获取a中指定b长度的片段,不改变原有序列
import random

lst = list(range(100))

sli = random.sample(lst, 5)
print(sli,lst)

#列表中元素打乱
lst2 = ['a', 'b', 'c', 'f', 'x']

random.shuffle(lst2)
print(lst2)

============= RESTART: C:\Users\Administrator\Desktop\script.py =============
0.42881162556528274 0.12498443753064359
100
5 l
[43, 59, 21, 99, 15] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
['c', 'a', 'f', 'b', 'x']
>>> 

time模块

%y #两位数的年份表示
%Y #四位数的年份表示
%m #月份
%d #月内的某天
%H #24h制
%l #12h值
%M #分钟数
%s #秒
%a #本地简化星期名称
%A #本地完整星期名称
%b #本地简化月份名称
%B #本地完整的月份名称
%c #本地相应的日期表示和时间表示
%j #年内的一天
%p #本地 A.M 或 P.M 的等价符
%U #一年中的星期数,星期天为开始
%w #星期(0-6),星期天为开始
%W #一年中的星期数,星期一为开始
%x #本地相应日期表示
%X #本地相应时间表示
%Z #当前时区名称
%%% #%号本身
import time

print('hello')
time.sleep(2) #程序休眠2秒
print('world!')

print(time.ctime()) #当前时间
print(type(time.ctime()))


print(time.localtime()) #时区时间
print(type(time.localtime()))

a = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(a)

8.3 “包”的概念及Python的包管理工具:pip


当多个功能模块互相联系时,将其组合在一起。
_init_.py的文件夹就是一个包

安装包
pip:安装和管理Python包的工具,Python3.4之后自带。

pip需要在cmd中运行

pip list查看已安装的包
pip install + 包的名字安装
pip uninstall + 包的名字卸载

安装Excel相关包

Excel.png

基本操作

  • 打开Excle文件读取数据
    data = xlrd.open_workbook('路径\\文件名.xlsx')

  • 获取工作表
    table = data.sheets()[0] #通过索引顺序获取
    table = data.sheet_by_index(0) #通过索引顺序获取一般选用这种
    table = data.sheet_by_name('sheet1') #通过名称获取

  • 获取整行和整列的值(数组)
    table.row_walues(i)
    table.col_values(i)

  • 获取行数和列数
    nrows = table.nrows
    ncols = table.ncols

  • 循环行列表数据
    for i in range(nrows):
    print table.row_values(i)

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""

import xlrd

data = xlrd.open_workbook('C:\\Users\\Administrator\\Desktop\\test.xlsx')

table = data.sheet_by_index(0)

nrows = table.nrows
ncols = table.ncols

print(nrows,ncols)

print(table.row_values(0))
print(table.col_values(0))

for i in range(nrows):
    print(table.row_values(i))
    
#读取Excel转换字典
k = list(table.row_values(0))

print(k)

D = []

for i in range(1,nrows):
    lst = table.row_values(i)
    v1 = []
    v1.extend([k[0], lst[0]])
    v2 = []
    v2.extend([k[1], lst[1]])
    m = ([v1,v2])
    #print(m)
    d = dict(m)
    #print(d)
    D.append(d)
    
print(D)

8.4 Windows环境下的爬虫实战01

cmd中

  • cd 工作空间
  • pip install 包
  • pip list #查看包
  • python 文件名 #执行脚本

dashuju.pylianjia.py 需安装 lxml
pip install lxml

8.5 Windows环境下的爬虫实战02

百度地图POI数据

相关文章

  • 数据团Python_8. 模块与包

    PS:写到第八章才发现,代码框都给写成R了。 8. 模块与包 8.1 理解函数的基础上,看看什么是‘模块’ Pyt...

  • 学习python3的野路子——导入模块与包

    模块与包[1] 模块与包的关系:模块可以属于包 导入模块(module)的方法:直接使用import后缀名为.py...

  • 爬虫学习路线

    1.http协议2.requests模块3.数据提取模块4.selenium模块5.抓包与反爬6.mongodb和...

  • 一、数据库模块

    数据库模块大致包含的模块如下: Bean 这个模块对应的jar包是 com.angroid.bean, 这个包主要...

  • python命名规范

    Google Python命名规范 module_name, 模块 package_name, 包 模块与包 ...

  • 包与模块

    什么是包?什么是模块? 模块:python中每个python文件都是一个独立的模块,是较少的,独立的,功能近似的多...

  • 模块与包

    模块与包 控制模块被全部导入的内容 在模块中以下划线命名的变量或函数是不会被导入的 在模块中使用all来控制导入的...

  • 包与模块

    如果文件夹下没有 __init__.py 则该目录名被认为是模块。 导入包时都会执行一次包下的 __init__....

  • 模块与包

    模块 '''def func_a(x, y):return x ** y if name == 'main': ...

  • 包与模块

    在python中一个.py文件就是一个模块,使用模块既可以保证代码的重用性,又能增强程序的结构性和可维护性。对于内...

网友评论

      本文标题:数据团Python_8. 模块与包

      本文链接:https://www.haomeiwen.com/subject/qsmlattx.html