python常有模块:模块、引入语法、两种执行方式、模块搜索顺序
本文目录:
一、模块三问、定义及分类
二、import和from的语法
三、文件的两种执行方式及搜索顺序
四、内置函数
一、模块、import和from的语法
1.什么是模块
模块是一堆功能函数的集合体,以文件为载体,以文件名.py为后缀,例如:A.py为文件名
A为模块名
2.什么要用模块
因为在写一个功能代码时,模块可以解决编写过程中,代码过长、杂乱、可读性差、和扩展性差等问题
3.怎么调用模块
import为关键字,用于导入模块中的功能
例如:import time
4.如何定义模块
创建一个文件,以py为后缀结尾,然后将功能写入文件中
5.模块的分类
自定义模块:第三方模块,由程序员自己编写的
内置模块:是用C语言编写,后经过python编译器解释而来
已经编译为DLL C或C++(用不到略去)
包:其实就是一堆模块组成的文件夹
二、import和from的语法
1.当执行import会:
创建了一个命名空间
被执行时,会将会将名字和地址对应的关系存在内存地址中
在执行文件时,创建该名字指向的地址是第一步创立的命名空间
执行文件和被导入的模块相互独立存在,和调用者无关
2.import的其他写法
import xxx as xxx
将模块名重命名,一般是简化名称,方便读取
import xxx,xxx
一次性导入多个模块
from xxx import xxx
从某个模块中导入某项功能
from xxx import xxx,xxx,xxx
从某个模块中导入多个功能
from xxx import *
从某个模块中导入所用功能
__all__用于控制 使用者可以使用的那些功能
from xxx import xx as xx
从某个某块中导入功能重新赋予名字
注意:from与import除了导入的功能和名称,其他特性一致
三、文件的两种执行方式和搜索顺序
1.文件的两种执行方式
执行文件的方式(右键run)
调用import某个文件功能
2.如何知道当下文件是执行文件还是被调文件
__name__这个名称 可以获当前执行状态
如果是__main__说明当前是执行文件
否则说明是作为模块被调用文件
表达式代码
if__name__=="__main__":
print("作为执行文件“)
else:
print("作为模块daoru“)
注意:在一次重复导入模块的某个功能时,只会被执行一次
3.模块的搜索顺序
内存中已经加载——》内置模块——》sys.path
通常我们编写编码时,会将自己写的模块的路径加入到sys.path中
四、内置函数
print(abs(-200))#abs绝对值
print(all([1,2]))#全部的意思,全部为真返回True
print(any([1,0]))#只要一个为真,返回True
print(type(1))#返回这个对象的类型
print(bin(11))#二进制
print(oct(12))#八进制
print(hex(13))#十六进制
print(bool(""))#返回布尔值
def f():
pass
print(callable(f))#是否可以被调用的意思,able是否可以的意思
print(chr(97))#吧整数变为unicode字符
print(chr(ord('哈')))#把字符变为utf-8码返回
print(type(eval("{'name':'egon'}")))#执行代码后返回执行后的类型
print(exec("1+2*3"))#执行代码后不返回结果
excuteable=compile("1+2*3","","eval")#将一个表达式 或时 一堆代码 编译成一个可执行对象
print(eval(excuteable))
python常有模块:模块、引入语法、两种执行方式、模块搜索顺序的更多相关文章
- PyCharm上unittest 测试用例两种执行方式
每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码 ...
- 导模块的细节:(跨文件导入模块 &模块的两种执行方式) | 包的概念与使用 | 包中的相对导入语法
今日内容 包: 1. 导入模块的细节 2. 包的概念与使用 3. 包中的相对导入语法 跨文件夹导入模块 1. 假设有一个文件夹a ,a 的下面有一个ma 的模块,如果a文件夹所在目录在环境变量,a文件 ...
- 【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- 【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- shell教程-001:shell简介 什么是shell,shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的. Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解 ...
- Pycharm上python运行和unittest运行两种执行方式解析
前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊... 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittes ...
- Golang两种执行流程以及区别
Go语言的执行方式有两种,一种是编译后再执行,另一种直接go run执行. 一.先编译后执行 .go文件(源代码)--->go build指令把源代码编译(如果是windows下会编译出一个.e ...
- python模块的导入的两种方式区别详解
Python 有两种导入模块的方法.两种都有用,你应该知道什么时候使用哪一种方法.一种方法,import module,另一种是from module import,下面是 from module i ...
随机推荐
- Dell 12V/18A电源适配器接口改造
手头有几个航模用的充电器,原来一直用实验室电源,不方便移动,为了便携省地方,就想配个合适的电源.在网上找了下,航模专用的适配器价格太高,国产的杂牌适配器功率虚标严重并且可靠性是个问题,工业用的电源基本 ...
- Django 虚拟化环境创建
A:linux下的方法: 1.用python3.6内置的venv创建名为 typeidea-env虚拟化环境: python3.6 -m venv typeidea-env 2.激活环境: cd ty ...
- Tensorflow之实现物体检测
目录 项目背景 TensorFlow介绍 环境搭建 模型选用 Api使用说明 运行路由 小结 项目背景 产品看到竞品可以标记物体的功能,秉承一贯的他有我也要有,他没有我更要有的作风,丢过来一网站,说这 ...
- 关于JavaScript的词法作用域及变量提升的个人理解
关于JavaScript的作用域,最近听到一个名词:“词法作用域”:以前没有听说过(读书少),记录一下对此的理解,加深印象. 词法作用域:在JavaScript中,一个函数的作用域,在这个函数定义好的 ...
- 通过案例来剖析JQuery与原生JS
首先来个例子: 我们在登陆或者注册一些网站时,如果某一项点过了但没填,鼠标移走后是不是经常看到网站有相应的红色字体提示呢? 那下面我们就以这个为例来剖析下jQuery和原生JS的一些区别,来上代码: ...
- vsphere6.7-虚拟机与ESXI时间同步
环境介绍 esxi 6.7+vsphere6.7 需求配置 设置虚拟机时间与esxi时间同步.esxi时间与NTP服务器同步 配置方式 在esxi上开启NTP服务器时间同步,如下图: 修改虚拟服务器的 ...
- Linux下nginx配置https协议访问的方法
一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...
- [转帖]差之毫厘谬之千里!带你认识CPU后缀含义
差之毫厘谬之千里!带你认识CPU后缀含义 https://diy.pconline.com.cn/718/7189243_all.html 2015-11-16 00:15 出处:PConline原创 ...
- 关于Oracle MAX()KEEP(DENSE_RANK LAST/FIRST ORDER BY ) 函数的使用分析
MAX()/MIN() KEEP(DENSE_RANK LAST/FIRST) 函数 解释: 1. max() 获取最大值: 2.min() 获取最小值; 3. keep 保持满足括号内条件的内容; ...
- Educational Codeforces Round 68 (Rated for Div. 2)补题
A. Remove a Progression 签到题,易知删去的为奇数,剩下的是正偶数数列. #include<iostream> using namespace std; int T; ...