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:yz_code下day4.set1的hhh()方法

import sys
sys.path.append(r'E:yz_code') # 这两行是配置环境变量,把路径E:yz_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和文件对象沾边
原文地址:https://www.cnblogs.com/victory-0315/p/8617669.html