python教程_小白入门2020/10/29
学习目标
文章目录
P135 导入模块的5种方式
# 导入模块的方法
# @author :zhangjiong
# 在python里,一个py文件就可以理解为一个模块
# 不是所有的py文件都可以作为模块被导入的
# 要想一个py文件能够被导入,模块的名字必须要遵守命名规则
# python为了便于程序员开发,提供了很多内置模块
# 导入方式1:使用inport + 模块名的方式进行导入(使用的最多的一个导入方式)
import time
# 导入模块以后,就可以使用这个模块里的方法和变量
print(time.time()) # 1603939603.7137105
# 导入方式2:导入一个模块里的方法或者变量
from random import randint # from模块名 import函数名
x = randint(0, 2) # 生成[0,2]的随机整数
print(x) # 1
# 导入方式3:导入一个模块里的“所有”变量和方法
from math import *
print(pi) # 3.141592653589793
# 导入方式4:导入一个模块并给这个模块起一个别名 使用的第二多的导入方式
import datetime as dt
print(dt.MAXYEAR) #9999
# 导入方式5:from 模块名 import 函数名 as 别名
from copy import deepcopy as dp
P136 os模块的使用
# os模块---operationsystem操作系统
# @author :zhangjiong
# os模块里提供的方法就是用来调用操作系统里的方法
import os
# os.name ===>获取操作系统的名字
# windows系列 ===nt 非windows ===>posix
print(os.name) # nt
print(os.sep) # \ 路径的分隔符
# os.path 最常用的
print(os.path) # <module 'ntpath' from 'D:\\python3.8.2\\lib\\ntpath.py'>
# 获取文件的绝对路径abspath
print(os.path.abspath('main.py')) # D:\pycharm\projects\pythoncourse\main.py
# 用来判断一个文件是否是文件夹,是为True,否为False
print(os.path.isdir("main.py")) # False
# 用来判断一个文件是否是文件,文件夹不是文件
print(os.path.isfile("main.py")) # True
# 用来判断一个文件是否存在
print(os.path.exists("main.py")) # True
# 获取文件的文件名和后缀名
file_name1 = '2020.10.30.demo.py'
print(file_name1.rpartition('.'))
# ('2020.10.30.demo', '.', 'py') # 得到一个元组,元组的第一个就是文件名,第二个就是分隔符,第三个就是后缀名
file_name2 = '2020.10.31.demo.py'
print(os.path.splitext(file_name2))
# ('2020.10.31.demo', '.py') # 得到一个元组,元组第一个文件名,第二个为后缀名
# 其他方法
os.getcwd() # 获得当前工作目录,即当前 Python 脚本工作的目录路径。
os.listdir() # 获取当前项目下所有的文件,包括文件和文件名
os.chdir('../') # 修改目录(返回上一层)
os.remove('') # 删除一个文件
os.path.getsize('name') # 获取文件大小,以字节为单位
P137 sys模块的使用
# sys模块:系统相关功能
# @author :zhangjiong
import sys
import random
# print("hello world")
# sys.exit() # exit是将 程序终止掉,下边的代码便不会再执行
# sys.exit()和内置函数exit()的功能一样
print("呵呵呵")
# 程序若正常执行,退出码应该为0
# exit(100) # Process finished with exit code 100
# exit()为程序结束后赋予一个指定的结束码
print(sys.path) # 结果是一个列表
# 表示查找模块的路径,把要导入的模块放到以下任意一个路径中都可以被找到
# ['D:\\pycharm\\projects\\pythoncourse',
# 'D:\\pycharm\\projects\\pythoncourse',
# 'D:\\pycharm\\PyCharm2020.2\\plugins\\python\\helpers\\pycharm_display',
# 'D:\\python3.8.2\\python38.zip',
# 'D:\\python3.8.2\\DLLs',
# 'D:\\python3.8.2\\lib',
# 'D:\\python3.8.2',
# 'D:\\pycharm\\projects\\pythoncourse\\venv',
# 'D:\\pycharm\\projects\\pythoncourse\\venv\\lib\\site-packages',
# 'D:\\pycharm\\PyCharm2020.2\\plugins\\python\\helpers\\pycharm_matplotlib_backend']
sys.stdin # 接收用户的输入,和input相关
# 可以和input函数一样,接受用户的输入,拿到的是文件的对象,和文件操作有关,暂且不讲stdin的功能比input的功能更为强大
input("请输入用户名:")
sys.stdout # 标准输出,功能比print更强大,修改后可以改变默认输出位置
sys.stderr # 修改sys.stderr可以改变错误输出的默认位置,默认的都是在控制台打印,一旦出错,控制台就崩了,但是使用这个方法,可以将错误信息打印在某个设定的文件里,控制台就不会崩掉
P138 math模块的使用
# math模块:数学计算相关的模块
# @author :zhangjiong
import math
math.factorial(6) # 求阶乘
math.floor(12.98) # 向下取整
math.ceil(15.001) # 向上取整
math.pow(2, 10) # 求2的10次方,等同于2**10,等同于内置函数里pow(2,10)
round(4.5) # round 内置函数而非math中的方法,实现四舍五入的功能
# 三角函数 要的是弧度,Π = 180°
print(math.sin(math.pi/6)) # 0.49999999999999994
print(math.tan(math.pi / 3)) # 1.7320508075688767
P 139 random模块的使用
# random模块用来生成一个随机的数字
# @author :zhangjiong
import random
# 生成2-9之间的整数,包括2也包括9
print(random.randint(2, 9)) # 2
# 生成0-1之间的随机浮点数,包含0但是不包含1 [0,1)
print(random.random()) # 0.1911717116995042
# randrange(a,b) 生成[a,b)之间的随机浮点数
print(random.randrange(2, 9)) # 3
# choice 用来在列表里或者可迭代对象里随机抽取一个数据
print(random.choice(['zhangsan', 'lisi', 'jack', 'herry', 'huamulan', 'sunwukong']))
# herry
# sample 用来在可迭代对象里随机抽取n个数据
print(random.sample(['zhangsan', 'lisi', 'jack', 'herry', 'huamulan', 'sunwukong'], 2))
# ['jack', 'herry']
P 140 datetime模块
# datetime 模块
# @author :zhangjiong
# datetime模块主要用来显示日期时间,这里主要涉及date类,用来显示日期,time类,用来显示时间
# datetime类,用来显示日期时间,timedelta类用来计算时间
import datetime as dt
# 以一个下划线 开始 _x 不能用
# 以两个下划线 开始 __x
# 以两个下划线开始,再以两个下划线结束 __x__
print(dt.datetime.now()) # 获取当前时间datetime.now()
# 2020-10-30 14:47:11.025396
# 选择一行代码,使用快捷键 shift + alt + 上方向键 ----将整行代码移动
# 创建一个日期
print(dt.date(2020, 1, 1)) # 2020-01-01
# 创建一个时间
print(dt.time(18, 23, 45)) # 18:23:45
# 计算三天之后的 日期时间
print((dt.datetime.now() + dt.timedelta(3))) # 2020-11-02 14:55:10.152244
# 内置类--可以理解为函数,功能上都差不多
# list tuple int str