python基础之模块初识
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持
一、time模块和datetime模块
和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。
常用方法:
#time模块
import time
# time.sleep() #让程序停一会,休眠时间***
print(time.time()) #获取当前时间戳;返回一个以秒为单位的浮点数
表示时间的三种方式
在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:
(1) 时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。——给计算机看的
#时间戳:1545276241.5708632 49年*356天*24月*3600秒
(2)格式化的时间字符串(Format String): ‘1999-12-06’ ——字符串形式;给人看的
(3)结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时) ;元祖形式 ;是做计算用的
import time
# print(time.time()) #获取当前时间戳;返回一个以秒为单位的浮点数
print(time.time()) #时间戳:1545276241.5708632
print(time.localtime()) #本地时区的struct_time
print(time.strftime("%Y-%m-%d %H:%M:%S")) # 格式化的时间字符串:'2018-12-20 11:30:50'
print(time.strftime("%Y-%m-%d %X")) # 格式化的时间字符串:'2018-12-20 11:30:50' X:表示小时分钟秒
时间加减模块:datetime
#datetime
import datetime
print(datetime.datetime.now()) # 当前的时间
# datetime用法
print(datetime.datetime.now()+datetime.timedelta(days=3)) # 取3天后的时间
print(datetime.datetime.now()+datetime.timedelta(days=-3)) # 取3天前的时间
print(datetime.datetime.now()+datetime.timedelta(hours=3)) # 取3小时后的时间
print(datetime.datetime.now()+datetime.timedelta(minutes=3)) # 取3分钟后的时间
print(datetime.datetime.now()+datetime.timedelta(seconds=3)) # 取3秒后的时间
二、random模块
import random
print(random.random()) #(0,1)----float 大于0且小于1之间的小数
print(random.randint(1,3)) #[1,3] 大于等于1且小于等于3之间的整数
print(random.randrange(1,3)) #[1,3) 大于等于1且小于3之间的整数
print(random.choice([1,'23',[4,5]])) #1或者23或者[4,5]
print(random.uniform(1,3)) #取任意范围的浮点型 大于1小于3的小数,如1.927109612082716
练习1:剪刀石头布
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Renyz
import random
# 导入随机数
player = input('请输入:剪刀(0) 石头(1) 布(2):') #判断用户的输入,然后显示对应的结果
player = int(player) #提示用户并输入
computer = random.randint(0,2) #让电脑出一个,随机生成0,1,2任何一个值
#判断玩家胜出的条件
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('获胜,哈哈,你太厉害了')
# elif 玩家平局的条件
elif player == computer:
print('平局,要不再来一局')
else:
print('输了,不要走,洗洗手接着来,决战到天亮')
练习2:生成随机验证码(用到了函数)
import random
def v_code(): # 验证码一般用循环 数字和字母相平的验证码
res="" # 验证码是字符串 首先有个初始值
for i in range(5): #5表示验证码5个随机数
num = random.randint(0,9) # 取到的数字
alf = chr(random.randint(65,90)) #chr chr()函数是输入一个整数【0,255】返回其对应的ascii符号
s = str( random.choice([num, alf]) ) # 做字符的转换
# res += random.choice([num, alf]) # 让字母和数字随机拼接起来,choice在s1和s2里面随机选择一个。
res +=s # 这是上面步骤的简写
return res # 返回的是字符串平接的结果
print(v_code()) # 调用函数
-------------------------------------------------------------------------------
KN8NJ
补充:
ord()函数主要用来返回对应字符的ascii码,chr()主要用来表示ascii码对应的字符他的输入时数字
In [2]: ord('A')
Out[2]: 65
In [3]: ord('Z')
Out[3]: 90
In [4]: ord('a')
Out[4]: 97
In [5]: ord('z')
Out[5]: 122
In [7]: chr(65)
Out[7]: 'A'
In [8]: chr(122)
Out[8]: 'z'
三、文件路径os模块
import os #getcwd获取当前路径,即当前python脚本工作的目录路径
# print(os.getcwd()) #chdir改变路径,相当于shell下的cd
# print(os.getcwd())
# os.chdir("..")
# print(os.getcwd()) #mkdir -p
# os.makedirs("test/test1")
# os.chdir("test/test1")
# print(os.getcwd()) # mkdir 新建目录,只能建一层
# os.mkdir("test") # rmdir 只能删除单级目录为空的文件夹
# os.rmdir("test") # listdir 列出指定文件夹下面所有的文件夹和文件包括隐藏文件,以列表方式打印出来
# print(os.listdir(r"C:\Users\Administrator.USER-20190512NQ\Desktop\python项目\django_a"))
# removedirs 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依次类推
# os.removedirs('dirname1/dirname2')
# remove 删除指定的一个文件
# os.remove("test/test.py") #rename重命名
# os.rename("chengzeyu.txt","程泽宇.txt") #os.stat查看文件详细信息
# print(os.stat("程泽宇.txt")) #exists判断一个文件或者是目录是否存在
# res = os.path.exists(r'C:\Users\Administrator.USER-20190512NQ\Desktop\python项目\django_a\template1')
# print(res) #echo $?:0代表正常,非0代表不正常(os模块最好用的一种方法system)*****
# cmds = ['ls -ltr','df -h','ifconfig ens33 192.168.254.250/24']
# for cmd in cmds:
# res = os.system(cmd)
# if res == 0:
# continue
# else:
# break # os.path.join是拼接完整路径
# BASE_DIR = r'\root\etc'
# FILE = 'chengzeyu.txt'
# new_path = os.path.join('root/etc','a.txt')
# print(new_path)
python基础之模块初识的更多相关文章
- 1.7 Python基础知识 - 模块初识
在Python中有很多模块,模块对应的就是python源代码文件.模块中有Python程序自己附带的标准模块,还有很多其他人共享的第三方模块.模块中可以定义变量.函数和类.而多个功能类似的模块可以组织 ...
- python基础——第三方模块
python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的. 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了. 如果你正在使用Window ...
- python基础——使用模块
python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...
- 二十五. Python基础(25)--模块和包
二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ...
- python 基础之 模块
Python 基础之模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 就是一个python文件中定义好了类和方法,实现了一些功能,可以被别的python文 ...
- 【Python之路】第六篇--Python基础之模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- 周末班:Python基础之模块
什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写 ...
- python基础篇_001_初识Python
一.Python环境 windows环境安装Python步骤 .下载安装包:https://www.python.org/downloads/windows/ .安装:默认安装路径:C:\pytho ...
- Python学习:模块初识、数据类型
1.模块初识 在Python中,模块分为两种: (1)标准库 标准库无需安装,只要在使用的时候import就可以使用了 (2)第三方库 第三方库必须下载安装之后才能够引入使用 下面介绍两个基本的模块: ...
随机推荐
- Sql Server存储过程和游标的配合操作
本段代码主要为了记录存储过程以及游标的使用,防止以后自己忘记 知识点:1.存储过程书写 2.游标书写 3.游标循环更新记录 create proc saletargetas declare @ower ...
- 2020.1 IDEA 激活
1 下载安装 平台windows,官网这里. 选位置之后: 选项分别是创建32/64位的快捷方式,把运行目录添加到PATH环境变量,添加右键菜单"打开文件夹作为工程",添加java ...
- SpringMVC请求参数解析
请求参数解析 客户端请求在handlerMapping中找到对应handler后,将会继续执行DispatchServlet的doPatch()方法. 首先是找到handler对应的适配器. Hand ...
- PHP生成随机数的几种方法
第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV ...
- 【synchronized锁】通过synchronized锁 反编译查看字节码指令分析synchronized关键字修饰方法与代码块的区别
前提: 首先要铺垫几个前置的知识: Java中的锁如sychronize锁是对象锁,Java对象头中具有标识位,当对象锁升级为重量级锁时,重量级锁的标识位会指向监视器monitor, 而每个Java对 ...
- hdu4536 水搜索
题意: XCOM Enemy Unknown Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others ...
- POJ 1716 区间最小点个数
题意: 给你n个区间,每个区间最少取两个元素,问你所有区间最少取几个元素(可以满足每个区间最少两个元素). 思路: 这个题目感觉挺巧妙的,之前在杭电上做过这个题目,这个题目可以用查 ...
- SPOJ 2713 线段树(sqrt)
题意: 给你n个数(n <= 100000),然后两种操作,0 x y :把x-y的数全都sqrt ,1 x y:输出 x-y的和. 思路: 直接线段树更新就行了,对于当 ...
- UVA10827球面上的最大和
题意: 最大子矩阵的加强版,就是给你一个n*n的矩阵,每个格子里面都有数字,然后我们在里面选择一个矩阵,使得矩阵中所有数字的和最大,而且这个题目说这个n*n的矩阵的最右边和最左边是相邻的,最 ...
- 在Windows上使用终端模拟程序连接操作Linux以及上传下载文件
在Windows上使用终端模拟程序连接操作Linux以及上传下载文件 [很简单,就是一个工具的使用而已,放这里是做个笔记.] 刚买的云主机,或者是虚拟机里安装的Linux系统,可能会涉及到在windo ...