Python学习杂记_13_模块(一)_基础
一、模块和模块调用
模块其实就是一个Python文件,模块的调用实际就是把这个Python文件从头到尾执行一遍。 如果是在相同路径下的调用: 1. 先导入整个模块,然后引用模块中的方法 import model # 导入模块 model.run1() # 执行模块中的方法
model.run2()
model.run() 2. 直接导入模块中具体的方法,然后直接使用方法 from model import run,run1 # 导入模块的方法 run() # 执行方法
run1() 3. 从模块中导入全部的方法,这种方法可以,但不提倡用,因为在后期排查错误是会非常难以定位 from model import *
from model2 import * run()
run1()
run2() 4. 从模块导入变量也是可以的
from model import name 如果是在不同的路径下,需要配置环境变量才可以,
比如,要在程序中使用E:\byz_code下day4.set1的hhh()方法 import sys
sys.path.append(r'E:\byz_code') # 这两行是配置环境变量,把路径E:\byz_code添加到环境变量 from day4.set1 import hhh # 导入和使用
hhh() 注意:
环境变量就是用来让你在任意一个目录都可以使用这个命令。
导入模块的时候,python首先在当前目录下去找这个模块,如果在当前
目录下没有找到这个文件的话,那么就去环境变量里面的目录找
过程如下:
import sys
print(sys.path) # 看系统环境变量
import model
model.run() 二、以下是一些Python中常常被使用的内置模块 import random print(random.random()) # 随机浮点数,默认取0-1,不能指定范围
print(random.randint(1, 20)) # 随机整数
print(random.randrange(1, 20)) # 随机产生一个range
print(random.choice([1,2,3,4,5])) # 随机取一个元素
print(random.sample([1,2,3,4,'6'], 3)) # 从序列中随机取几个元素,返回的是一个list
print(random.uniform(1, 88888)) # 随机取浮点数,可以指定范围 x = [1, 2, 3, 4, 5, 6]
random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值 import string
print(string.ascii_letters + string.digits) # 所有的数字和字母
print(random.randint(1, 20)) # 随机整数
print(random.choice([1,2,3,4,5])) # 随机取一个元素
print(random.sample('hello', 3)) # 从序列中随机取几个元素,返回的是一个list
print(random.uniform(1, 88888)) # 随机取浮点数,可以指定范围
x = [1, 2, 3, 4, 5, 6]
random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值
print(x) import json
# json很像python的字典类型,但是json里面只能是双引号,不能是单引号,json串实际上就是一个字符串 json_str = """
{
"username": "niuhanyang",
"passwd": 123456,
"flag": true
}
"""
fr = open('users')
json_dic = json.loads(json_str) #json串(字符串)转成字典,loads方法是把json转成字典
json_dic_file = json.load(fr) #json串(字符串)转成字典,load方法是传入一个文件对象,然后load方法自动去读这个文件的内容,然后转成字典 print(json_dic_file)
print(type(json_dic_file)) d = {
"hhh": {
"price": "90000",
"password": "123456"
},
"admin": {
"password": "123456",
"money": 8000
}
} fw = open('users.json','w')
dic_str = json.dumps(d) #把字典变成json串(字符串)
json.dump(d,fw)
print(dic_str)
print(type(dic_str)) 注意:
#json可以用字典和list
#dump和dumps字典转json串的
#load和loads是json串转字典
#带s就和字符串沾边,不带s和文件对象沾边
Python学习杂记_13_模块(一)_基础的更多相关文章
- Python学习杂记_14_模块(二)_常用模块
常用模块 random 模块 import random print(random.random()) # 随机浮点数,默认取0-1,不能指定范围 print(random.randint(1, 20 ...
- python学习笔记五 模块上(基础篇)
模块学习 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- python学习笔记五 模块下(基础篇)
shevle 模块 扩展pickle模块... 1.潜在的陷进 >>> import shelve>>> s = shelve.open("nb" ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...
- python学习之argparse模块
python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...
- Python学习系列(八)( 面向对象基础)
Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类 ...
- Python学习-第三天-面向对象编程基础
Python学习-第三天-面向对象编程基础 类和对象 简单的说,类是对象的蓝图和模板,而对象是类的实例.这个解释虽然有点像用概念在解释概念,但是从这句话我们至少可以看出,类是抽象的概念,而对象是具体的 ...
- Python学习day19-常用模块之re模块
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day18-常用模块之NumPy
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
随机推荐
- BZOJ 5004: 开锁魔法II
比较显然 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; i ...
- 《Cracking the Coding Interview》——第9章:递归和动态规划——题目5
2014-03-20 03:23 题目:给定一个字符串,输出其全排列. 解法:可以调用STL提供的next_permutation(),也可以自己写一个.对于这种看起来简单的题目,应该在能优化的地方, ...
- 《Cracking the Coding Interview》——第4章:树和图——题目1
2014-03-19 03:30 题目:判断一个二叉树是否为平衡二叉树,即左右子树高度相差不超过1. 解法:递归算高度并判断即可. 代码: // 4.1 Implement an algorithm ...
- 《算法》C++代码 Dijkstra
单源最短路,复杂度是O(N²),堆优化的是O(NlogN).基本思想是贪心,每次都加入一个当前最近的点,可以证明每次当时最近的点就是当前最短的路径.因此,所有点都加入之后,起点到所有点的最短路径就都求 ...
- NOIP 2018 总结
NOIP 2018 总结 提高组: 应得分 \(100 + 100 + 40 + 100 + 50 + 44 = 434\). 考后期望得分 \(100 + 100 + 20 + 100 + 50 + ...
- es6实现简单模板编译
现在有各种框架,其中一个主要模块就是关于template.最火的vue.react等框架,在这一块上也是是下足了功夫.我也想写一个自己的模板编译工具,所以就做了个简单的实现,主要是使用es6的反引号编 ...
- Git上手:四种常见的Git协同工作方式
1.集中式工作流 适用人群:开发小团队(4-5人),习惯使用SVN工具的小团队. 工作方式:团队组长创建远程仓库,创建一个master分支,组员可读可写. 每个开发人员都git clone远程仓库到本 ...
- 转:Redis设置认证密码 Redis使用认证密码登录 在Redis集群中使用认证密码
Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用.这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安 ...
- [OpenCV] Ptr类模板
1.C++泛型句柄类 我们知道在包含指针成员的类中,需要特别注意类的复制控制,因为复制指针时只复制指针中的地址,而不会复制指针指向的对象.这将导致当两个指针同时指向同一对象时,很可能一个指针删除了一对 ...
- ZOJ 3717 Balloon ( TLE )
正解2-SAT. 我用DLX想搜一搜的,结果TLE了…… 没什么遗憾,最起码我尝试过了. 扔个代码留作纪念. #include <cstdio> #include <cstring& ...