数据分析入门_PART1python基础语法_CH07模块与包

课程7.1什么是模块

7.1.1python概念层级

表达式:1对象创建(a=xxx)2各种对象处理

语句:包含表达式

逻辑单元:1函数 2类 由语句构成

模块:.py代码文件

包:一个文件夹,里面是一组有关系的文件或模块,且包内必含有__ init _ _.py文件

程序:若干包+若干文件

7.1.2调用一个自定义模块两种方法(test.py

法一:查看现有包所在路径,将自己创建的包存入该路径

a.首先查看现有包的路径

在这里插入图片描述

b写好自定义模块test1.py并将其移动到现有包路径
在这里插入图片描述

c import此模块并调用

在这里插入图片描述

法二:加载sys包,把新建的test2模块所在路径添加上

在这里插入图片描述
在这里插入图片描述
路径不用包含test2.py文件名

课程7.2 模块创建及import指令运用

'''
【课程7.2】  模块创建及import指令运用

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句

'''
'\n【课程7.2】  模块创建及import指令运用\n\nPython 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句\n\n'
# 创建一个模块,包含一个阶乘函数f1(n)、一个列表删值函数f2(lst,x),一个等差数列求和函数f3(a,d,n)
def f1(n):
    y=1
    for i in range(1,n+1):#注python在index范围都是左闭右开,所以右边要+1
        y=y*i #出现自我迭代 y=f(y)必须先给y定初始值 如果不出现自我迭代 y=f(x)可以直接赋值
    return y

def f2(lst,n):
    while(n in lst):
        lst.remove(n)
    return lst

def f3(a,d,n):
    an=a
    s=0
    for i in range(n-1):
        an+=d
        s+=an
    return s
# 模块路径问题
#如上总结有两种方法,此处采用第二种,testmode.py文件放在桌面上

# 法一查看现有包所在路径,将自己创建的包存入改路径
import pandas
print(pandas.__file__)

# 法二加载sys包,把新建的testmodel所在路径添加上
import sys
sys.path.append(r'C:\Users\HASEE\Desktop')#注意\三种处理方法
C:\ProgramData\Anaconda3\lib\site-packages\pandas\__init__.py
# 调用模块语句:import

import testmode

print(testmode.f1(5))
print(testmode.f2([2,3,6,2,5,2,6,2,8,41,8,1,8,2,9,2,9,9,5],9))
print(testmode.f3(2,3,5))

120
[2, 3, 6, 2, 5, 2, 6, 2, 8, 41, 8, 1, 8, 2, 2, 5]
38
# 简化模块名:import...as...
import testmode as tm

print(tm.f1(5))
120
# 调用部分模块(函数)语句:From…import 语句

from testmode import f2

print(f2([5,65,9,59,59,59526,2,95,26,52,6,59,2,92,3,2,5,5],5))
# 单独导入模块的部分功能,但无法使用其他未导入模块功能
#print(f3(10,2,5))
[65, 9, 59, 59, 59526, 2, 95, 26, 52, 6, 59, 2, 92, 3, 2]
# python常用标准模块介绍 —— random随机数
import random

# random.random()随机生成一个[0:1)的随机数
x=random.random()
y = random.random()
print(x,y*10)

# random.randint()随机生成一个[a,b}的整数 注意是左闭右闭
m=random.randint(5,6)
print(m)

# random.choice()随机获取()中的一个元素,()种必须是一个有序类型 str tuple list
st1=random.choice('小闫最帅')
st2=random.choice([2,5,96,6,2])
st3=random.choice((5,6,8))
print(st1,st2,st3)

# random.sample(a,b)随机获取a(str lst tup)中指定b长度的片段,不会改变原序列
lst=list(range(2,580,58))
lst2=random.sample(lst,4)
print(lst2)

# random.shuffle(list)将一个列表自身内的元素打乱
lst=[1,2,3,4,5,6]
random.shuffle(lst)
print(lst)
0.7146980045351659 4.2528465140241725
6
帅 6 5
[350, 524, 176, 292]
[1, 6, 5, 2, 4, 3]
# python常用标准模块介绍 —— time时间模块
import time
#time.sleep()程序休息()秒 注意python时间单位是s 其他语言多是ms
for i in range(2):
    print('hello')
    time.sleep(0.5)

# time.ctime()将当前时间current time转换为一个字符串 
print(time.ctime())
print(type(time.ctime()))

# time.localtime()将当前时间转为当前时区的struct_time封装结构--即时间戳
# wday 0-6表示周日到周六
# ydat 1-366 一年中的第几天
# isdst 是否为夏令时,默认为-1
print(time.localtime())
print(type(time.localtime()))

#time.strftime(a,b)
#a为格式化字符串格式 string format time
#b为时间戳,一般用localtime()
print(time.strftime('%Y year %m %d %H %M %S',time.localtime()))
hello
hello
Sat Jun 22 10:27:52 2019
<class 'str'>
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=22, tm_hour=10, tm_min=27, tm_sec=52, tm_wday=5, tm_yday=173, tm_isdst=0)
<class 'time.struct_time'>
2019 year 06 22 10 27 52
%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 当前时区的名称
%% %号本身

课程7.3 pip package管理工具

包的概念:含有多个模块(.py)文件的文件夹,文件夹中一定含有(init.py)文件

pip操作方式

cmd中输入pip可以查看pip常用方法

pip install packagename 安装package

pip uinstall packagename 卸载package

课程7.4 在windows cmd执行python文件

当然可以在ide如spyder或pycharm里运行.py文件 但以下介绍如何在cmd里执行.py文件

step1 cmd用cd命令打开.py文件所在文件夹路径

在这里插入图片描述
注如果当前cmd路径和py文件路径不在一个硬盘还要多加一步 e: (e是py文件所在硬盘)

step2 python xxx.py

在这里插入图片描述
finished!表示成功

有时如果没有按照相关支持package会提示出错,用pip install该package即可

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40974922/article/details/93307798