版权声明:本文为博主原创文章,未经博主允许不得转载。
文章目录
- 一、模块与包
- 1.1 Python 概念层级
- 1.2 模块
- 1.2.1 什么是模块
- 1.2.2 模块路径问题: import 语句
- 1.2.3 简化模块名: import...as...
- 1.2.4 调用部分模块语句: from…import 语句
- 1.2.5 模块总结
- 1.3 包
- 1.3.1 python标准模块 —— random随机数
- 1.3.1.1 random.random()
- 1.3.1.2 random.randint(0, 10)
- 1.3.1.3 random.choice()
- 1.3.1.4 random.shuffle(lst)
- 1.3.1.5 random.sample(lst, 2)
- 1.3.2 python标准模块 —— time时间模块
- 1.3.2.1 time.sleep()
- 1.3.2.2 time.ctime()
- 1.3.2.3 time.localtime()
- 1.3.2.4 time.strftime(a,b)
- 1.3.2.5 格式总结
- 1.3.3 安装 与 卸载
- 1.4 运行
- 1.4.1 Windows 环境下的代码运行
一、模块与包 1.1 Python 概念层级
表达式:创建、处理对象
语句:包含表达式
逻辑单元:函数或者类,由语句组成
模块:.py代码文件组成模块
包:定义一组有关系的文件,或者模块(包是文件夹,模块是其中的文件,且文件夹中包含一个__init__.py 文件)
testmodel .py 文件 存放路径:D:ProgramDataAnaconda3envstf1.10Libsite-packages
testmodel_01 .py 文件 存放路径:C:UserslsjDesktop 即:桌面
testmodel .py 与 testmodel_01 .py 文件内容相同,路径不同
# 创建一个模块,包含一个阶乘函数f1(n)、一个列表删除函数f2(lst,x),一个等差数列求和函数f3(a,d,n)
# 创建阶乘函数f1(n)
def f1(n):
y = 1
for i in range(1, n+1):
y = y * i
return y
# 创建列表删值函数f2(lst,x)
def f2(lst, x):
while x in lst:
lst.remove(x)
return lst
# 创建等差数列求和函数f3(a,d,n)
def f3(a, d, n):
an = a
s = 0
for i in range(n-1):
an = a + i * d
s = s + an
return s
1.2.2 模块路径问题: import 语句
方法 一:查看现有包所在路径,将自己创建的包存入该路径
import pandas print(pandas.__file__)
D:ProgramDataAnaconda3envstf1.10libsite-packagespandas__init__.py
【注意】文件存到路径 site-packages 包下!!!
# 调用模块语句:import import testmodel # 直接用import调用模块,.f1()调用模块函数(方法) print(testmodel.f1(3)) print(testmodel.f2([1,2,3,4,5,6], 4)) print(testmodel.f3(1,1,3))
方法 二:加载 sys包,把新建的 testmodel_01 所在路径添加上
# 方法 二
import sys
sys.path.append('C:\Users\lsj\Desktop')
# 调用模块语句:import import testmodel_01 # 直接用import调用模块,.f1()调用模块函数(方法) print(testmodel_01.f1(3)) print(testmodel_01.f2([1,2,3,4,5,6], 4)) print(testmodel_01.f3(1,1,3))1.2.3 简化模块名: import…as…
import testmodel_01 as tm print(tm.f1(3)) print(tm.f2([1,2,3,4,5,6], 4)) print(tm.f3(1,1,3))1.2.4 调用部分模块语句: from…import 语句
from testmodel_01 import f2 print(f2([1,2,3,4,5,6], 4)) # 单独导入模块的部分功能,但无法使用其他未导入模块功能1.2.5 模块总结
模块类似于通过不同的代码功能,组合成一个脚本文件,变成一个可重复利用的独立功能模块,优点:①效率更高 ② 可在多个程序中使用 ③ 不同模块有不同的功能组合,通过使用多个模块来快速满足程序需求
1.3 包 1.3.1 python标准模块 —— random随机数 1.3.1.1 random.random()random.random() 随机生成一个[0:1)的随机数
import random x = random.random() y = random.random() print(x, y*10)1.3.1.2 random.randint(0, 10)
random.randint() 随机生成一个[0:10]的整数
m = random.randint(0, 10) print(m)1.3.1.3 random.choice()
random.choice() 随机获取()中的一个元素,()中必须是一个有序类型
st1 = random.choice(list(range(10)))
st2 = random.choice('Python')
print(st1, st2)
1.3.1.4 random.shuffle(lst)
random.shuffle(list)将一个列表内的元素打乱
lst = [1,2,3,5,7,8,12,16] random.shuffle(lst) print(lst)1.3.1.5 random.sample(lst, 2)
随机取列表中的两个元素
lst = [1,2,3,5,7,8,12,16] print(random.sample(lst, 2))1.3.2 python标准模块 —— time时间模块 1.3.2.1 time.sleep()
time.sleep()程序休息()秒
import time
for i in range(2):
print('Hello !!!')
time.sleep(1)
1.3.2.2 time.ctime()
将当前时间转换为一个字符串
print(time.ctime()) print(type(time.ctime()))1.3.2.3 time.localtime()
将当前时间转为当前时区的struct_time
print(time.localtime()) print(type(time.localtime())) # wday 0-6表示周日到周六 # ydat 1-366 一年中的第几天 # isdst 是否为夏令时,默认为-11.3.2.4 time.strftime(a,b)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))
# a:格式化字符串格式
# b:时间戳,一般用localtime()
1.3.2.5 格式总结
%y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身1.3.3 安装 与 卸载
安装: pip install requests 卸载:pip uninstall requests 查看:pip list # 查看已经安装的包1.4 运行 1.4.1 Windows 环境下的代码运行
第一步 :cmd → 进入文件夹所在目录
第二步 :运行文件:python 文件名
备注:dashuju.py 文件 【爬虫的代码】
import requests
from bs4 import BeautifulSoup
def get_info(url):
"""获得网页内容"""
r = requests.get(url)
return r.content
def parse_str(content):
"""解析结果为需要的内容"""
soup = BeautifulSoup(content, 'lxml')
infos = [v.find('a') for v in soup.find_all('li')]
r = []
for v in infos:
try:
r.append('t'.join([v.text, v['href']]))
except:
pass
return 'n'.join(r)
def load_rlt(rlt, filename):
"""将结果保存到文件里"""
with open(filename, 'w') as fw:
fw.write(rlt)
def main():
url = 'http://hao.bigdata.ren/'
r = get_info(url)
rlt = parse_str(r)
load_rlt(rlt, 'bigdata.csv')
if __name__ == '__main__':
main()
print('finished!')
补充
1. cmd 中由 C盘 切换到 D盘:
d:
2. cmd 中由 C盘 切换到 F盘:
f:
版权声明:本文为博主原创文章,未经博主允许不得转载。



