• 数据类型及内置方法


    整形int与浮点型float

      1、定义:

        1.1 整形int的定义

         age = 18 # age = int(18)

           常用方式,数学计算

                        进制之间的转换:

       “”“
    
          其他进制转十进制
    
          二进制转十进制:0,1
    
            110 1 * (2^2) + 1 * (2^1) + 0 * (2^0) = 4 +2 +0 = 6
    
          八进制转十进制:0~7
    
            123 1 * (8^2)+ 2 * (8^1) + 3*(8^0) = 64 + 16 +3 = 83
    
          十六进制转十进制:0~9 a~f
    
            321 3 * (16^2) + 2 * (16^1) + 1 * (16^0) = 768 + 32 + 1 = 801
    
          “”“
    
        
    
          print(int("110",2))
    
          print(int("123",8))
    
          print(int("321",16))
    
        十进制转二进制:
    
          print(bin(108)) #ob 1101100
    
          print(oct(83)) # 0o 123
    
          print(hex(1000)) #0x 3e8

         # 整形int是无序的 ,有索引的类型都是有序的。

    
    

         # 整形int是不可变类型

          值变id不变就是可变类型

          值变id也变就是不可变类型

        1.2 浮点型float的定义     

          定义方式:height = 1.0 #height = float(1.0)

          浮点型float是无序的,是不可变类型,存一个值

         1.3列表      

          定义:在[]内,用逗号分隔开多个任意数据类型的值

     

          定义方式:通过中括号存值,每个值之间通过逗号分隔

        常用方法:

        1、索引取值(正反都可以),不仅可以取还可以存

          l1 = [1, 2, 3, 4, 5]

          print(l1[2])

          l1[2] = 222

          print(l1)

          结果:3    [1, 2, 222, 4 ,5]

        2、切片索引

          print(l1[1:4])

          结果:[2,3,4]

        3、append():追加值。只能添加到列表的最后一位,一次性只能添加一个值

          l1.append(10000)

          print(l1)

          l1.append([9,0])

          print(l1)

          结果:[1, 2, 3, 4, 5, 10000]

              [1, 2, 3, 4, 5, 10000, [9, 0]]

        4、insert() :插入值,通过索引指定插入的位置

          l1.insert(3, 999)

          print(l1)

          结果:[1, 2, 3, 999, 4, 5, 10000, [9, 0]]

        5、extend():也是追加到列表的最后一位,

          l1.extend([6, 7, 8])

          print(l1)

        6、remove:指定值删除(指定列表里的某个值),比较彻底

          l1.remove(1)

          print(l1)

        7.pop(): 不传值,默认从最后开始删,指定索引删值,pop是有返回值的

          l1 = [1, 2, 3, 4, 5]

          val = l1.pop(2)

          print(l1)

          print(val)

          结果: [1, 2, 4, 5] 3

          l1.pop()

          print(l1)

          l1.pop()

          print(l1)

          结果:[1 , 2 , 4] [1 , 2]

        列表是可变值,存多个值

     1.4 字符串

      定义: 在单引号双引号三引号内包含一串字符

        s1 = '大象'

          s2 = "大象"

          s3 = '''大象'''

          s4 = “”“大象”“”

      以上四种方式都没有任何区别,但是不能混用

        字符串前面加一个小写的r,代表转义(把里面有特殊意义的符号转换成字符串)

        

    常用方法:
    
    ​        1、索引取值(正向取、反向取),只能取不能存
    
    ​        s1 = 'hello world'print(s1[4]) #正向取
    print(s1[-7])#反向取
    2、索引切片:截取字符串中的一小段字符串print(s1[2:5])
    
    ​        结果: llo
    
    ​        print(s1[4:])
    
    ​        结果: o world
    
    ​        print(s1[:5])
    
    ​        结果: hello
    
    ​        print(s1[0:-2:2])
    
    ​        结果:hlowr
    
    ​        print(s1[::-1])
    
    ​        结果:dlrow olleh
    
    ​        3、成员运算: in      not  in  #判断指定字符是否在该字符串中,返回布尔值
    print("o" not in s1)
    
    ​        4、strip:去除字符串左右连那个边的空格,中间不算
    
    ​        input无论接受的是什么类型,一定返回的是字符串
    
    ​        name = input(">>:").strip()
    
    ​        print(len(name))
    
    
    
    ​        a1 = '$$$sean$$$'print(a1.strip("$"))
    
    ​        结果:sean
    
    ​        5、split :切分:对字符串进行切分,可以指定切分的分隔符,返回是一个列表
    
    ​        a1 = 'sean~18~male'print(a1.split(~))
    
    ​        结果:['sean','18','male']
    
    ​        6、len():获取当前数据中的元素的个数
    
    ​        a1 = 'hello'print(len(a1))
    
    ​        结果:5
    
    ​        a1 = 'hello'for i in a1:
    
    ​            print(i)
    
    ​        结果:h  e  l  l  o

    需要掌握的知识点

     

          strip, rstrip(右边的清除),lstrip(左边的清除)
    
    ​            inp = input(">>:").lstrip("*")      #清除输入内容左边的*号
    print(inp)
    
    ​            print(len(inp))
    
    ​        lower(全部转换成大写)/upper(全部转换成小写)
    
    ​            s1 = 'Hello world'print(s1.upper())
    
    ​            print(s1.lower())
    
    ​            结果:HELLO WORLD    hello world
    
    ​        startswith/endswith   :判断当前字符串是否以。。。开头,或者以。。。结尾,返回的值一定是布尔值
    
    ​            s1 = 'Hello world'print(s1.startswith("He"))
    
    ​            结果:True
    
    ​        .format()
    
    ​            你的名字是:sean,你的年龄是:18
    
    ​            name = 'xiaogu
    
    ​            age = 18print("你的名字是:",name,"你的年龄是",age)
    
    ​            print("你的名字是:{},你的年龄是{}".format(name,age))
    
    ​            print("你的名字是:{1},你的年龄是:{0}".format(name,age))
    
    ​            print("你的名字是:{name},你的年龄是:{age},{gender}".format(age = age ,             name = name ,gender = 'male'))
    
    ​        f - string:
    
    ​            通过大括号接受变量,在字符串前面一定要加一个小写f     在python以后才有
    
    ​            print(f"你的名字:{name},你的年龄是:{age}")
    
    ​        split/rsplit  #切分
    
    ​            s1 = "name,age,gender"print(s1.split("e",1))#指定可以切分的次数
    
    ​            结果:['nam','age,gender']
    
    ​        join:将(列表)中每个元素按照前面字符串中的分隔符进行拼接
    
    ​            l1 = ['sean','18','male']
    
    ​            print("|".join(l1))
    
    ​            结果:sean|18|male
    
    ​        replace:将字符串中的元素进行替换,参数:先输入要替换的值,再试要替换的新值
    
    ​            s1 = "sean,18"print(s1.replace("sean",'大象'))
    
    ​            结果:大象,18isdigit():判断当前字符串中的数据,是否是一个数字,返回布尔值
    
    ​            score = input("pleas input your score:")
    
    ​            if score.isdight():
    
    ​                score = int(score)
    
    ​                if score >= 90print("优秀")
    
    ​            else:
    
    ​                print("真皮")
    
    ​    字符串是有序的(有索引),不可变类型 ,存一个值

    1.5了解操作

    find,rfind,index,rindex,count 
    
    ​        find #查找当前字符串中某个元素的位置,返回索引,找不到返回-1
    
    ​            s1 = '你今天吃饭吃了吗?'print(s1.find("",))
    
    ​            结果: 8   index #查找当前字符串中某个元素的位置,返回索引,找不到返回异常
    
    ​        count #统计当前字符串中某一个元素的个数
    
    ​            s1 = '今天你吃饭吃了吗?'print(s1.count(""))
    
    ​            结果: 2center/ljust/rjuse/zfillprint("欢迎光临".ceneter(8,"-"))
    
    ​            结果:--欢迎光临--print("欢迎光临".ljust(30,"-"))
    
    ​            结果:欢迎光临--------------------------print("欢迎光临".rjust(30,"-"))
    
    ​            结果:--------------------------欢迎光临
    
    ​            print("欢迎光临".zfill) #右对齐,不够以0填充
    
    ​            结果:000000000000000000000000000000000欢迎光临
    
    ​        expandtabs()
    
    ​             name = 'tony  	  hello'  # 	表示制表符(tab键)
    print(name)
    
    ​            结果:tony    hello 
    
    ​            name.expandtabs(1)  # 修改	制表符代表的空格数
    
    ​             结果:tony hello 

    is系列

      在python3中

      num1 = b'4' #bytes

      num2 = u'4' #unicode,python3中无需加u就是unicode

      num3 = '四' #中文数字

      num4 = 'Ⅳ' #罗马数字

      isdigit: 识别unicod和bytes

  • 相关阅读:
    0523
    [算法]二分专题
    [转]聊聊列式存储
    [错误]Caused by: org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0
    [转]为什么group by后面不能使用别名(除MySQL)
    [算法]PriorityQueue的应用
    双指针算法
    [算法]实现strStr()
    实现用SQL查询连续发文天数/连续登录天数
    python 日志模块
  • 原文地址:https://www.cnblogs.com/lvguchujiu/p/11799893.html
Copyright © 2020-2023  润新知