Python学习心得(10)
函数
1,匿名函数:
lambda表达式通常就用在当需要使用一个函数而无需给其命名的时候,也就是所谓的匿名函数,不需要耗费精力去命名,只需在lambda后面跟上表达式即可
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象
x = lambda y:y**2
print(x(5))
#25
或者还有更简洁的办法
print((lambda y : y**2)(5))
而换做平常的直接定义函数的方式会使得代码量增加
def y(x):
return x**2
print y(5)
其实,lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。
lambda函数也有它的独特之处:
- 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
- 对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
- 使用lambda在某些时候让代码更容易理解。
2,时间函数:
import time导入time包
time.sleep()用于推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。
time.time() #返回当前时间的时间戳(1970纪元后经过的浮点秒数)单位为秒
d = time.strptime()根据指定的格式把一个时间字符串解析为时间元组
d = time.strptime("2020-1-13 11:16:25","%Y-%m-%d %H:%M:%S") str-->tuple
time.strftime()接收以时间元组,并返回以可读字符串表示的当地时间,
d = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) str<--tuple
time.clock()
3,日历
import calendar导入calendar包
calendar.month()返回一个多行字符串格式的year年month月日历
calendar.month(2020,1,w=3,l=1)
#January 2020
#Mon Tue Wed Thu Fri Sat Sun
# 1 2 3 4 5
# 6 7 8 9 10 11 12
# 13 14 15 16 17 18 19
# 20 21 22 23 24 25 26
# 27 28 29 30 31
calendar.firstweekday() 显示每周第一天默认情况下,首次载入caendar模块时返回0,即星期一。
calendar.isleap() 判断是否是闰年
calendar.isleap(2020)
#True
calendar.monthcalendar() 返回日期列表
calendar.monthcalendar(2020,1)
#[[0, 0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26], [27, 28, 29, 30, 31, 0, 0]]
calendar.monthrange() 返回两个整数组成的元组,第一个是该月的第一天是星期几,第二个是该月的天数。
calendar.monthrange(2020,1)
#(2, 31)
4,随机函数
import random
random.seed(42) 改变随机数生成器的种子
random.random() 方法返回随机生成的一个实数,它在[0,1)范围内
print(random.random())
#0.551428908931943
random.uniform() 方法将随机生成下一个实数,它在 [x, y] 范围内
random.uniform(3,1)
#1.6544501094185722
random.randint(1,10)随机整数[1,10] 并且 a<b
random.randrange(1,10,2) 取1到10之间间隔为2的随机整数
random.choice(“asdfghjkl”) 从字符串,元组,列表中随机提取一个元素
random.shuffle(s)将序列s中的元素顺序打乱
import random
s = [1,2,3,4,5,6,7,8,9]
random.shuffle(s)
print(s)
#[5, 6, 2, 3, 4, 8, 9, 1, 7]
random.sample(s,3)从s中随机获取3个值
s = [1,2,3,4,5,6,7,8,9]
print(random.sample(s,3))
#[5, 7, 4]