zoukankan      html  css  js  c++  java
  • day3笔记

    .字符串常用方法

    #s="hahaha."
    # print(s.count("a"))#元素出现次数
    # print( s.index("b",2))#取下标的 2是指定位置开始找 不指定从第一个开始找
    # print(s[0])#通过下标取值
    #s.find("b")#找下标 寻找不存在的元素 默认返回-1 index会报错
    #print(s)
    # print(s.strip())#默认去掉字符串两边的空格和换行符
    # print(s.strip("."))#去掉指定的字符串
    # print(s.lstrip(""))#去掉左边
    # print(s.rstrip(""))#去掉右边
    # print(s.startswith("1"))#是不是以1开头的 是返回ture 不是返回false
    # print(s.endswith("com"))#以com# 结尾 是返回ture 不是返回false
    # print(s.lower())#全部变成小写
    # print(s.upper())#全部变成大写 HAHAHA.
    # print(s.islower())#判断是不是全部小写
    # print(s.isupper())#判断是不是全部大写
    #s=[1,2,3,4,5,6,7]
    #s="555"
    #s="m"
    #s="marry"
    #print(s.zfill(5))#用来补0的 00555
    #s.capitalize()#首字母大写 M
    # print(s.replace("r","R"))#替换字符串 maRRy 可以替换字符串中空的字符串
    # print(s.replace("r","R",1))#可以指定替换次数 maRry
    # s="2"
    # print(s.isdigit())#判断是否是纯数字 True
    # print(s.center(50,"*"))#用来剧中 第一个是多长 第二个是用什么补齐************************2*************************
    # # s.isalnum()
    # s.isalpha()
    # s=" "
    # print(s.isspace())#判断是不是空格 True
    # s="编号是,{},{}"
    # print(s.format(1,2))#编号是,1,2
    # s="编号是,{name},{age}"
    # print(s.format_map({"name":1,"age":35}))#编号是,1,35
    s="hahaha"
    s1="---"
    #如果是大小写字母,汉字,数字返回true,其他的字符串返回false
    print(s.isalnum())#True
    #如果是大小写字母,汉字返回true,其他的字符串返
    print(s1.isalpha())#False
    # s="z,b,r,l,n,h"
    # s1="z b r l n h"
    # s2="z.b.r.l.n.h"
    # #s.split()分割字符串 转换成列表list
    # print(s.split(","))#['z', 'b', 'r', 'l', 'n', 'h']
    # print(s1.split())#['z', 'b', 'r', 'l', 'n', 'h']
    # print(s2.split(","))#['z.b.r.l.n.h']
    # l=['z', 'b', 'r', 'l', 'n', 'h']
    #s="z,b,r,l,n,h"
    #把列表里边的每一个元素连接起来变成一个字符串
    # print(",".join(l))#z,b,r,l,n,h 把list里边的没一个元素用逗号连接起来
    # print("=".join(l))#z=b=r=l=n=h

    重点记忆的几种字符串方法

     二.字符串切片

    
    
    #l=list(range(1,11))#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    l=list(range(1,11))#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    print(l[0:11])#顾头不顾尾[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    print(l[0:])#从0开始取到末尾
    #print(l)
    #步长
    print(l[0:11:2])#各2个取一个 加上自己本身开始算[1, 3, 5, 7, 9]
    print(l[::2])#[1, 3, 5, 7, 9]
    print(l[::-1])#负数从后往前取[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
    print(l[0:11:-1])#[]步长用负数,前边也要用负数
    print(l[-1:-11:-1])#[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
    print(l[-1:-6:-1])#[10, 9, 8, 7, 6]
    
    

    三.判断  非空即真,非0即真

    #非空即真,非0即真
    True
    False
    S=""#False
    L=[]#False
    d={}#False
    t=()#False
    se=set()#False
    num=1#True
    num2=0#False
    l1=["",""]#True
    print(S)
    
    

    实例:

    
    
     for i in range(3):
    # choice=input("1,登陆,2,取钱,3,退出:").strip()
    # if choice:#非空即真
    # print("已经输入了")
    # else:
    # print("输入不能为空")
    for i in range(3):
    choice=input("1,登陆,2,取钱,3,退出:").strip()
    if not choice:#非空即真 取反 choice not true not false
    print("为空")
    else:
    print("已经输入了")
    
    

    -1布尔类型

    
    
    #布尔类型
    #结果只返回True False

    四.元组

    l=(1,2,3)
    #元组通过下标取值
    #print(l[0])
    # #循环元组
    # for i in l:
    # print(i)
    # #元组不支持修改 值不变
    # l[0]=3
    # #方法
    # l.index()#找下标
    # l.count()#找个数
    l2=(1,)#元组只有一个元素一定要加逗号,才能认定是元组
    print(l2)

    五.如何循环字典

    usernames = ['xiaohei', 'xiaobai', 'xiaoming']
    passwords = ['123456', '11111', '1']
    d={'xiaohei': '123456', 'xiaobai': '11111', 'xiaoming': '1'}
    for key in d:
    value=d.get(key)
    print("%s,%s"%(key,value))
    # l = [
    # ['xiaohei', '123456'],
    # ['xiaobai', '11111'],
    # ['xiaoming', '1']
    # ]
    # # list取值 二维数组才可以这样取值
    # for a,b in l:
    # print(a,b)
    
    

    六.集合

    # #集合可以去重
    # #集合是无序的
    # s={1,2,3,7,7,7,6,6,6}#{1, 2, 3, 4, 5, 6, 7}
    # #print(s)
    # l=[1,2,3,4,5,6,6,6,7,7,7,]
    # l=list(set(l))
    # print(l)#[1, 2, 3, 4, 5, 6, 7]
    # # #定义空集合
    # # s2=set()
    # s.add(8)#添加元素
    # print(s)#{1, 2, 3, 4, 5, 6, 7, 8}
    # s.update({4,5,6})#把另一个集合加入这个集合
    # print(s)
    # s.remove(4)#删除指定元素{1, 2, 3, 5, 6, 7, 8}
    # print(s)
    #关系测试
    #交集 并集 差集 对称差集
    #取交集
    # l1=[1,2,3,4]
    # l2=[2,4,5,6]
    # l1=set(l1)
    # l2=set(l2)
    # print(l1&l2)#取交集{2, 4}
    # print(l1.intersection(l2))#取交集{2, 4}
    # #并集 去重
    # print(l1.union(l2))#{1, 2, 3, 4, 5, 6}
    # print(l1|l2)#{1, 2, 3, 4, 5, 6}
    # #差集
    # print(l1-l2)#{1, 3} 在a集合里存在,在b集合里不存在
    # print(l1.difference(l2))
    # #对称差集
    # print(l1^l2)#{1, 3, 5, 6} 把a集合和b集合里面相同的元素去掉,取剩下的
    # print(l1.symmetric_difference(l2))
    # l1=range(4,2)
    # l2=[2,4,5,6]
    # print(l1.issuperset(l2))#判断a集合是不是b集合的父集
    # print(l2.issubset(l1))#判断a集合是不是b集合的子集
    
    

    七.文件操作

    
    
     1,打开文件
    # 2,读/写文件
    # 3,关闭文件
    f=open(r"a.txt.py","r",encoding="utf-8")#打开的模式 r w a
    # result2=f.readline()#读文件只读一行
    # result3=f.readlines()#读取文件里面所有的内容,返回的是一个list,每行的内容是list一个元素
    # result=f.read()#读文件 获取文件里边的全部内容
    print("result3",result3)
    f.close()
    #文件指针
    #处理大文件的时候 循环一次取一次
    # count=0
    # for line in f:
    # print(line)
    # count+=1
    # print(count)
    #r是只读模式
    #w写模式 把以前的内容清空掉 新文件用w 老文件不要用w
    #新的文件如果没有,会自动创建新文件
    f=open(r"a1.txt.py","w",encoding="utf-8")#打开的模式 r w a
    f.write("wwwwww")#把之前内容替换掉了
    l=["1234 ","56789 ","abcdef"]#换行
    #f.writelines(l)#循环写 与用for循环结果一致
    for i in l:
    f.write(i)
    f.close()

    -1监控日志练习

    1、监控,一直在运行,死循环,每分钟读一次文件
    #2、第一次运行,读取文件所有的内容,从文件内容里面获取到ip地址,以及每个ip地址出现的次数
    #4、记住当前指针的位置,下次从这个位置开始读
    #5、判断每个ip地址出现的次数,如果大于50次,那么发短信报警
    #6、等待60秒,继续重复上面的操作,读文件,获取内容
    import time
    point = 0 #最前面的位置

    while True:
    ip_list = {} # {ip:2 }
    f = open('access.log',encoding='utf-8')
    f.seek(point)#移动文件指针到哪个位置
    for line in f:
    ip = line.split()[0]
    if ip not in ip_list:
    ip_list[ip] = 1
    else:
    ip_list[ip] = ip_list[ip]+1
    point = f.tell() #当前文件指针的位置
    f.close()
    for ip in ip_list:
    count = ip_list.get(ip)
    if count>=50:
    print('ip地址【%s】有问题,请注意!'%ip)
    time.sleep(60)
     
  • 相关阅读:
    Maven学习总结(9)——使用Nexus搭建Maven私服
    Maven学习总结(8)——使用Maven构建多模块项目
    Maven学习总结(8)——使用Maven构建多模块项目
    Maven学习总结(8)——使用Maven构建多模块项目
    Maven学习总结(7)——eclipse中使用Maven创建Web项目
    Maven学习总结(7)——eclipse中使用Maven创建Web项目
    Maven学习总结(7)——eclipse中使用Maven创建Web项目
    Maven学习总结(6)——Maven与Eclipse整合
    Maven学习总结(6)——Maven与Eclipse整合
    nmon
  • 原文地址:https://www.cnblogs.com/dajiezi/p/12775482.html
Copyright © 2011-2022 走看看