0X01 python日期和时间
- time和calendar模块
1、time.time():获取当前时间戳(格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数)
import time
ticks=time.time()
print ticks
2、struct_time元组(时间元组)
3、localtime
浮点数的时间戳方式向时间元组转换
import time
localtion=time.localtime(time.time())
print localtion
4、asctime()
某种可读的时间模式
import time
localtime=time.asctime(time.localtime(time.time()))
print localtime
5、格式化日期
使用time模块的strftime方法
import time
print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
6、time.mktime()
//格式字符串转时间戳
import time
a = 'Sat Mar 28 22:24:24 2016'
print time.mktime(time.strptime(a,'%a %b %d %H:%M:%S %Y'))
7、calendar模块
//处理处理年历和月历
import calendar
cal=calendar.month(2018,5)
print cal
8、calendar.isleap()
//判断某年是否为闰年
import calendar
print calendar.isleap(2018)
9、calendar.leapdays(y1,y2)
//计算y1至y2年之间的闰年数
import calendar
print calendar.leapdays(2000,2018)
0X02 python函数
- 自定义函数格式
def 函数名(参数名):
函数关系式
return [表达式]
//return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
- 调用自定义函数
def 函数名(参数名):
函数关系式
return [表达式]
自定义函数名[实际参数值]
- 参数传递
//python中,类型属于对象,变量是没有类型的。 - 不可更改和可更改对象
//strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
0X03 python模块
- 模块导入
//一个模块只会被导入一次
import 模块名
- 模块引用
模块名.函数名
- 部分导入
from 模块名 import 函数名
- 全部导入
from 模块名 import*
//import 导入模块,每次使用模块中的函数都要是定是哪个模块。
from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;因为已经知道该函数是那个模块中的了。
- 搜索路径
当你导入一个模块,Python 解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
- dir()
dir() 函数是一个排好序的字符串列表,内容是一个模块里定义过的名字;返回的列表容纳了在一个模块里定义的所有模块,变量和函数。 - reload()
\ \当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次。reload()重新执行模块里顶层部分的代码,重新导入之前导入过的模块
reload(模块名)
网友评论