首页 > 编程语言 >python学习——【第十三弹】

python学习——【第十三弹】

时间:2023-02-24 22:03:56浏览次数:47  
标签:第十三 python pow 学习 模块 print math 函数

前言

上一篇文章 ​​python学习——【第十二弹】​​中学习了python中的深拷贝和浅拷贝,这篇文章接着学习python中的模块。

什么是模块

在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。

模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。

python中的常见的系统内置模块有:

os模块:os模块包含普遍的操作系统功能

sys模块:提供了一系列有关Python运行环境的变量和函数

random模块:random模块用于生成随机数

time 模块: 主要包含各种提供日期、时间功能的类和函数

datetime模块:对time模块的一个高级封装

shutil模块:是一种高层次的文件操作工具

logging模块:将日志打印到了标准输出中

re模块:可以直接调用来实现正则匹配

pymysql模块:连接数据库,并实现简单的增删改查

threading模块:提供了更强大的多线程管理方案

queue模块:实现了多生产者,多消费者的队列

json模块:用于字符串和数据类型间进行转换json

模块的导入

python中导入模块的方法有:

import  模块名称  [as别名]


 from  模块名称 import  函数/变量/类

我们用例子具体实现下:

import  模块名称  [as别名]

# 例子1  导入数学运算模块  math
import math
print(math,id(math),type(math))
print(math.pi) #返回一个浮点数 3.141592653589793,表示圆周率。
print('------------------进行math模块中相关函数的使用-----------/')
print(dir(math))
print('pow()函数的使用',math.pow(2,3),type(math.pow(2,3))) #2的3次方
print('向上取整',math.ceil(3.00001)) #向上取整 4
print('向下取整',math.floor(3.99999)) #向下取整3

python学习——【第十三弹】_python


from  模块名称 import  函数/变量/类

# 只引入math模块中的pi
from math import pi
print(pi) #3.141592653589793

当我们使用该方法引入模块时,要注意我们导入的是该模块中的pi常量,如果此时我们再引入math模块中其他的函数时程序就会报错:

python学习——【第十三弹】_模块_02

from math  import  pi
# 尝试引入pow()函数
print(pow(2,3),type(pow(2,3))) #8 <class 'int'>

 我们看到当我们再尝试引入没有进行导入的math函数时,会发现竟然也有返回值; 但是这里的pow()函数并非math模块中的函数,他输出的类型是int型而非math模块中pow函数的输出类型float型,因此虽然出现了返回值,但它调用的并非math模块中的pow()函数。

python学习——【第十三弹】_自定义_03

自定义模块

了解了什么时python中的模块后,我们就可以自定义模块了:

自定义模块将python文件的名字命名为一个简洁、见名知意的文件名。

python学习——【第十三弹】_python_04

定义了一个cal模块
def add(a,b):
return a+b
def div(a,b):
return a/b

然后进行自定义模块的导入:

# 引入新建的cal模块
import cal
print(cal.add(10,30))
print(cal.div(10,20))

# 只导入cal模块中的add函数
from cal import add
print(add(10,20))
# print(math.add(10,20)) #NameError: name 'math' is not defined

python学习——【第十三弹】_python_05

进行主程序运行

​在每个模块的定义中都包括一个模块名称的变量 __name__ ,变量的值是__main__。 程序可以检查该变量以确定它们在哪个模块中执行; 如果一个模块不是被导入到其他的程序中执行的, 那么它可能在解释器的顶级模块中执行。

我们自定义一个模块cal2:

python学习——【第十三弹】_模块_06

在index1.py中对其进行导入:

python学习——【第十三弹】_取整_07

我们发现当我们在运行index1的文件时,运行结果是将cal2也运行了,也就是说cal2被index1导入后会在index1运行时也运行,如果我们想指定某个程序运行怎么办呢?

这就需要在cal2这个模块中添加主程序运行代码:

def  add(a,b):
return a+b
# 直接运行cal2程序 只有点击运行cal2这个文件时才能运行如下语句
if __name__ =='__main__':
print(add(10,30))

python学习——【第十三弹】_模块_08

这样就能避免模块被导入后,和新的文件同时运行了。

每篇一语

世上无难事,只怕有心人!

如有不足,感谢指正!

标签:第十三,python,pow,学习,模块,print,math,函数
From: https://blog.51cto.com/u_15928170/6084380

相关文章

  • 机器学习(Tensowflow) 环境搭建(Anacoda的lab 使用)
    说明:本篇文章用于tensorflow学习,学习地址在bilibi,我会将自己做的笔记写成博客,最后会写成目录的,放上链接,方便大家阅读.1.创建的名字随便取一个就行2.确保有Tens......
  • monodepth2学习
    monodepth2学习相关网站​​https://www.cnblogs.com/blackworld-sp/category/2205853.html​​​​https://blog.csdn.net/avideointerfaces/article/details/105925104​......
  • 学习进度
    今天自学了4小时计算机网络,对计算机网络的所有课后习题都做了一遍,对此,我深有所得,通过对习题的学习,我更加清楚地掌握了计算机网络的知识,以及大的框架,这门学科很费时间,它的题......
  • Android Studio-Button的学习
    今天学习了Button,也学习了Button事件,但是事件学的不好,明天会重复对Button的学习1:<Buttonandroid:text="按钮"android:background="@drawable/btn_sele......
  • python For - Else
    循环是任何语言的一个必备要素。同样地,for循环就是Python的一个重要组成部分。然而还有一些东西是初学者并不知道的。我们将一个个讨论一下。我们先从已经知道的开始。......
  • 软件工程学习第五天
        今天一天满课,所以我只拿了半小时继续学习css,今天学习了链表的相关知识。    链接的样式允许设定任何CSS属性,例如背景颜色,字体之类。而且链接可以有不同......
  • python lambda表达式
    lambda表达式是一行函数。它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。Lambda表达式......
  • IDApython
    IDApython里面常用的函数指令importidc#对ea所在地址进行反汇编,得到汇编指令字符串idc.GetDisasm(ea)#获取上一条指令地址,返回int类型idc.prev_head(ea)#获取下......
  • python正则表达式替换所有内容并同时保留找到的内容
    除了一些专业的工具,例如ue,大部分变成语言的函数包都挺让人迷惑的。因为的确有许多功能是很常用的,但是他们又不提供,非得要程序员自己去实现,或者是利用三方的包.例如我们会......
  • Mac 创建Python3虚拟环境
    Mac创建Python3虚拟环境1、安装virtualenvpip3installvirtualenv安装virtualenvwrapperpip3installvirtualenvwrapper创建所以.virtualenvs的隐藏文件夹存......