首页 > 编程语言 > 详细

【python 学习笔记】

时间:2019-11-06 18:15:14      阅读:82      评论:0      收藏:0      [点我收藏+]
1,json,pickle 序列化,反序列化
  1. json.dumps()
  2. json.loads()

遇到的问题:
练习时一直报错:属性异常AttributeError: module ‘json‘ has no attribute ‘dumps‘
原因: 文件名我取名为了json.py.
Python找import json的顺序是:
首先我们要了解python中import引入模块的原理机制。当我们执行一行 from package import module as mymodule 命令时,Python解释器会查找package 这个包的module模块,并将该模块作为 mymodule 引入到当前的工作空间。所以import语句主要是做了二件事:
查找相应的module
加载module到local namespace
在import的第一个阶段,主要是完成了查找要引入模块的功能。查找时首先检查 sys.modules (保存了之前import的类库的缓存),如果module没有被找到,则按照下面的搜索路径查找模块:
.py 所在文件的目录
PYTHONPATH 中的目录
python安装目录,UNIX下,默认路径一般为/usr/local/lib/python/
3.x 中文件内容
也就是说,当我们import json的时候,它会先搜索json.py所在目录有没有对应的模块,由于我们命名的json.py与json模块文件重名,所以会误以为我们自己创建的json.py即为json模块文件,所以会出现这样的错误。
解决方法:改掉文件名。不要使用python的库名,内建函数名等关键字作为文件名

**

2,import sys,os**

os.path.abspath() 返回绝对路径。
os.path.dirname() 返回当前路径的目录。

3,time,datetime
时间有三种表示方法:
时间戳 54594275742572 可以反换算成格式化时间。
格式化时间 2019-02-49 12:34:00
元组,struct_time,如下time.localtime()返回的格式。
struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等)
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=5, tm_hour=15, tm_min=52, tm_sec=7, tm_wday=1, tm_yday=309, tm_isdst=0)
tm_wday(0到6 (0是周一),一周的第几日)
tm_yday(这一年的第几年,已经309天,总共365天。)
tm_isdst dst 是指夏令时,daylight saving time

结构化时间里调用单独的年,月日时。

s = time.localtime()
s.tm_mon #单独的月时。
11 #返回11月

时间戳转换
24395775/3600/24/365 +1970 即得出当前年份。

time.mktime()
time.strftime()
time.strptime()
time.localtime()
time.gmtime()

4,random
import random
import string

随机整数:

print random.randint(1,50)

随机选取0到100间的偶数:

print random.randrange(0, 101, 2)

随机浮点数:

print random.random() #0-1之间的浮点数。
print random.uniform(1, 10)

随机字符:选取其中的随机一个字符

print random.choice(‘abcdefghijklmnopqrstuvwxyz!@#$%^&*()‘)

多个字符中生成指定数量的随机字符:

print random.sample(‘zyxwvutsrqponmlkjihgfedcba‘,5)

从a-zA-Z0-9生成指定数量的随机字符:

ran_str = ‘‘.join(random.sample(string.ascii_letters + string.digits, 8))
print ran_str

多个字符中选取指定数量的字符组成新字符串:

print ‘‘.join(random.sample([‘z‘,‘y‘,‘x‘,‘w‘,‘v‘,‘u‘,‘t‘,‘s‘,‘r‘,‘q‘,‘p‘,‘o‘,‘n‘,‘m‘,‘l‘,‘k‘,‘j‘,‘i‘,‘h‘,‘g‘,‘f‘,‘e‘,‘d‘,‘c‘,‘b‘,‘a‘], 5))

随机选取字符串:

print random.choice([‘剪刀‘, ‘石头‘, ‘布‘])

打乱排序

items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print random.shuffle(items)

random.randint() #用于生成一个指定范围内的整数。

5,os

os.chdir(r‘/‘) # r为转义。 切换当前目录。
os.getcwd() #得到当前目录

【python 学习笔记】

原文:https://blog.51cto.com/rubyisteleanor/2448074

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!