第二课 运算符(day10)

第二课    运算符(day10)

一、运算符

结果是值                                     

算数运算

a = 10 * 10

赋值运算

a = a + 1    a+=1

结果是布尔值

比较运算

a = 1 > 5

逻辑运算

a = 1>6 or 1==1

成员运算

a = "" in "郑建文"

二、基本数据类型

1、数值(int

(1)  Int() 把字符串变成数值型   eg  intnum,base=16)  把字符串变成16进制  的数,默认是变成10进制的数。

(2)  Type()什么类型

(3)  .bit_lenght  什么的二进制位数

Eg:   a='123'

type(a)

print(type(a),a)

 

age=10

s=age.bit_length()

print(s)

 

num='0011'

v=int(num,base=16)

print(v)

 

2、字符串(str)

(1)  .capitalize()  首字母大写

      Eg:   test='alex'

v=test.capitalize()        输出Alex

print(v)

(2)   .casefold()    所有 变成 字母小写           大写。小写

      .lower()      将英文字母 变成 小写

      .islower()     判断是否为小写

       .upper        将英文字母 变成大写

       .isupper()     判断是否为大写

       .swapcase     大小写转换

  Eg:  test='AlEx'

v1=test.casefold()    输出alex

v2=test.lower()       输出alex              

v3=test.islower()     输出false

v5=test.isupper()     输出false  

v4=test.upper()       输出ALEX

v6=test.swapcase()    输出aLeX

print(v1,v2,v3,v4,v5,v6)

 

 

(3)  .center(12’#’) 表示把某放在12个字符中间,其余的地方用#补充  字符补充

        .center(12’#’)     输出####AlEx####  Eg:print(test.center(12,'#'))    

        .ljus(12,’#’)         输出AlEx########

        .rjust(12,’#’)        输出########AlEx

        .join(test)            用某把test表示的AlEx连接起来

        .zfill12)         输出00000000AlEx

                Eg:   test='AlEx'

v1=test.center(12,'#')

v2=test.ljust(12,'#')

v3=test.rjust(12,'#')

v4='@'.join(test)

v5=test.zfill(12)

print(v1,v2,v3,v4,v5)

####AlEx####   AlEx########   ########AlEx    A@l@E@x 00000000AlEx

                              

 

(4)  .count(‘a’,5,6)   字母a在字符串[5,6)的位置中出现次数

      Eg:   test='alexalex'

v=test.count('a',4,5)   alexalex字符串位置01234567  输出1

print(v)

 

(5)   .startswith()       以什么开头,判断输出布尔值

      .endswith()     以什么结尾,判断输出布尔值

         Egtest='alex'

v1=test.startswith('al')

v2=test.endswith('al')       输出 true  flase

print(v1,v2)

 

(6)     .find  从某位置开始找,找到第一个后获得其位置值

Eg:   test='alexalex'

V1=test.find('ex',5,7)    ex67位置[5,7)就没有输出-1

V2=test.find('ex',5,8)                   [5,8)输出6  

print(v1v2)   

                           

(7)     .format  格式化,将占位置符换成值

        .format_map  将占位置符换成值

          Eg:     test='i am {name},age{a}'

v1=test.format(name='alex',a=19)     输出i am alex,age19

v2=test.format_map({'name':'alex','a':19})

print(v1)

print(v2)

 

(8)     .isalnum   判断字符串中是否只包含 字母和数字,输出布尔值

           Eg:    test='123aa'

v=test.isalnum()     输出true

print(v)

          .isalpha   判断字符串中是否只包含 字母和汉字

Eg:     test='aaa'

v=test.isalpha()     输出true

print(v)

 

(9)     .isdecinal()     判断是否数字

        .isdigit()       判断是否数字,包涵特殊数字②

        .isnumeric()    判断是否数字,包涵特殊数字、中文数字二

Eg:   test=’2’\’②’\''

v1=test.isdecimal()

v2=test.isdigit()            输出ttt\ftt\fft

v3=test.isnumeric()

print(v1,v2,v3)

 

(10)    .isprintable  判断是否存在不可显示字符(空格也是可以显示的)

\t   制表符

   \n   换行

.expandtabs(20)  遇到\t断句,将\t前面的字符和空格一起组成20长的字符串,\n换行

 

Eg:     test='111\t222\t333\naaa\tbbb\tccc\n+++\t---\t***\n'

v1=test.isprintable()

v2=test.expandtabs(20)

print(v1)

print(v2)

输出:

False

111                 222                 333

aaa                 bbb                 ccc

+++                 ---                 ***

 

test='  123  '

v1=test.isprintable()       输出true

print(v1)

 

(11)      .isspace   判断是否全是空格,  ’’什么都没有也不是空格(false

           Eg:      test1=''

test2='  '

v1=test1.isspace()       false  true

v2=test2.isspace()

print(v1)

print(v2)

 

(12)        .istitle()   判断是否是英文标题

        .title()     变成英文标题 ,首字母大写

Eg:      test='test is test'

v1=test.istitle()     输出false  Test  Is Test

v2=test.title()

print(v1,v2)

 

(13)    .lstrip()         去掉 左边、右边、两边  字符串中的空格,\t\n

        .rstrip()

        .strip()

 

        Eg:       test='  \talex\n  '

v1=test.lstrip()

v2=test.rstrip()

v3=test.strip()

print(v1,v2,v3)

输出alex

                 alex alex

 

(14)     m=str.maketrans( ‘abc’,’123’)     输出abc123对应

           .translate(m)      根据m对应关系替换

     

 eg:    test='avbvcv'

m=str.maketrans('abc','123')    输入1v2v3v

v1=test.translate(m)

print(v1)

 

(15)    .partition  对字符串进行分割从左到右分割只成三份(包涵分割元素)

        .rpartition   右——左只分割三份(包涵分割元素)

        .split(‘s’,2)    分割两次,不保留分割元素

        .splitlines()   只能分割\n——.splitlines(True) 保留\n分割

                                     .splitlines(False) \n分割

Eg:     test='bacdayyhua123a\nc'

v1=test.partition('a')

v2=test.rpartition('a')

v3=test.split('a')

v4=test.split('a',2)

v5=test.splitlines(True)

v6=test.splitlines(False)

print(v1)

print(v2)

print(v3)

print(v4)

print(v5)

print(v6)

输出:('b', 'a', 'cdayyhua123a\nc')

('bacdayyhua123', 'a', '\nc')

['b', 'cd', 'yyhu', '123', '\nc']

['b', 'cd', 'yyhua123a\nc']

['bacdayyhua123a\n', 'c']

['bacdayyhua123a', 'c']

 

(16)    .isidentifier  判断是否是标识符 def  class(字母、数字、下划线)

 

Eg:       test='avb_'

v1=test.isidentifier()    输出True

print(v1)

 

 

3.7个常用的语句

(1).join()   用什么拼接某字符

(2).Split()  分割字符,全分割,不保留分割元素

(3) .find()查找某一字符在字符串的位置。字符串位置eg0123  len()计算字符串长度4

(4).strip() 去左右的空格、\n\t

(5).upper()  转换成大写

(6).lower()  转换成小写

(7).replace(‘ex’,’b’,2)  将第2ex换成b

         Eg:    test='exavvvexaaex+'

v1=test.replace('ex','b')        输出:bavvvbaab+

v2=test.replace('ex','b',2)         bavvvbaaex+

print(v1)

print(v2)

 

45个灰魔法

(1)    for循环: For变量名 in  字符串:

             break

             Continue

           Eg:  a.    n=0

test = "郑建文妹子有种冲我来"

while n<len(test):          ab算法结果一致

                      v=test[n]

                      n=n+1

                      print(v)

    

  1. for  n  in  test:

                        print(n)

  1. for  n  in  test:

                       print(n)

                       break            输出郑,只循环一次   break放在循环最后   

 

  1. for  n  in  test:

 continue          什么都不输出,continue放中间

 print(n)   

 

(2)     字符串名称[]  获取字符串的某一个字符

索引:字符串名称[3]        3个字符

                切片:字符串名称[01]    0<=x<1  [0,1)

                      字符串名称[0:-1]    0字符到倒数第二个字符

 

(3)     获取长度: len( 字符串名称) 字符串中字符个数,汉字中汉字的个数    

                        012  长度3

 

        Eg:   mmm='alexalex'

v1=mmm[0:1]            a

v2=mmm[0:-1]           alexale

v3=len(mmm)             8

print(v1)

print(v2)

print(v3)

 

(4)           range(10)        [0,10)

            range(1,10)      [1,10)

range(0,10,2)    [0,10)  02468

Eg:    for  v  in range(0,10,2):       02468

       print(v)

(5)         字符串一旦创建,不可修改

一旦修改或者拼接,都会造成重新生成字符串

练习题:根据用户输入的值,输出每一个字符以及当前字符所在的索引位置

 

     Eg:    test=input('请输入用户名')

for m in range(0,len(test)):

            k=test[m]

            print(m,k)

 

 

posted @ 2018-11-25 21:31  小晴朗  阅读(150)  评论(0)    收藏  举报