• python面试题手动总结答案锦集


     数据类型

    字符串

    1、列举python中的基本数据类型

      数字:int

      布尔值:bool

      字符串:str

      列表:list

      元组:tuple

      字典:dict

      集合:set

    然后我们需要了解一些运算符,应为这些基本类型常常会用于一些运算等等

    一、运算符

      运算度可以根据最终获得的值不同,可以分为两类,即结果为具体的值,结果为bool值,那么那些结果为具体的值--> 算数运算, 赋值运算,那些结果又为bool值

      --> 比较运算、逻辑运算和成员运算

      1、算数运算

      

      2、赋值运算

      

      3、比较运算

      

      4、逻辑运算

      

      5、成员运算

      

    二、基本数据类型

      1、数字 ---> int

        在 python2 中,整数的大小是有限的,即当数据超过一定的范围不再是 int 类型,而是 long 类型,而在 python3 中,无论值针对整数的大小长度为多少,统称为整形int。

      2、布尔值 ---> bool类

      对于bool 值,只有两种结果即 True 和 False ,期分别对应与二进制中的 0 和 1,而对于真即 True 的值太多了,我们只需要了解加急假 即 False 的值 有哪些 

      ---> None 、空(即【】/()/“”/{})、0 

       

    # 以下结果为假
    >>>bool(None)
    False
    >>> bool(‘’)
    False
    >>>bool([])
    False
    >>>bool(0)
    False
    >>>bool({})
    False

      3、字符串 --> str

      关于字符串是python 中最常用的数据类型,其用途也很多,我i们可以使用单引号‘’ 或者 "" 类创建字符串

      字符串是不可修改的,所有关于字符我们可以从索引、切片、长度、遍历、删除、分割、清除空白、大小写转换,判断以什么开头等方面对字符串进行介绍。

        创建字符串

        

    name = “little_five”
    print(name)

        切片

        

    # 获取切片,负数戴白哦倒数第几个,从 0 开始
    >>> name = ‘little_live’
    >>> name[1]
    'i'
    >>> name[0: -2] # 从第一个到倒数第二个, 不包含倒数第二个
    ‘little_fi’

        索引 --> index()、find()

    name = ‘little_five’
    # index -> 获取索引,第二个参数指定获取该字符串或者子序列的第几个
    print(name.index('i'm, 2)) # 结果为 4
    
    # find 其作用与index 相似
    print(name.find('i', 2)) # 结果为 4

        index 和 find 的不同之处在于:若索引的该字符或者序列不在字符串中,对于 index --> ValueError: subdtring not found, 而 对于 find --> 返回 -1

        长度:len()

        删除: del

        判断字符串内容 --.> isslnum()、isalpha()、isdigit()

    # 判断是否全为数字
    >>> a = "123"
    >>>a.isdigit()
    True
    >>> a = "a123"
    >>>a.isdigit()
    False
    
    # 判断是否全为字母
    >>>d = 'alx--e'
    >>>d.isalpha()
    False
    >>>c = 'alex'
    >>>c.isdigit()
    True
    
    
    # 判断是否全为数字或字母
    >>> e = "abc123"
    >>> e.isalnum()
    True

      join()

    # joni() 连接字符串。将字符串,元组、列表中的元素以指定的字符(分隔符),连接生成一个新的字符串
    
    # 字符串
    >>>name = “littlefive”
    >>> ‘-’。join(name)
    'l-i-t-t-e-f-i-v-e'
    
    # 列表
    >>> info = ['xiaozhou', 'say','hello', 'world']
    >>> '--'.join(info)
    'xiaowu--say--hello--world'

      5、元组 ---> tuple()

        元组即为不可修改的列表、其特性跟list相似、其使用远括号而不是方括号来标识

    # 元组
    name = ('hello', 'world')
    print(name[0])

      6、字典 -- dict 

        字典是一系列的 键值对,每个键值对用逗号隔开,每个建都与一个值相对应,可以通过键来获取值,字典是无序的

        键的定义必须是可变的,既可以数字、字符串、也可以是元组,还有布尔值等等

        而值的定义可以是任意的数据类型

        

    # 字典的定义
    info = {
         1:""Hello world“, # 键为 数字
          (”hello world"):1, # 键为元组
         False:{
           ”name“:"james",
      }    ,
         "age": 26  
    }

        遍历 --> items 、 keys、 values 

      7、set 集合

        关于集合set的定义,在我看来集合就像一个篮子,你可以往里面村东西也可以从里面取东西,但是这些东西又是无序的,你很难指定单独取某一样东西,同时它又可以通过一定的人方法选取获得您需要的那部分东西

    故集合可以创建、增、删、改、关系运算

        集合的特性:

          1、去重

          2、无序

          3、每个元素必须是不可变类型(hashable类型,可作为字典的key)

        创建:set、frozenset

    # 1、创建、将会自动去重、其元素为不可变数据类型、即数字,字符串、元组
    rest1 = {”zhangsan“, "list1", '666',("hello", 'world', ), True}
    test2 = set({”zhangsan“, "list1", '666',("hello", 'world', ), True})
    
    # 2 、不可变集合创建
    test = frozenset(”zhangsan“, "list1", '666',("hello", 'world', ), True)

        增: add、 update

    # 更新单个值
    names = {'zhangsan', 'lisi', "wangwu "}
    names.add("james") # 其参数类型必须是hashtable类型
    print(names)
    
    # 更新多个值 --> update()
    names  = {"zhangsan", 'luisi', 'wangwu'}
    names.update({'alex'},'james') # 其参数必须为集合
    print(names)

      删除:pop、remove、discard

    # 随机山输 pop
    names = {"zhangsan","lisi","wangwu","alex","james"}
    names.pop()
    perint(names)
    
    # 指定删除,若要删除元素不存在,则报错
    names = {"zhangsan","lisi","wangwu","alex","james"}
    names.remove('lisi')
    print(names)
    
    # 指定删除,如要删除元素不存在,则无视改方法
    names = {"zhangsan","lisi","wangwu","alex","james"}
    names.discard('hello')
    print(names)

        关系运算:交集、并集|、差集-、交集补集^, issubset、issuperset

          比如两个班英语班和数学班,我们需要统计两个班中的报名情况,例如即报名了英语班又报名了数学班的同学名字等等,这是后就可以应用到集合的关系运算:

    endlish_c = {’zhangsan‘, lisi‘, 'wangeu', 'James', 'Alex'}
    math_c = {"wangwu", 'liudehua', 'james', 'alex'}
    
    # 1、交集 --> in a and in b
    # 统计即报了英语班又报了数学班的同学
    print( english_c & math_c)
    print(english_c.intersection(math_c))
    # 输出为: {’Alex‘, 'James'}
    
    # 并集  in a or in b
    # 统计报名了两个班的所有同学
    print(english_c | math_c)
    print(english.union(math_c))
    
    # 差集 in a not in b
    # 统计只报了英语班的同学
    print(english_c - math_c)
    print(english_c.difference(math_c))
    
    # 交差集
    # 统计值报名一个班的同学
    print(englisj_c ^ math_c)

      判断两个集合关系是子集、父集 --> issubset、 issuperset

    # issubset -- > n 是否为 m 的子集
    # n 是否为 m 的父集
    n = {1,2,3,4,8,10}
    m = {2,4,6}
    i = {1,2,11}
    
    print(n >= m)
    print( m <= n)

        

      

  • 相关阅读:
    安装WebStorm
    Could not obtain transaction-synchronized Session
    Hibernate4 No Session found for current thread原因
    Spring3系列7- 自动扫描组件或Bean
    论坛角色
    firefox浏览器无法显示bootstrap图标问题总结
    express文件上传中间件Multer最新使用说明
    判断圆和矩形是否相交C
    转化为用欧几里得算法判断互质的问题D
    (记录前面算过的后面仍然会用的数减小复杂度)A
  • 原文地址:https://www.cnblogs.com/jcjc/p/11412548.html
Copyright © 2020-2023  润新知