• python day05


    数字类型

    1、整型:整数

      num = 1000000000000

      type(num)  --->int

    2、浮点型:小数

      num = 123.2341

      type(num)  --->float

    3、布尔值:True  Flase(可以转换成0和1进行任何int可以进行运算)

      布尔值实质就是int 0 和 1 的转换

      print(True + True)  --->2

    4、复数(了了解)

      num = complex(3,4)  # num = 3 + 4j

    5、数据类型的转换(整型、浮点型、布尔值随意转换)

      n1 = 10 ; n2 = 3.74 ; n3 = True

      print(int(n1),int(n2),int(n3))    -->10  3  1

      print(float(n1),float(n2),float(n3))   -->10.0    3.74     1.0

      print(bool(n1),bool(n2),bool(n3))      -->True  True  True

      注:浮点型转换成整型是取整,后面小数舍弃

    字符串类型(所有数据类型都可以转换成字符串类型)

    定义:被多种引号包裹的被称为字符串(' ' | " " | ''' ''' | """ """)

    输出需求不同,通过不同的引号来完成

    字符串的常规操作

    1、通过索引取值(index)#从0开始

      n = '123abc奥尔'

      print(n[3],type(n[3]))  --->  a   str

    #注:index从0开始,如果索引超过字符的个数,就会报错

    2、切片(取子字符串,[ : : ])

      n = '123abc奥尔'

        1) print(n[::])  取出整个字符串     '123abc奥尔'

        2) print(n[2::])  取出从2开始到结尾的字符串  '3abc奥尔'

        3)print(n[2:5:])  取出从2开始到5(不包括5)结尾的字符串  '3ab'

        4)print([2:5:2])  取出从2开始到5(不包括5)结尾,步长为2的字符串  '3b'

        5)print(n[::-1])   步长为-1,倒着取值    '尔奥cba321'

    3、长度(len)

      n = '123abc奥尔'

      print(len(n))  --->8

    4、成员运算(in     not in)

      n = '123abc奥尔'

      print('123' in n)    -->True

      print('13a' in n)    -->False

    #注:必须是连续的在里面出现,才是True,不能跳

    5、for循环(遍历)

      n = '123abc奥尔'

      for i in n:

        print(i,end='')  -->'1' '2' '3' 'a' 'b' 'c' '奥' '尔'

    6、字符串的拼接

      1)两个字符串类型拼接直接用字符串的基础运算

        str +str =str

      2)不同类型拼接

        a)都先转换成字符串类型再进行拼接

          str(int) + str +str(bool) = str

        b)格式化拼接

          str = '%s%s%s'%(str,int,bool)

            a = 10
            b = "20"
            c = True
            res = "%s%s%s" % (a, b, c) 
            print(res)      ==># res = "1020True"

    重要方法

    1、去留白(去除两边的空白) #strip()

      n = '******owen******'

      print(n.strip('*'))  #取出字符串两边的*,如果strip()括号里不填默认去除两边的空格

                 #lstrip()只去除左边的空格,rstrip()只去除右边的空格

    #注:strip()只会去除两边的空格或者字符,并不会去除中间的。

    2、查找字符的索引  #index()

      n = '123abc奥尔12312'

      print(n.index(a,start,end))  #查找a在n中的索引 ,可以设置查找的区间[start,end)

    #注:如果n中存在多个a,只会查找到区间中第一个a的索引

    #  找不到就会报错,(下文提到的find也是查找字符的索引,找不到返回-1)

    3、计数(某个字符出现的个数)  #count()

      n = '123abc奥尔12312'

      print(n.count('123'))  -->2

      print(n.count('12'))    -->3  

    #找不到就返回0

    4、format格式化输出

      1)'name:{},age:{},height:{}'.format('owen',18,160)  #按顺序添加,后面的值必须和前面的{}一一对应

                               #后面值的个数比前面少就会报错,多的话不会报错但也取不到(没意义)

      2)'name:{0},age:{1},height:{1}'.format('owen',18)  #按索引添加,后面的值可以循环使用

      3)'name:{na},age:{ag},height:{he}'.format(na = 'owen',ag = 18,he = 160)   #按key添加,forrmat后面元素不用理顺序

    5、判断字符是否是数字(isdigit)

      n = '123'

      print(n.isdigit())  -->True

    #注:只能判断自然数(正整数和0),负数和小数返回False

    6、大小写转换

      1)全部转换成大写  #upper()

        name = 'oWeN'

        print(name.upper())  -->OWEN

      2)全部转换成小写  #lower()

        name = 'oWeN'

        print(name.lower())  -->owen

      3)首字母大写(其他转换成小写)  #capitalize()

        name = 'oWeN'

        print(name.capitalize())  -->Owen

      4)单词首字母大写(其他转换成小写)  #title()

        name = 'oWeN keVin'

        print(name.title())    -->Owen Kevin

    7、是否以什么开头什么结尾  #startswith()      endswith()

      name = 'oWeN keVin'

      print(name.startswith('ow'))  -->False

      print(name.endswith('in'))     -->True

    8、替换  #replace(old,new,count)

      name = 'oWeN keVin'

      print(name.replace('e','E'))  'oWEN kEVin'    #把所有的e全部改成'E'

      print(name.replace('e','E',1))  'oWEN keVin'   #只改一个

    了解

    1. find | rfind:查找子字符串索引,无结果返回-1
    2. lstrip:去左留白
    3. rstrip:去右留白
    4. center | ljust | rjust | zfill:按位填充
    语法:center(所占位数, '填充符号')
    5. expandtabs:规定 所占空格数
    6. capitalize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
    7. isdigit | isdecimal | isnumeric:数字判断
    8. isalnum | isalpha:是否由字母数字组成 | 由字母组成
    9. isidentifier:是否是合法标识符
    10. islower | isupper:是否全小 | 大写
    11. isspace:是否是空白字符
    12. istitle:是否为单词首字母大写格式

    列表类型

    定义:被[]包起来的为列表,中括号里为任意类型的值 

    ls = [1,2]  #本质是ls = list([1,2])

    列表的常规操作

    1、通过索引取值

    2、切片

    3、成员运算

    4、for循环(遍历)

    5、长度

    6、列表的拼接

    ##参考上面字符串常规操作方法

    对于for循环有一个案例:

    #ls = [1,2,3,'4',5,6]  现在的需求是只打印列表ls里的数字

    for i in ls:

      if isinstance(i,int):

        print(i)

    ##涉及到isinstance的使用  isinstance(变量,(数据类型))

    ##括号里的数据类型可以是一个也可以是多个,作用就是判断该变量的类型在不在括号中

    ##在返回True   不在返回False

    增删改查

    ls = [1,2,3,'4',5,6]

    print(ls[2])   --> 3

    增 append()与insert()

    append()

      在列表的末尾添加

    insert(index,变量)

      按索引添加元素,添加在index之前

    删 remove()  pop()

    remove(元素)

      删除指定元素,没有返回值 从前往后开始删除,只能删除第一次出现的元素

    pop(index)

      按索引删,如果不输入默认从末尾删,有返回值,如果索引超出范围就会报错

    ls = [1,2,3,'4',5,6]

    ls[2]='a'

    print(ls)    -->[1,2,a,'4',5,6]

    了解

    1、排序  #sort()   只能排序同种类型,字符串也能排序

    ls = [3,1,2]

    print(ls.sort())  -->[1,2,3]  #正向排序

    print(ls.sort(reverse = True))  #正向排序的基础再反转(默认reverse = False(不反转))

    2、反转  #reverse

    ls = [3,1,2]

    print(ls.reverse())  [2,1,3]

    3、计算出现的次数  #count()

    参考字符串

    了了解

    1、整体添加  #extend()

    2、查找元素的索引  #index(元素)

      可以规定区间,只返回元素第一次出现的索引

      不写默认全部区间查找

    可变与不可变类型

    1. 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型

    2. 不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型

     ##可变不可变主要是针对id不变的情况下,值可以变就是可变类型,反之亦然

      

  • 相关阅读:
    JavaSE 窗口事件类(WindowEvent)实现
    ChemBioDraw 制作DMT屏保
    Sourcery G++ Lite 2009q3-67 ARM交叉工具链【分享】
    Beej's Guide to C Programming 【分享】
    囚徒健身 mobi 【分享】
    屏幕录像专家2011build1226 【分享】
    Fraps3.4.7 注册版【分享】
    一步步学习微软InfoPath2010和SP2010--第十三章节--SharePoint视图和仪表板(1)--服务台请求
    一步步学习微软InfoPath2010和SP2010--第十三章节--SharePoint视图和仪表板
    一步步学习微软InfoPath2010和SP2010--第十二章节--管理和监控InfoPath Form Services(IPFS)(7)--关键点
  • 原文地址:https://www.cnblogs.com/hesujian/p/10726418.html
Copyright © 2020-2023  润新知