• python基础知识


    python基础数据类型

    基础数据类型

     

    基础数据类型的分类:

    python3中有六个标准的数据类型

    • Number(数字)
    • String(字符串)
    • List(列表)
    • Tuple(元组)
    • Sets(集合)
    • Dictionary(字典)

    Python3的六个标准数据类型中:

    • 不可变数据类型(四个):Number、String、Tuple、Sets
    • 可变数据类型(两个):List、Dictionary

    number数据类型

    概念:

      Python3支持int、float、bool、complex(复数)

      在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。

      内置的type()函数可以用来查询变量所指的对象类型 

      >>> a, b, c, d = 20, 5.5, True, 4+3j
    
      >>> print(type(a), type(b), type(c), type(d))
    
      <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
    例子

    注意:

    • 在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
    • Python可以同时为多个变量赋值,如a,b = 1,2
    • 一个变量可以通过赋值指向不通类型的对象
    • 数值的除法(/)总是返回一个浮点数,要获取证书使用//操作符。
    • 在混合计算时,Python会把整型转换成浮点数
    • Python还支持复数,复数可以用a+bj,或者complex(a,b)表示,a和b都是浮点数

    string数据类型

    概念:

      Python中的字符串是以单引号(’)或者双引号(“)引起来的

      1,截取字符串格式为:变量[头下标:尾下标]

      #!/usr/bin/python3
    
      str = 'Yehewudi'
    
      print (str)       # 输出字符串
      print (str[0:-1])   # 输出第一个到倒数第二个的所有字符
      print (str[0])     # 输出字符串第一个字符
      print (str[2:5])    # 输出从第三个开始到第五个的字符
      print (str[2:])    # 输出从第三个开始的后的所有字符
      print (str * 2)    # 输出字符串两次
      print (str + "TEST") # 连接字符串
    例子

      Python使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符

    >>> print('Yehe')
    Ye
    he
    >>> print(r'Yehe')
    Yehe
    >>>
    例子
      另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用"""..."""或者'''...'''跨越多行

    字符串常用用法

      count  通即字符串里某个字符出现的次数,支持切片

      语法:str.count(sub, start=0end=len(string))

      a="awawaw aaa ijoa"
      print(a.count("a" 3 -1))
      
      4
    例子

      encode  指定编码格式字符串

      语法:str.encode(encodeing='UTF-8',errors = 'strict')

    • encoding  要使用的编码

    • errors  设置不通错误的处理方案

      find  判断字符串中是否包含自字符串,如果在返回索引值,如果不再返回-1支持切片

      a="awawaw aaa ijoa"
      print(a.find("aaa"))
      
      7
    例子

      format  格式化输出

      print("姓名:{name}, 年龄:{age}".format(name = "yehe", age = 17))
      姓名:耶喝,年龄:17
    例子

      index  查找字符串是否包含子字符串,如果存在返回索引,不存在报错

          a="asdf"
      print(a.index("s"))
      
      1  
    例子

      isdigit  判断字符串是否只由数字组成,是返回True,否返回Flase

      a="11"
      print(a.isdigit())
      
      True
      True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
    例子

      返回值为False: 汉字数字

      返回值为Error: 无

      isidentifier  判断字符串是否由字母开头,是返回True,否返回Flase

      a="asd11"
      print(a.isidentifier())
    
      True
    例子

      islower  判断字符串是否由小写字母组成,是返回True,否返回Flase

      a="asd"
      print(a.islower())
    
      True
    例子

      isupper  判断字符串中所有的字母是否都为大写,是返回True,否则返回Flase

      a="ASDF"
      print(a.isupper())
    
      True
    例子

      isspace  判断字符串是否只由空格组成,是返回True,否则返回Flase

      a="  	  "
      print(a.isspace())
    
      True
    例子

      isalpha  判断字符串是否只由字母组成,是返回True,否则返回Flase

      a="asdqweq"
      print(a.isalpha())
    
      True
    例子

      isalnum  判断字符串是否由字母和数字组成,是返回True,否则返回Flase

      a="asdqweq1234"
      print(a.isalnum())
    
      True
    例子

       join  将序列中的元素以指定的字符连接生成一个新的字符串

      a="-"
      print(a.join("asd"))
    
      a-s-d
    例子

      lower  将字符串中所有大写字符转为小写

      a="AAA"
      print(a.lower())
    
      aaa
    例子

      replace  将字符串中的字旧符替换成新字符,替换不超过max次

      a="My name is yehe"
      print(a.replace("yehe", "daige"))
    
      My name is daige
    例子

      split  通过指定分隔符对字符串进行分隔,已分割后的字符串为元素组成列表

      语法:str.split(str="", num=string.count(str)).

    •  str  分隔符,默认为空格

    • num   分隔次数

      a="asd qwe zxc"
      print(a.split())
    
      ['asd', 'qwe', 'zxc']
    例子

      upper  将字符串中的小写字母转为大写字母

      a="aaa"
      print(a.upper())
    
      AAA
    例子
     

    字符串不常用的用法

      capitalize  将字符串的第一个字母变成大写,其他字母变小写

      a="awawaw AAA ijoa"
      print(a.capitalize())
    
      Awawaw aaa ijoa
    例子

      casefold与lower相似

      两者的区别是:lower() 方法只对ASCII编码,也就是‘A-Z’有效,对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法

      center  返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格

      语法:str.center(width[, fillchar])

    • width  字符串的总宽度

    • fillchar   填充字符
      a="yehe"
      
      a.center(20, '*')
      ********yehe********
    例子

      expandtabs  将字符串中的tab符号(' ')转为空格,tab为8个空格

      endswith  判断字符串自否以指定字符结尾,是返回True,否则返回False,支持切片

      a="yehe"
      
      a.endswith("he")
      True
    例子

      format_map(不清楚)

      isnumeric  判断字符串是否只由数字组成,是返回True,否返回Flase

      a="123"
      print(a.isnumeric())
    
      True
      True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
    例子

      返回值为False: 无

      返回值为Error: byte数字(单字节)

      isdecimal  判断字符串是否只包含十进制字符返回True,否则返回False

        a="123"
      print(a.isdecimal())
    
      True
      True: Unicode数字,,全角数字(双字节)
    例子

      False: 罗马数字,汉字数字

      Error: byte数字(单字节)

      isprintable  判断字符串中所有字符是否都属于可打印字符

          a="123	"
      print(a.isprintable())
    
      False
    例子

      istitle  判断字符串中所有的单词首字母为大写,其他字母为小写,是返回True,否则返回Flase  

          a="This Is A Yehe!"
      print(a.istitle())
    
      True
    例子

      ljust  返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串

      lstrip  截掉字符串左边的空格或指定字符

      maketrans  ????

      partition  根据指定的分隔符讲字符串进行分隔

          a="yeheayehe!"
      print(a.partition("a"))
    
      ("yehe", "a", "yehe!")  
    例子

      rsplit  通过指定分隔符对字符串进行切片,类似于 split() 方法,只不过是从字符串最后面开始分割。

      rfind  返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1

      rindex  返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数

      rjust  返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串

      rpartition  与partition类似,从后往前。

      rstrip   删除 string 字符串末尾的指定字符(默认为空格).

      startswith  用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False,支持切片

      splitlines  按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表

      swapcase  对字符串的大小写字母进行转换

      title  返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写

      translate  根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中

      zfill  返回指定长度的字符串,原字符串右对齐,前面填充0

    注意:   

    • Python没有单独的字符类型,一个字符就是长度为1的字符串
    • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义
    • 字符串可以用+运算符进行字符串的拼接操作
    • Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始
    • Python中的字符串不能改变    

    list列表

    概念:

      List是Python中使用最频繁的数据类型。

      列表可以完成大多数集合类的数据结构实现。列表中元素的类型不相同,它支持数字,字符串甚至可以包含列表(嵌套)。

      列表是写在方括号“[]”之间、用逗号分隔的元素列表。

      和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

      列表的截取格式为:变量[头下标:尾下标]  

      #!/usr/bin/python3 
    
      list = [ 'abcd', 786 , 2.23, 'yehe', 70.2 ] 
      tinylist = [123, 'yehe'] 
    
      print (list)       # 输出完整列表 
      print (list[0])     # 输出列表第一个元素 
      print (list[1:3])    # 从第二个开始输出到第三个元素 
      print (list[2:])     # 输出从第三个元素开始的所有元素 
      print (tinylist * 2)  # 输出两次列表 
      print (list + tinylist) # 连接列表
    例子

    常用用法:

      append  在列表末尾添加新的元素

        a = ["yehe", "test", 123]
        a.append("qweqwe")
        print(a)
    
        ["yehe", "test", 123, "qweqwe"]
    例子

      count  用于统计某个元素在列表中出现的次数。

        a = ["yehe", "test", 123, 123]
      print(a.count(123))
    
      2
    例子

      clear  清空列表

      extend  用于在列表末尾一次性追加另一个序列中的多个值

      a = ["yehe", "test", 123]
      b = ["qwe", "asd"]
      a.extend(b)
      print(a)
    
      ["yehe", "test", 123, "qwe", "asd"]
    例子

      index  从列表中找出某个值第一个匹配项的索引位置

      a = ["yehe", "test", 123]
      print(a.index("test"))
    
      1
    例子

      insert  将指定对象插入列表的指定位置

      a = ["yehe", "test", 123]
      a.insert(1, "asd")
      print(a)
    
      ["yehe", "asd", "test", 123]
    例子

       pop  删除列表中的一个元素(默认为最后一个),并且返回值为该元素,没有则会报错

      a = ["yehe", "test", 123]
      a.pop(1)
      print(a)
    
      ["yehe", 123]
    例子

      remove  删除列表中某个元素的第一个匹配项,没有则会报错

      a = ["yehe", 123, "test", 123]
      a.remove(123)
      print(a)
    
      ["yehe", 123]
    例子

      sort  对列表进行排序

        a = [3, 2, 4, 1]
      a.sort()
      print(a)
    
      [1, 2, 3, 4]
    例子
    
    

    不常用用法:

       reverse  用于反向列表中元素

      a = ["yehe", "test", 123]
    
      a.reverse()
      print(a)
    
      [123, "test", "yehe"]
    例子

    注意:

    • List卸载方括号之间,元素用逗号分隔
    • 和字符串一样,list可以被索引和切片
    • List可以用+操作符进行拼接
    • List中的元素是可以改变的

    tuple元组

    概念:

      元组与列表类似,不用之处在于元组不能修改。元组卸载小括号里“()”,元素之间用逗号分隔

    用法:

      与列表类似,只是不能修改

      只有count与index函数

    注意:

    • 和字符串一样,元组可以被索引和切片
    • 元组也可以被索引和切片,方法一样
    • 注意构造包含0或1个元素的元组的特殊语法规则
    • 元组也可以使用+操作符进行拼接

    dictionary字典

    概念:

      字典是Python中另一个非常游泳的内置数据类型。

      列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过索引存取。

      字典是一种映射类型,字典用大括号“{}”表示,它是一个无序的键(key):值(value)对集合。

      键(key)必须使用不可变类型。

      在同一个字典中,键(key)必须是唯一的。

          #!/usr/bin/python3
    
      dict = {} 
      dict['one'] = "1"
      dict[2] = "2"
    
      testdict = {'name': 'yehe','code':1, 'site': 'www.qqq.com'}
    
      print (dict['one'])     # 输出键为 'one' 的值
      print (dict[2])        # 输出键为 2 的值
      print (testdict)       # 输出完整的字典
      print (testdict.keys())   # 输出所有键 
      print (testdict.values())  # 输出所有值
    例子

    用法:

      clear  删除字典内所有元素

      a = {"name": "yehe", "age": 18}
      a.clear
      print(a)
    例子

      fromkeys  创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值

      a = {}
      b = ["name", "age", "test"]
      print(a.fromkeys(b, 10))
    
      {'name': 10, 'age': 10, 'test': 10}
    例子

      get  函数返回指定键的值,如果值不在字典中返回默认值

      a = {"name": "yehe", "age": 18}
      print(a.get("name"))
      
      yehe
    例子

      items  以列表返回可遍历的(键, 值) 元组数组(列表转元组)

      a = {"name": "yehe", "age": 18}
      b = a.items()
      print(b)
      
      dict_items([('name', 'yehe'), ('age', 18)])
    例子

      keys  已列表的形式返回一个字典所有的键

      pop  删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值

      a = {"name": "yehe", "age": 18}
      a.pop("name")
      print(a)
      
      {'age': 18}
    例子

      popitem  随机返回并删除字典中的一对键和值(一般删除末尾对),如果字典为空则报错

      setdefault  和get()方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

      a = {"name": "yehe", "age": 18}
      print(a.setdefault("test"))
      print(a)
      
      {'name': 'yehe', 'age': 18, 'test': None}
    例子

      update  把字典dict2的键/值对更新到dict里

      a1 = {"name": "yehe", "age": 18}
      a2 = {"hobby":"women"}
      a1.update(a2)
      print(a1)
      
      {'name': 'yehe', 'age': 18, 'hobby': 'women'}

    例子

      values  已列表的形式返回字典中的所有值

    注意:

    • 字典是一种映射类型,它的元素是键值对。
    • 字典的关键字必须为不可变类型,且不能重复。
    • 创建空字典使用{}。 

    sets集合(不重要)

    概念:

      集合是一个无序不重复元素的序列。

      基本功能是进行成员关系测试和删除重复元素。

      可以使用大括号{ }或者set()函数创建集合,但是创建一个空集合必须用set()

      创建格式

      parame = {value01,value02,...}
      或者
      set(value)
    View Code

    用法:

      a = set('abracadabra')

      b = set('alacazam')

      1,差集

        print(a - b)

      2,并集

        print(a | b)

      3,交集

        print(a & b)

      4,反交集

        print(a ^ b)

      5,增

        a.add('666')    增加一个元素

        a.update('abc')  迭代增加 

      6,删

        a.remove     删除一个元素 

        a.pop      随机删除一个元素

        a.clear       清空集合

        del a        删除集合

    基础数据类型的补充

      1,python数据类型的转换

    函数 描述
    int(x [,base])  将x转换为一个整数
    float(x)  将x转换到一个浮点数
    complex(real [,imag]) 创建一个复数
    str(x) 将对象 x 转换为字符串
    repr(x) 将对象 x 转换为表达式字符串
    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s) 将序列 s 转换为一个元组
    list(s) 将序列s转换为一个列表
    set(s) 转换为可变集合
    dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组
    frozenset(s) 转换为不可变集合
    chr(x) 将一个整数转换为一个字符
    ord(x) 将一个字符转换为它的整数值
    hex(x) 将一个整数转换为一个十六进制字符串
    oct(x) 将一个整数转换为一个八进制字符串

    编码:

     

     

     

     

     

  • 相关阅读:
    10分钟入门spark
    10分钟入门kubernetes(上)
    深入浅出Hadoop之mapreduce
    深入浅出Hadoop之HDFS
    闲聊cassandra
    深入浅出zookeeper
    Asp.net日期字符串格式化显示
    C#里面比较时间大小三种方法
    (ASP.net)利用Application对象制作简单聊天室
    Response.ContentType 详细列表
  • 原文地址:https://www.cnblogs.com/yehewudi/p/8749340.html
Copyright © 2020-2023  润新知