zoukankan      html  css  js  c++  java
  • python 第二天

    一.数据类型
    1.数字   int
    2.整型  
    3.浮点型  float

    a += 1  和  a = a+1 方法相同


    布尔值:真和假,1 和 0 ,1是真,0是假


    二.字符串
    填充、删减、变形、切分、连接、判定、查找、替换、编码
        type('a')
        str(1) #转换成字符串
        int('1') #转成数字
        #自动换行

    1.填充
    name = 'WMH'
    name.center(10,'*')
    expandtabs() #expandtabs()的tabsize 参数默认为8填充空格,但必须有 制表符
    print('a b'.expandtabs())
    print('a b'.expandtabs(4))   # 为制表符
    print('KKKKKKK123dddd'.lower())  #转小写
    print('jfksjfsa'.upper())  #字符串转大写
    print('jfksjfsa'.capitalize()) #首字母大写
    print('a'.join('bcd')) #返回字符串,插入字符,隔一个插一个

    2.删减
    strip()  #去两边,脱衣服
    print('   a   '.strip())

    3.字符串判断 ==> 索引(下值,位置参数,传参)
    #索引:
            'hello python'
            'hello python'[0]
            'hello python'[1]
            'hello python'[0:2] #0到2的索引,返回he,有下限,没有上限
            'hello python'[2:] #从2到最后
            'hello python'[-1] #只取最后
            'hello python'[0:-1]
            'hello python'[:] #从0到最后
            'hello python'[::2]
            '0123456789'[::2] #格2取1
            '0123456789'[::3] #格3取1
            len('hello python') #返回字符串长度
    4.判断:
            isalnum()  #判断是否为字母或数字组成,返回True或False
            name = '123acb'
            name.isalnum()
            '123abc'.isalnum()
            isalpha() #判断是否为字母组成,返回True或False
            isdigit()#判断字符串是否为数字组成,返回True或False
            islower() #判断是否为小写字母
            isspace() #判断是否为空格
            startswith() #以什么开始
            'ssdfsfds'.startswith('s',3,5)
            endswith() #以什么结束
            'ssdfsfds'.endswith('f')

    判断是否为数字,不是即返回错误数据类型
    age =input("your age : ")
    if age.isdigit():
        age = int(age)
    else:
        print("invalid data type")

    your age : sdfsa
    invalid data type

       
    5.字符串查找
            count()
                'dsfsdfasfd'.count('f') #统计f的个数
                'dsfsdfasfd'.count('a',0,5) #查找a,从0到5,不包括5
            find()
                'dsfsdfasfd'.find('a')
                'dsfsdfasfd'.find('f') #查找完返回索引值
                'dsfsdfasfd'.find('f',4) #查找完返回索引值
                'dsfsdfasfd'.find('k') #找不找返-1
            index()
                'dsfsdfasfd'.index('k') #找不找返错

    6.字符串替换
            replace()
                'hello python'.replace('h','H') #h替换H
                'hello python'.replace('h','H',1)#1是指最大替换个数
    7.字符串编码chr ord #ascii码,对信息加密方式
                chr(a)
                ord(97)    
             encode() #加码
             decode() #解码
                 a = u'aaaa'
                 a.encode('gbk')
                 print a
                 a.decode('utf-8')
                 print  a.decode('utf-8')

            a = '中国'
            a.encode('utf-8')
            a.decode('gbk')
            print a.decode('gbk')
            print a.decode('gbk').encode('utf-8')
    8.字符串拼接
            'a'+'b'
            'a'*3   #打印三次
            #不要type()判断是否为数字
            print("wmh"+ "wml")

    二.列表

    1.索引
    根据索引号打印值
    name = ["minghu","minglong","jack",22,9,['dfsj','fksjd'],23]
    print(name[-1])       #根扰索引号打印对应的字符,打印最后一个索引的值
    print(name[-2])       #打印最后第二个索引的值
    print(name[0:1])      #打印索引0到1,不包括1

    print(name[2:5])      #打印索引2到5的值,不包括最后的索引
    print(name[-5:])      #取最后5个值
    print(name[-5:-1])    #不取最后一个
    print(name[:])        #取全部
    print(name[:6])       #取索引开头到索引6,不包括6


    2.二次取
    print(name[5][0])   #取列表中列表索引 
    print(name[:6][2:4][0])

    3.修改:
    name[1] = "wangminghu"
    print(name)


    4.插入
    name.insert(2,'minggo')
    print(name)

    5.追加
    name.append("alex")


    6.删除
    name.remove("minggo")

    7.查找:
    print(9 in name) #判断9是否在列表中,有则返回True,无则返回False
    name=['9','9','8']
    print(name.count("9"))  #统计有几个9

    name=['9','9','8']
    if "9" in name:
        num_of_ele = name.count("9")  #统计有几个9
        print("[%s] 9 is/are in name" % num_of_ele)


    name=[9,9,8]
    if 9 in name:
        num_of_ele = name.count(9)  #统计有几个9
        print("[%s] 9 is/are in name" % num_of_ele)

    8. 更改第一个索引的值   
    name=[9,9,8]
    if 9 in name:
        num_of_ele = name.count(9)  #统计有几个9
        posistion_of_ele = name.index(9)
        name[posistion_of_ele] = 999    #只修改第一个索引的值
        print(name)   
       
       

    9.全部更改
    for i in range(name.count(9)):
        ele_index = name.index(9)
        name[ele_index] = 99999999999999999

    10.合并表
    name=[9,9,8]
    name2 = ['fsaf','fdsafa']
    name.extend(name2)   #把name2的表合并到name表


    11.反转
    name.reverse
    print(name)


    12.排序
    name.sort
    print(name)


    14.删除索引元素
    pop #弹出,返回后删除索引元素
            a.pop()
            a.pop(3)
           
           
           
    15.去两边,拖衣服,例input输入有空格,即不执行内容,可以使用strip()脱掉,即你随意多少空格都去掉
    有空格交互1:
    username = input("user:")
    if username == 'alex':
        print("welcome")
    user:alex      #此处有空格

    Process finished with exit code 0   #输入正确信息,后面有空格,即判断不正确,即退出
       
    使用strip后的空格交互:
    if username.strip() == 'alex':
        print("welcome")
    user :alex        #此处有多个空格
    welcome           #输入了正确信息,脱掉了所有空格,输出了想要的结果

    16.切分:split使用
    names="alex,jack,rain"
    name2=names.split(",")   #变成列表
    print(name2)
    print("|".join(name2))  #合成字符串
    print(name2)

    ['alex', 'jack', 'rain']
    alex|jack|rain
    ['alex', 'jack', 'rain']


    17.判断是否有空格
    name = "alex li"
    print(' ' in name)
    True


    18.不完全COPY
    name3 =name.copy()
    name[0]='ALEX'
    name[3][1] = 4444444444444

    import copy
    name=['fdsafsa','fkjdsaflsaf','jfkdsajflsa','fdsafsa']
    name4=copy.copy(name)
    print(name4)


    19.完全克隆
    import copy
    deepcopy
    name = ['sa','fdsa','fdsaf','fsa',['fsa','fsa','dfa'],'fdsfa','dfaf']
    copy4.deepcopy(name)

    20.格式化字符串
    字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次
    a=('{0},{1}'.format('kzc',18))
    print(a)
    'kzc,18'

    '{},{}'.format('kzc',18)
    'kzc,18'
    '{1},{0},{1}'.format('kzc',18)
    '18,kzc,18'
     
    msg="hello,{name},long {age} "
    msg2=msg.format(name='fdsf',age=33)
    print(msg2)
    hello,fdsf,long 33

    三.课堂作业1
    1.需求:
    列表包括所有成员名字
    往中间插入两个临组成员的名字
    取出第3-8的人
    删除第7个人
    把临组2个人一次性删除
    把组长的名字加备注
    要求隔一个人打印一个人


    2.实现
    name = ['wmh','wml','rain','tom','xiaoming','xx','mm','jsjf']
    name.insert(-1,"minghu")   #放到负一的左边
    name.insert(4,"minglong")
    print(name)
    name2 = name[2:7]
    print(name2)
    name.remove('mm')
    del name[4:6]   #同时删除两个人
    del name   #整个变量删除
    name[2]="wml(zuzhang)"
    print(name[0:-1:2])    #2为步长,但不打印最后一个,隔一个打一个
    print(name[0::2]) print(name[::2])  #隔一个打一个


    四.while loop 死循环

    #死循环限制100,跳过50到60继续执行,到100即退出
    count =0
    while True:
        count += 1
        if count > 50 and count < 60:
            continue
        print("NIU",count)
        if count == 100:
            print("fdsjakfjsajfsa")
            break


    五.字典

    wmh_dict = {
        1:{'name':"linzhiling","age"
        :22,'addr':'taiwan'},
        2:{'name':"linxinru",'age':21,
        'addr':'taiwan'},
        3:{'name':"gaoyuanyuan",'age':'20',
        'addr':'dalu'}
    }
    print(wmh_dict)
    print(wmh_dict[1])   #打印key名字为1的值
    wmh_dict[2]['name']= "xuxiyuan"   #更改key名字为2嵌套字典key名为name的值
    print(wmh_dict[2])
    wmh_dict[2]['fanbingbing'] = 2  #没有即加
    wmh_dict[2].pop("addr")  #删除addr   KEY
    v=wmh_dict.get(1)  #获取字典内所有键对应的值,同a['keyname']相同
    print(v)


    判断key是否在字典中,有则回显,这种方法效率高
    for key in wmh_dict:
        print(key,wmh_dict[key])

    更新即替换   
    a = {'name':'zhangsan','age':20,'abort':{'father':'laozhang','mother':'zhangsan'}}
    a.update(name = 'wmh') #和a['name'] = 'wmh' 效果相同
    {'name': 'wmh', 'abort': {'father': 'laozhang', 'mother': 'zhangsan'}, 'age': 20}
    dict.update()  #更新字典键对应的值
        a.update(name = 'wmh') #和a['name'] = 'wmh' 效果相同
        a   

  • 相关阅读:
    发送xml请求数据,返回数据怎么获取
    laravel打印sql语句
    布隆过滤器-使用场景的思考
    sql性能优化
    JS Date.parse() 函数详解
    vuejs中的watch监听属性
    JS正则test()方法
    golang实现简单线程池
    golang map实现set
    golang init函数
  • 原文地址:https://www.cnblogs.com/wangminghu/p/5503219.html
Copyright © 2011-2022 走看看