Day 11 python学习笔记

模块


内置模块

random

random:随机数模块

我们可以在解释器中看到其蕴含的方法

接下来我解释一些常用的方法:

random.random( )

random.random( )        返回0-1的随机数  [0,1)

>>> random.random()
0.364183511476754

random.randint(n,m)

random.randint(n,m)      返回[n,m]的整数随机数

>>> random.randint(5,10)
7

random.randrange(n,m)

random.randrange(n,m)        [m,n)的整数随机数 (取左不取右 ,可以设步长)

>>> random.randrange(1,10)
3
>>> random.randrange(1,10)
1>>> random.randrange(0,1)   #左闭右开,所以永远取不到1
0
>>> random.randrange(0,1)
0
>>> random.randrange(0,1)
0>>> random.randrange(1,10,2)  #步长为2,所以从1起步只能取1,3,5,7,9
5
>>> random.randrange(1,10,2)
9
>>> random.randrange(0,10,2)  #步长为2,所以从0起步只能取0,2,4,6,8
2
>>> random.randrange(0,10,2)
4
>>>

random.uniform(n,m) 

random.uniform(n,m)     返回一个[n,m]的随机浮点数

>>> random.uniform(0,1)
0.8341113837892614
>>> random.uniform(0,0)  #可以看出是[n,m]的
0.0
>>> random.uniform(0,100)
66.47340671952776
>>>

random.choice([元素1,元素2,元素3,元素4]) 

random.choice([元素1,元素2,元素3,元素4])           随机列举有序序列中的一个值

>>> random.choice([1,2,3,4,5])
5
>>> random.choice([1,2,3,4,5])
4
>>> random.choice([1,2,3,4,5])
1
>>>

random.shuffle(列表)

random.shuffle(列表)        洗牌打乱

>>> list1 = [1,2,3,4,5,6]
>>> random.shuffle(list1)
>>> list1
[4, 1, 6, 3, 2, 5]
>>>

math

math:数学模块

math.e、math.pi(π)

math.e         

math.pi

>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793
>>>

math.ceil(浮点型数字)

math.ceil(浮点型数字)        向上取整

>>> math.ceil(3.00001)
4
>>> math.ceil(3.00000000000001)
4
>>> math.ceil(3.000000000000000000000001)   #注意:取整还是有一定限度的
3

math.floor(浮点型数字)

math.floor(浮点型数字)        向下取整

>>> math.floor(3.99999)
3
>>> math.floor(3.9999999999999)
3
>>> math.floor(3.99999999999999999999999)  #同理,也是有一定限度的
4
>>>

round(浮点型数字)

round(浮点型数字)        四舍五入,整数为奇数遵循标准的四舍五入,                                                                          整数为偶数遵循以五为界限,五会被舍弃(即不进位)

因为它是被定义在全局函数中,所以不需要声明math模块

>>> round(4.5)    #整数为偶数遵循以五为界限,五会被舍弃(即不进位)
4
>>> round(5.5)    #整数为奇数遵循标准的四舍五入
6>>> round(4.6)    #其余皆遵循四舍五入
5
>>> round(4.4)
4
>>> round(5.6)
6
>>> round(5.4)
5
>>>

math.pow(被次方数,次方数)

math.pow(被次方数,次方数)        求次方(结果为浮点数)

>>> math.pow(2,3)
8.0
>>> math.pow(2,4)
16.0
>>>

math.sqrt(被开平方数)

math.sqrt(被开平方数)        开平方根(结果为浮点数)

>>> math.sqrt(9)
3.0
>>> math.sqrt(4)
2.0
>>> math.sqrt(8)
2.8284271247461903
>>>

math.fabs(数字)

math.fabs(数字)             求绝对值(结果为浮点数)

>>> math.fabs(-11)
11.0
>>> math.fabs(11)
11.0
>>> math.fabs(-11.11)
11.11
>>> math.fabs(11.11)
11.11
>>>

abs(数字)

abs(数字)                求绝对值(全局函数内的,无需声明math)

>>> abs(-11.11)
11.11
>>>

math.log(对数,底数)

math.log(对数,底数)        求真数(结果为浮点数)

若只传一个参数,则默认以e为底

>>> math.log(8,2)
3.0
>>> math.log(math.e,math.e)  #要用e,必须要加math
1.0
>>> math.log(8)    #默认以e为底
2.0794415416798357
>>>

os

os(操作系统的缩写):操作系统上的文件系统的

方法有很多,我会讲几个常用的,其他的教一种好用的学习方法

方法:

  1. help(os)     #输入要了解的模块
  2. 按住ctrl点击里面的网址(网址为官网,如下图)
  3. 进入官网查询你需要了解的(官网可以调节中文的:在左上角)
  4. 退出help文档:ctrl 加 c

os.cpu_count()

os.cpu_count()        获取cpu线程数

>>> os.cpu_count()
20

os.curdir

os.curdir               获取当前目录(因为它是一个属性,不是方法,所以不需要加())

>>> os.curdir
'.'          #当前文件,相对路径
>>>

 os.path.abspath(os.curdir)

 os.path.abspath(os.curdir)               获取当前绝对路径

>>> os.path.abspath(os.curdir)
'C:\\Users\\朱俊杰'
>>>

os.chdir()

os.chdir()           修改工作目录

>>> os.path.abspath(os.curdir)
'C:\\Users\\朱俊杰'
>>> os.chdir("../")    #../为返回上一级目录
>>> os.path.abspath(os.curdir)
'C:\\Users'
>>>

os.chmod()

os.chmod()                修改权限(例:可读可写)(在Lunix系统下使用)

os.getcwd()

os.getcwd()                获取当前目录(绝对路径)

>>> os.getcwd()
'C:\\Users'
>>>

os.getpid()

os.getpid()                获取进程编号

>>> os.getpid()
26460

os.getppid()

os.getppid()        获取父进程编号

>>> os.getppid()
23280
>>>

os.mkdir()

os.mkdir()                    创建目录

os.makedirs()

makedirs()                    创建多级目录

os.name

os.name                返回操作系统名称

>>> os.name
'nt'       #代表是windows
>>>

os.remove()

os.remove()                移除

os.rename()

os.rename()             重命名  

os.system("cls")

os.system("cls")                清屏

os.sep

os.sep                  返回文件分隔符(windows里为\\)

>>> os.sep
'\\'
>>>

os.listdir([path])

os.listdir([path])                在列表中,返回当前目录中所有文件名称

以列表里字符串的形式返回

>>> os.listdir(".")
['All Users', 'Default', 'Default User', 'desktop.ini', 'GLCache', 
'Public', '朱俊杰', '鏈变繆鏉', '鏈变繆鏉癨AppData']
>>> os.listdir("d:\\")
['$RECYCLE.BIN', '.idea', '73fee546e6777c712160fd43cddcd773', 
'BaiduNetdiskDownload', 'BaiduSyncdisk', 'Config.Msi', 'c 语言', 
'edge下载', 'ensp', 'JAVA', 'kali', 'Program Files', 'pycharm', 
'python', 'steam', 'System Volume Information', 'venv', 'vmware','WindowsApps', 'winrar', 'WpSystem', 'WUDownloadCache', 'xlj', 
'云计算', '云计算1', '夸克网盘', '奖学金', '学校', '有道云笔记', 
'比特', '火狐下载', '腾讯会议', '腾讯会议录频', '谷歌下载', '软件', 
'配音', '金山打字通', '钉钉']
>>>

os.scandir([path])

os.scandir([path])                返回的是当前目录中所有文件一个迭代器

>>> a = os.scandir("d:\\")
>>> for i in a:
...     print(i)
...
<DirEntry '$RECYCLE.BIN'>
<DirEntry '.idea'>
<DirEntry '73fee546e6777c712160fd43cddcd773'>
<DirEntry 'BaiduNetdiskDownload'>
<DirEntry 'BaiduSyncdisk'>
<DirEntry 'Config.Msi'>
<DirEntry 'c语言'>
<DirEntry 'edge下载'>
<DirEntry 'ensp'>
<DirEntry 'JAVA'>
<DirEntry 'kali'>
<DirEntry 'Program Files'>
<DirEntry 'pycharm'>
<DirEntry 'python'>
<DirEntry 'steam'>
<DirEntry 'System Volume Information'>
<DirEntry 'venv'>
<DirEntry 'vmware'>
<DirEntry 'WindowsApps'>
<DirEntry 'winrar'>
<DirEntry 'WpSystem'>
<DirEntry 'WUDownloadCache'>
<DirEntry 'xlj'>
>>>

os.path

os.path    不在os里边,只是和os有一些内部关联

导入模块两种方法:

  1. import os   (然后os.path.方法使用)
  2. from os import path   (直接path.方法使用)

path.abspath(目录)

path.abspath(目录)         获取当前路径(绝对路径)

与 上面的  os.path.abspath(os.curdir) 相同

>>> path.abspath(".")
'C:\\Users'
>>>

path.basename(路径)

path.basename(路径)                获取路径下的文件

>>> path.basename("D:\\python\\Day10\\main.py")
'main.py'

注意:

  1. 路径外面要加  " "
  2. 分隔符要双 \\

path.dirname(路径)

path.dirname(路径)                获取路径下的文件前面的路径

>>> path.dirname("D:\\python\\Day10\\main.py")
'D:\\python\\Day10'
>>>

path.getctime(路径)

path.getctime(路径)       文件创建时间

path.getmtime(路径)

path.getmtime(路径)       文件修改时间

path.getatime(路径)

path.getatime(路径)       文件最近一次修改的时间

path.exists(路径)

path.exists(路径)                判断路径下的文件是否存在

>>> path.exists("D:\\python\\Day10\\main.py")
True
>>> path.exists("D:\\python\\Day10\\ma.py")
False
>>>

 path.getsize(路径)

 path.getsize(路径)          路径(文件)的大小

>>> path.getsize(".")
4096

path.isdir()

path.isdir()                判断是否是文件夹

path.isfile()

path.isfile()                  判断是否是文件

path.join(前面路径,后面路径)

path.join(前面路径,后面路径)         路径拼接

>>> f="D:\\python\\Day10\\ma.py"
>>> path.join(f,"a.mp3")
'D:\\python\\Day10\\ma.py\\a.mp3'
>>>

路径拼接第二种方法

前面路径+os.sep+后面路径      #os.sep路径分隔符

>>> f="D:\\python\\Day10\\ma.py"
>>> f + os.sep +"a.mp3"
'D:\\python\\Day10\\ma.py\\a.mp3'
>>>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java题:查找单链表中第 k 个节点元素的值

遇到过一道奇奇怪怪的Java题&#xff0c;就整理出自己的想法&#xff0c;不知道对不对&#xff0c;还望大佬们指导。 题目 给定一个单链表&#xff0c;查找单链表中第 k 个节点元素的值&#xff0c;同时要求使用时间复杂度低的算法实现。 单链表的定义如下&#xff1a; cla…

2023年Flutter教程_Flutter+Getx仿小米商城项目实战视频教程-V3版

Flutter是谷歌公司开发的一款开源、免费的UI框架&#xff0c;可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。 目前 Flutter 已经支持 iOS、Android、Web、Windows、macOS、Linux 的跨平台开发。 GetX 是 Flutter 上的一个轻量且强大的解…

AI for Security:智能化安全对抗的困境

本篇文章主要结合自己的亲身经历和体会表达一下对AI for Security的看法,整体态度偏消极。 0x01 背景 本段将由大到小从国家、网上公开资料、项目三个方面说明智能化安全对抗时代的来临。 正如有时候觉得学得好不如嫁得好,在网络安全方面有时也是学得好不如运气好跟上了历史…

SAP ABAP 报表输出成 excel 统计图形 (RFC : GFW_PRES_SHOW_MULT)

SAP 预设了一个类型组 GFW &#xff0c;做简单的excel图形输出 话不多说&#xff0c;直接上代码&#xff1a; *&---------------------------------------------------------------------* *& Report ZCYCLE057 *&----------------------------------------------…

71 搜索二维矩阵

搜索二维矩阵 题解1 Z字查找(tricky)题解2 一次二分查找题解3 两次二分查找 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target …

如何在k8s的Java服务镜像(Linux)中设置中文字体

问题描述&#xff1a;服务是基于springboot的Java服务&#xff0c;在项目上是通过Maven的谷歌插件打包&#xff0c;再由k8s部署的。k8s的镜像就是一个Java服务&#xff0c;Java服务用到了中文字体。 解决这个问题首先需要搞定镜像字体的问题。有很多类似的解决方案&#xff0c;…

图解java.util.concurrent并发包源码系列——深入理解ConcurrentHashMap并发容器,看完薪水涨一千

图解java.util.concurrent并发包源码系列——深入理解ConcurrentHashMap并发容器 HashMap简单介绍HashMap在并发场景下的问题HashMap在并发场景下的替代方案ConcurrentHashMap如何在线程安全的前提下提升并发度1.71.8 JDK1.7的ConcurrentHashMap源码JDK1.8的ConcurrentHashMap源…

python 字符串str与字典dict转换

目录 python 字符串str与字典dict转换 字典转字符串字符串转字典 带引号不带引号 python 字符串str与字典dict转换 字典转字符串 c {a: 1, b: 1} bstr(c) print(b,type(b)) 字符串转字典 字符串转字典分两种情况&#xff0c;需要根据你的字符串内容是否带引号决定&#xff0c;…

网络流学习笔记

网络流基础 基本概念 源点&#xff08;source&#xff09; s s s&#xff0c;汇点 t t t。 容量&#xff1a;约等于边权。不存在的边流量可视为 0 0 0。 ( u , v ) (u,v) (u,v) 的流量通常记为 c ( u , v ) c(u,v) c(u,v)&#xff08;capacity&#xff09;。 流&#xff…

解决MySQL大版本升级导致.Net(C#)程序连接报错问题

数据库版本从MySQL 5.7.21 升级到 MySQL8.0.21 数据升级完成后&#xff0c;直接修改程序的数据库连接配置信息 <connectionStrings> <add name"myConnectionString" connectionString"server192.168.31.200;uidapp;pwdFgTDkn0q!75;databasemail;&q…

C# 超链接 LinkLabel 类 控件

LinkLabel 类 参考 反馈 定义 命名空间: System.Windows.Forms 程序集: System.Windows.Forms.dll 表示可显示超链接的 Windows 标签控件。 C#复制 public class LinkLabel : System.Windows.Forms.Label, System.Windows.Forms.IButtonControl 继承 Object Marsh…

【语义分割】语义分割概念及算法介绍

文章目录 一、基本概念二、研究现状2.1 传统算法2.2 深度学习方法 三、数据集及评价指标3.1 常用数据集3.2 常用指标 四、经典模型参考资料 一、基本概念 语义分割是计算机视觉中很重要的一个方向。不同于目标检测和识别&#xff0c;语义分割实现了图像像素级的分类。它能够将…

使用langchain-chatchat里,faiss库中报错: AssertionError ,位置:assert d == self.d

发生报错&#xff1a; AssertionError&#xff0c;发生位置&#xff1a;class_wrappers.py里 assert d self.d&#xff0c;假如输出语句&#xff0c;查看到是因为d和self.d维度不匹配造成&#xff0c;解决方式&#xff1a; 删除langchain-chatchat/knowledge_base里的info.db…

【iOS免越狱】利用IOS自动化web-driver-agent_appium-实现自动点击+滑动屏幕

1.目标 在做饭、锻炼等无法腾出双手的场景中&#xff0c;想刷刷抖音 刷抖音的时候有太多的广告 如何解决痛点 抖音自动播放下一个视频 iOS系统高版本无法 越狱 安装插件 2.操作环境 MAC一台&#xff0c;安装 Xcode iPhone一台&#xff0c;16 系统以上最佳 3.流程 下载最…

Python 算法高级篇:堆排序的优化与应用

Python 算法高级篇&#xff1a;堆排序的优化与应用 引言 1. 什么是堆&#xff1f;2. 堆的性质3. 堆排序的基本原理4. 堆排序的 Python 实现5. 堆排序的性能和优化6. 堆排序的实际应用7. 总结 引言 堆排序是一种高效的排序算法&#xff0c;它基于数据结构中的堆这一概念。堆排序…

C++进阶语法——OOP(面向对象)【学习笔记(四)】

文章目录 1、C OOP⾯向对象开发1.1 类&#xff08;classes&#xff09;和对象&#xff08;objects&#xff09;1.2 public、private、protected访问权限1.3 实现成员⽅法1.4 构造函数&#xff08;constructor&#xff09;和 析构函数&#xff08;destructor&#xff09;1.4.1 构…

Java基础 多线程

1.多线程创建方式1&#xff0c;继承Thread类&#xff1a; 2.多线程创建方式2&#xff1a; 匿名内部类写法 package thread;public class ThreadTest {public static void main(String[] args) {Runnable runnable new Runnable() {Overridepublic void run() {for (int i 0…

笔记本电脑的摄像头找不到黑屏解决办法

这种问题一般来说就是缺少驱动&#xff0c;就要下载驱动。 问题&#xff1a; 解决办法&#xff1a; 1.进入联想官网下载驱动 网站&#xff1a;https://newsupport.lenovo.com.cn/driveDownloads_index.html?v9d9bc7ad5023ef3c3d5e3cf386e2f187 2.下载主机编号检测工具 3.下…

虚幻中的网络概述一

前置&#xff1a;在学习完turbo强大佬的多人fps之后发觉自己在虚幻网络方面还有许多基础知识不太清楚&#xff0c;结合安宁Ken大佬与虚幻官方文档进行补足。 补充&#xff1a;官方文档中的描述挺好的&#xff0c;自己只算是搬运和将两者结合加强理解。 学习虚幻中的网络先从虚…

【Python机器学习】零基础掌握KNNImputer缺失值填充

面临数据不完整怎么办? 在日常生活和工作中,不完整或者缺失的数据是一个很常见的问题。例如,在医疗研究中,由于各种原因,如失访、设备故障等,数据集中可能存在一些缺失值。这些缺失值会影响后续的数据分析和模型训练。 KNNImputer(K-近邻插补)是一个非常实用的工具,…