Python学习Day6

上节课复习:
1.if判断
    示范1:
        if 条件1:
            pass
    示范2:
        if 条件1:
            pass
        elsepass
    示范3:
        if 条件1:
            pass
        elif 条件2:
            pass
    示范4:
        if 条件1:
            pass
        elif 条件2:
            pass
        else:
            pass
2.while循环
    while 条件:
        pass
        
    结束while循环的两种方式:
        1.把条件的结果改为False
        2.break
        
    while + continue
    while + else
        
上节课复习:
1.for循环
2. 数据类型及内置方法:
                int
        float
        str
        list
        
一、for循环
l=['a','b','c']
print(len(l))
i=0
while i<len(l):
    print(l[i])
    i+=1

l=['a','b','c']
for item in l: #item='a'
    print(item)    

dic={'x':111,'y':222,'z':333}
for k in dic: #k='x'
    print(k,dic[k])


while循环 VS for循环
1.
while循环:称之为条件循环,循环的次数取决于条件何时为False
for循环:称之为迭代器循环,循环的次数取决于数据的包含的元素的个数

2.
for循环:专门用来取值,在循环取值方面比while循环要强大,以后但凡
遇到循环取值的场景,就应该用for循环

     0   1   2
 l=['a','b','c']
 for i in range(3):
     print(i,l[i])


for+break
names=['egon','kevin','alex','hulaoshi']
for name in names:
    if name == 'alex':break
    print(name)


for+continue
names=['egon','kevin','alex','hulaoshi']
for name in names:
    if name == 'alex':continue
    print(name)

for+else
names=['egon','kevin','alex','hulaoshi']
for name in names:
    if name == 'alex':break
    print(name)
else:
    print('=====>')

for循环嵌套
for i in range(3): 
    for j in range(2): 
        print(i,j) 

'''
外层循环第一次:i=0
    内层循环
        0,0
        0,1
        
外层循环第二次:i=1
    内层循环
        1,0
        1,1
外层循环第三次: i=2
    内层循环
        2,0
        2,1
'''
print(' ',end='')
print('bbbbb',end='')

二、数字类型
1. 整型int
======================================基本使用======================================
1、用途:记录年龄、等级、号码等

2、定义方式
    age=10 # age=int(10)

类型转换
    print(int(3.1))
    res=int('1111111')
    print(res,type(res))


    res=float('111111.1')
    print(res,type(res))

了解(**)
十进制转成。。。进制
    print(bin(13))
    print(oct(13))
    print(hex(13))


3、常用操作+内置的方法

  ======================================该类型总结====================================
    存一个值

    不可变
    x=10
    print(id(x))
    x=11
    print(id(x))


    1. 浮点型float
  ======================================基本使用======================================
    1、用途:记录身高、体重、薪资等

    2、定义方式
    salary=10.1 # salary=float(10.1)

    类型转换
    print(float(10))
    print(float(1.1))
    print(float('1.1'))

    3、常用操作+内置的方法

  ======================================该类型总结====================================
    存一个值
    
    不可变
    x=10.3
    print(id(x))
    x=11.2
    print(id(x))

三、字符串类型
    字符串类型str
  ======================================基本使用======================================
    1、用途:记录描述性值的状态,比如名字、性别等

    2、定义方式
    msg='hello world' #msg=str('hello world')

    类型转换: 可以把任意类型专场字符串类型
    res1=str(10)
    res2=str(10.3)
    res3=str([1,2,3])
    res4=str({'x':1}) 
    
    print(type(res1))
    print(type(res2))
    print(type(res3))
    print(type(res4))


    3、常用操作+内置的方法
    优先掌握的操作:(*****1、按索引取值(正向取+反向取) :只能取
        msg='hello world'

        print(type(msg[0]))
        print(msg[-1])

        msg[0]='H'


        2、切片(顾头不顾尾,步长)
        msg='hello world'
        print(msg[0]+msg[1]+msg[2])
        print(msg[0:5])
        print(msg[0:5:2]) #0 2 4
        print(msg[0:]) #
        print(msg[:]) #

    
        print(msg[-1:-5:-1]) #-1 -2 -3 -4
        print(msg[::-1]) #-1 -2 -3 -4

        3、长度len:统计的是字符的个数
        msg='h你d'
        print(len(msg))

        4、成员运算in和not in:判断一个子字符串是否存在与一个大字符串中
        msg='hello world'
        print('ho' in msg)
        print('ho' not in msg)


        5、移除空白strip:移除字符串左右两边的某些字符
        msg='      hello      '

        print(msg.strip(' '))
        print(msg.strip())
        print(msg)

        name=input('name>>>: ').strip() #name='egon'
        pwd=input('password>>>: ').strip()

        if name == 'egon' and pwd == '123':
            print('login successfull')
        else:
            print('username or password error')

        msg='***h**ello**********'
        print(msg.strip('*'))

        msg='*-=+h/ello*(_+__'
        print(msg.strip('*-=+/(_'))


        6、切分split: 把有规律的字符串切成列表从而方便取值
        info='egon:18:180:150'
        res=info.split(':',1)
        print(res)
        print(res[1])


        info='egon:18:180:150'
        res=info.split(':')
        print(res)


        s1=res[0]+':'+res[1]+':'+res[2]+':'+res[3]
        s1=''
        for item in res:
            s1+=item
        print(s1)


        s1=':'.join(res)
        print(s1)

        ':'.join([1,2,3,4,5])

        7、循环
        for i in 'hello':
            print(i)



        需要掌握的操作(****1、strip,lstrip,rstrip
        msg='*****hello****'
        print(msg.strip('*'))
        print(msg.lstrip('*'))
        print(msg.rstrip('*'))

        2、lower,upper
        msg='AaBbCc123123123'
        print(msg.lower())
        print(msg.upper())

        3、startswith,endswith
        msg='alex is dsb'
        print(msg.startswith('alex'))
        print(msg.endswith('sb'))

        4、format的三种玩法
        msg='my name is %s my age is %s' %('egon',18)
        print(msg)

        msg='my name is {name} my age is {age}'.format(age=18,name='egon')
        print(msg)

        了解
        msg='my name is {} my age is {}'.format(18,'egon')
        msg='my name is {0}{0} my age is {1}{1}{1}'.format(18,'egon')
        print(msg)


        5、split,rsplit
        cmd='get|a.txt|33333'
        print(cmd.split('|',1))
        print(cmd.rsplit('|',1))


        6、replace
        msg='kevin is sb kevin kevin'
        print(msg.replace('kevin','sb',2))

        7、isdigit #当字符串内为纯数字时结果为True
        res='11111'
        print(res.isdigit())
        int(res)

        age_of_bk=18
        inp_age=input('your age: ').strip()
        if inp_age.isdigit():
            inp_age=int(inp_age) #int('asdfasdfadfasdf')
            if inp_age > 18:
                print('too big')
            elif inp_age < 18:
                print('to small')
            else:
                print('you got it')
        else:
            print('必须输入纯数字')



        了解(**1、find,rfind,index,rindex,count
        print('xxxkevin is sb kevin'.find('kevin'))
        print('xxxkevin is sb kevin'.index('kevin'))
        print('xxxkevin is sb kevin'.rfind('kevin'))
        print('xxxkevin is sb kevin'.rindex('kevin'))
    

        res='xxxkevin is sb kevin'.find('kevasdfsadfin')
        print(res)

        res='xxxkevin is sb kevin'.index('kevasdfsadfin')



        print('kevin is kevin is kevin is sb'.count('kevin'))

        2、center,ljust,rjust,zfill
        print('egon'.center(50,'*'))
        print('egon'.ljust(50,'*'))
        print('egon'.rjust(50,'*'))
        print('egon'.zfill(50))

        3、captalize,swapcase,title
        print('my name is kevin'.capitalize())
        print('AaBbCc'.swapcase())
        print('my name is kevin'.title())

        4、is其他
        name='egon123'
        print(name.isalnum()) #字符串由字母或数字组成
        print(name.isalpha()) #字符串只由字母组成

        print(name.islower())
        print(name.isupper())
        name='    '
        print(name.isspace())
        msg='I Am Egon'
        print(msg.istitle())




  ======================================该类型总结====================================
    存一个值

    有序

    不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
    x='aaa'
    print(id(x))
    x='bbb'
    print(id(x))
        

 

posted on 2018-11-21 16:27  鲨鱼辣椒L  阅读(137)  评论(0编辑  收藏  举报

导航