zoukankan      html  css  js  c++  java
  • 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不变的情况下,值可以变就是可变类型,反之亦然

      

  • 相关阅读:
    跳出iframe
    leetcode 225. Implement Stack using Queues
    leetcode 206. Reverse Linked List
    leetcode 205. Isomorphic Strings
    leetcode 203. Remove Linked List Elements
    leetcode 198. House Robber
    leetcode 190. Reverse Bits
    leetcode leetcode 783. Minimum Distance Between BST Nodes
    leetcode 202. Happy Number
    leetcode 389. Find the Difference
  • 原文地址:https://www.cnblogs.com/hesujian/p/10726418.html
Copyright © 2011-2022 走看看