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)

    

  

原文地址:https://www.cnblogs.com/jcjc/p/11412548.html