运维初学PythonDay04

创建模块

每一个以.py作为结尾的python文件都是一个模块

不要与系统中已经存在的模块名重名

模块文件去掉后面的.py扩展名即为模块名

模块的导入

为什么要导入模块 简化代码 提高效率 1.import random

2. from random import randint

3 import random as rd 别名

Return返回值

return 表示函数的终 值 默认加 return None

模块的加载

一个模块只会被加载一次

导入模块的特性

当模块直接执行时__name__等于__main__

当模块被其他模块执行时__name__ 就是该模块的名字

防止在被其他文件导入时显示多余的程序主体部分

随机密码string模块

string.digits生成所有数字

string.ascii_letters 生成所有大小写字母

def suijishu(n=8):
    import random,string
    sum=""
    for i in range(n):
        suiji = random.choice(string.digits+string.ascii_letters)
        sum +=suiji
    return sum
if __name__ == '__main__':
    print(suijishu(5))

Time模块

时间戳 从1970年1月 1日到此时此刻所经历的秒数 结构化时间 (struct_time)

由9个元素组成 结构化时间中的属性含义:

tm_year:年, tm_mon:月, tm_mday:日, tm_hour:时, tm_min:分, tm_sec:秒, tm_wday:星期(0-6,周日为0), tm_yday:今年第几天, tm_isdst:是否夏令时

返回结构化的函数有gmtime(),localtime(),strptime()

1.time.localtime([secs]):将一个时间戳转换为当前时区的结构化时间struct_time

2. time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。

3. time.time():返回当前时间的时间戳

4. time.mktime(t):将一个struct_time转化为时间戳。

5. time.sleep(secs):线程推迟指定的时间运行。单位为秒。

6.time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串 如果为指定t ,将传传入localtime()

7.time.strptime(string[, format]):把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。

时间样式

%Y年%m月%d日%H时%M分%S秒%Z时区的名字

%w一个星期中的第几天 (0-6)0是星期日

只有结构化时间可以相互比较,越靠后的时间越大

一 、案列:一段时间段的日志否和要求的去取出来

import time
t9=time.strptime("2030-01-02 09:00:00","%Y-%m-%d %H:%M:%S")
print(t9)
t12=time.strptime("2030-01-02 12:00:00","%Y-%m-%d %H:%M:%S")
print(t9)
with open('/opt/myweb.log',mode="r") as fobj:
    for line in fobj.readlines():
        t=time.strptime(line[:19],'%Y-%m-%d %H:%M:%S')
        if t9<= t <=t12:
            print(line,end="")
  1. 链式赋值

a=b=20 底层是两个 内存的存储空间c=d=[1,2,3]

c.append(123)

c,d都变了 共用一组内存可变的类型

2.变量的多元赋值

变量的个数与值的个数相等

e,f="hello",100

g,h="13" #这个右边为可迭代对象

x,y=[123,456]

3.交换两个变量的值

a,b=10, 20

a,b=b,a

print(a,b)此时发现已经改变

内建函数

list()把可迭代对象转换为列表

str()把obj对象转换为字符串

tuple()把一个可迭代对象转换成一个元组对象

你需要知道

1 如何将两个变量a和b的值互换?

a,b=b,a

2 标识符满足哪些条件,才是合法标识符?

第一个字符必须是字母或者下划线

其余字符可以是字母数字下划线

大小写敏感

3 如何获取python中所有的关键字?

import keyword

print(keyword.kwlist)

4 举例说明python的模块文件布局

模块说明文档’‘’‘’‘’

导入模块

全局变量声明

类定义

函数定义

程序主体

5 字符串变量astr的内容是hello。将其转换为大写字母的方法是astr.upper(),执行完毕后,astr会不会变成大写字母?为什么?

不会 因为字符串是不可变类型 他能返回一个新的大写字母字符串 但是他的本身不变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small white poplar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值