一:数据

【1】什么是数据:用来描述存放不同的状态的

 

【2】为什么数据分种类:不同的状态对应不同数据 既然状态不同 故需要多种类型的数据表示状态

 

【3】数据类型的分类:

(1)整形int

作用:用来描述人的年龄,游戏等级,身份证号等(说白了就是用整数表示的数据)

定义方式:变量名 = 变量值

例如:

age = 18  # age = int()

 

(2)进制转换:

十进制转其余进制

(1)二进制:

定义方式:bin

例如:

print(bin(12))  # 0b1100 Ob为二进制的标识

(2)八进制:

定义方式:oct

例如:

print(oct(12))  # 0o14 Oo为八进制的标识

(3)十六进制:

例如:hex

print(hex(12))  # 0xc Oo为十六进制的标识

 

(3)其余进制转十进制

定义方式:int

例如:

 # print(int('x',y))  x表示要转换的数 y表示转换的进制
print(int('10',2))  # 2
print(int('10',8))  # 8
print(int('10',16)) #16

PS:

(1)其只能存单一数据

(2)没有顺序之说

(3)不可变类型

 

(2)浮点型float:

作用:一般描述 身高 体重 薪水等(说白了就是描述含有小数点的数字的)

定义方式:变量名 = 值

例如:

tall = 1.78  # tall = float()

PS:

(1)其只能存单一数据

(2)没有顺序之说

(3)不可变类型

 

(3)字符串str:

作用:一般用来描述人的外貌,家庭住址,评价等

定义方式:单引号 双引号 三引号

区别:

(1)三引号可以一次性定义多行数据 其余没有任何区别

(2)三引号可以用来做注释

例如:

name = 'SR'  # name = str()

内置方法:

[1]索引取值

作用:按照一定的顺序 进行内部的取值

定义方式:print(变量名[X])

(1)正向取值:

例如:

test = 'hello world'
print(test[0])  # h 在字符串中其取值不是为整体 而是字符串中的单一元素

(2)反向取值:

定义方式:print(变量名[-X])

例如:

test = 'I love you'
print(test[-1])  # u

 

(2)切片:

作用:按照一定的索引范围进行取值

定义方式:print(变量名[X:Y])

例如:

test  = 'hello world'
print(test[0:5])  # hello

PS:其有个重要特点 当取值的时候只能顾不顾尾

 

(3)步长:

作用:按照跳跃式取值

定义方式:print(变量名[X:Y:Z])

例如:

test  = 'hello world'
print(test[0:5:2])  # hlo 跳一个索引取值 步长默认为1

 

(4)长度len:

作用:在字符串中显示在该字符串在字符的个数

定义方式:print(len(变量名))

例如:

hobbies = 'read game music'  
print(len(hobbies)) # 15 空格也属于字符

 

(5)in /not in

作用:成员归属运算

定义方式:print(X in not in 变量名)

例如:

hobbies = 'Read Run '
print('R' in hobbies)  # True

hobbies = 'Read Run '
print('r' not in hobbies)  # True

 

(6)strip:

作用:

(1)移除字符串中的首尾的某些字符

(2)如果首尾字符为空格默认清除该符号

定义方式:print(变量名.strip())

例如:

name = '@@@@I [email protected] [email protected]@@@'
print(name.strip('@'))  # I [email protected] You

扩展用法:

(1)lstrip

作用:清除字符串左边的字符

例如:

name = 'SSS I [email protected] You SSS'
print(name.lstrip('S'))  # I [email protected] You SSS

(2)rstrip

作用:清除字符串右边的字符

例如:

name = 'SSS I [email protected] You SSS'
print(name.rstrip('S'))  # SSS I [email protected] You 

 

(7)切分split

作用:按照某个字符进行分隔 分隔之后的结果成为一个列表

基本定义方式:print(变量名.split(S))

例如:

user_info = 'SR|18|read'
print(user_info.split('|'))  # ['SR', '18', 'read']

扩展用法:

(1)rsplit

作用:从右边根据某字符进行切割

例如:

hobbies = 'read|game|music'
print(hobbies.rsplit('|',1))  # ['read|game', 'music']

 

(8)lower,upper

(1)lower

作用:

(1)将字符更改为全小写

(2)数字不进行更改

例如:

name = 'S1R'
print(name.lower())  # s1r

(2)upper

作用:将字符全部更改为大写

例如:

name = 's1r'
print(name.upper())  # S1R

 

(9)startswith,endswith

(1)startwith

作用:判断是否以什么字符开头

例如:

name = 'SR'
print(name.startswith('S'))  # True

(2)endswith

作用:判断是否以什么字符结尾

name = 'SR'
print(name.endswith('R'))  # True

 

(10)format

作用:指定某些数据处在什么样的位置

定义方式:print(变量名 {}.format())

方法一:占位坐 谁来谁坐 同%s %d类似

例如:

print('My name is {} My age is {}'.format('SR',18))  #My name is SR My age is 18

方法二:排号坐 根据索引号入座

例如:

print('My name is {1} My age is {0}'.format(18,'SR'))  # My name is SR My age is 18

方法三:指名道姓坐

例如:

print('My name is {name} My age is {age}'.format(name='SR',age=18)) #My name is SR My age is 18

 

(11)join

作用:通过某些字符连接生成一个新的字符串

定义方式:print(变量名.join())

例如:

hobbies = 'read game music'
print('&'.join(hobbies))  # r&e&a&d& &g&a&m&e& &m&u&s&i&c

 

(12)replace:

作用:将字符串中的某些字符替换

定义方式:

例如:

name = 'SR'
print('SR'.replace('SR','sr'))  # sr

 

(13)isdigit:

作用:用于判断字符串中字符是否为纯数字

例如:

name = 'SR'
print(name.isdigit())  # False

age = '18'
print(age.isdigit())  # True

 

了解部分:

find,rfind,index,rindex,count
name='egon say hello'
print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
# print(name.index('e',2,4)) #同上,但是找不到会报错
print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有

#center,ljust,rjust,zfill
name='egon'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #如果格数不够用0填充

#expandtabs
name='egon\thello'
print(name)
print(name.expandtabs(1))  # tab的格数

#captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='egon say hi'
print(msg.title()) #每个单词的首字母大写

 

三:列表

作用:可以存取多个值 可存可取

定义:[]符号内部用逗号分隔

例如:

number = [1,2,3,4] # number = list()

 

【1】

内置方法:

(1)正向取值:

例如:

number = [1,2,3,4]
print(number[0])  # 1

(2)反向取值:

例如:

number = [1,2,3,4]
print(number[-1])  # 4

 

追加的三种方式

方式一:

append

作用:

(1)尾部添加

(2)如果添加是容器类型数据 会将容器类型看成单个数据

例如:

number = [1,2,3,4]
number.append(5)
print(number)  # [1, 2, 3, 4, 5]

方式二:

insert:

作用:

(1)按照索引添加

(2)如果添加是容器类型数据 会将容器类型看成单个数据

例如:

number = [1,2,3,4]
number.insert(1,'SR')
print(number)

方式三:

extend

作用:扩展多个元素添加到列表中

number = [1,2,3,4]
number1 = [5,6,7]
number.extend(number1)
print(number)  # [1, 2, 3, 4, 5, 6, 7]

 

删除的三种方式:

(1)

del

作用:

(1)删除任意类型的数据

(2)没有返回值

例如:

number = [1,2,3,4]
del number[0]
print(number)  # [2, 3, 4]

 

(2)remove

作用:

(1)删除指定的数据

(2)没有返回值

例如:

number = [1,2,3,4]
number.remove(4)
print(number)  # [1, 2, 3]

 

(3)pop

作用:

(1)尾部弹出数据

(2)按照索引号弹出数据

(3)有返回值

例如:

number = [1,2,3,4]
number.pop()
print(number)  # [1, 2, 3] 尾部弹出

number = [1,2,3,4]
number.pop(0)
print(number)  # [2, 3, 4] 索引弹出

number = [1,2,3,4]
print(number.pop())  # 4 返回值

 

PS:

(1)能存多个值

(2)有序

(3)可变类型

数据类型及内置方法

 

 

四:元组

作用:可以存取多个值 但是不能修改内部的值

定义方式:()内部用逗号分隔

例如:

number = (1,2,3,4,)  # number = tuple()

 

元组特性:

(1)

test = tuple(1)
print(test)  # 报错 因为在元组内部基于for循环 

(2)

数据类型及内置方法
test = (1)
print(type(test))  # <class 'int'> 

name = tuple('SR')
print(type(name))  # <class 'tuple'>

# PS:当元组内部只为一个数据的时候 如果没有用逗号分隔 看元组内部为什么类型数据 即为什么类型数据
数据类型及内置方法

PS:在容器数据类型中 无论容器中存放多少数据 都用逗号将数据分隔

 

【3】

内置方法:

(1)正向索引取值

例如:

test = (1,2,3)
print(test[0])  # 1 索引取值

(2)反向索引取值

例如:

test = (1,2,3,4,5)
print(test[-1])

 

步长

(1)隔值取值(即隔多少个数据取一个数值)

例如:

test = (1,2,3,4,5)
print(test[0:5:2])  # (1, 3, 5)
# PS:顾头不顾尾,左边为头,右边为尾

 

长度:

作用:查看元组内部数据个数

test = (1,2,3,4,5)
print(len(test))  # 5

 

in /not in

作用:查看某元素是否属于元组内部

例如:

test = (1,2,3,4,5)
print(1 in test)  # True

test = (1,2,3,4,5)
print(6 not in test)  # True

 

index:

作用:查看元素在元组中的索引号

例如:

test = (1,2,3,4,5,1)
print(test.index(2))  # 1

 

count:

作用:查看元素在元组中出现的次数

例如:

test = (1,2,3,4,5,1)
print(test.count(1))  # 2

 

number = (1,2,3,4,[5,6,7,8])
number[4][0] = 100
print(number)  # (1, 2, 3, 4, [100, 6, 7, 8])

数据类型及内置方法

 

 

 

 

五: 字典

作用:一次性存取多个值 且对应的值都有一个key对其进行描述

定义方式:{}元素之间用逗号分隔

PS:

(1)其中key必须是不可变类型

(2)value可以是任意类型的数据

内置方法:

(1)

.keys

作用:查看key名称 需要的时候才会返回给你

例如:

user_info = {'name':'SR','age':18}
print(user_info.keys())  # dict_keys(['name', 'age'])

(2).value

作用:查看value对应的值 需要的时候会返回给你

例如:

user_info = {'name':'SR','age':18}
print(user_info.values())  # dict_values(['SR', 18])

PS:在Python2中其以列表的形式存在于内存中

 

(3)

 .get

作用:

(1)通过get获取value对应的值

(2)如果字典中不存在key 不会报错返回none

(3)如果key存在则返回为key本身所对应的内容 如果不存在则会返回自己定义的内容

例如:

user_info = {'name':'SR','age':18}
print(user_info.get('age'))  # 18

user_info = {'name':'SR','age':18}
print(user_info.get('hobbies'))  # None不存在返回None

user_info = {'name':'SR','age':18}
print(user_info.get('hobbies','read'))  # read 自己定义的内容

 

(4)

 .{}fromkey

作用:新增一个键值对

例如:

user_info = {}.fromkeys(('name',),'SR')
print(user_info) # {'name': 'SR'} 逗号分隔***

 

.popitem

作用:

(1)弹出键值对

(2) 弹出有返回值

(3)弹出结果为元组

例如:

user_info = {'name':'SR','age':18,'hobbies':'read'}
print(user_info.popitem())  # ('hobbies', 'read')

 

.setdefault

(1)当key存在的时候 不会修改原值 且将原值返回给你

(2)当key不存在的时候 不会报错 返回结果为空

(3)如果定义value 新增一个键值对 且将键值对的值返回给你

例如:

user_info = {'name':'SR','age':18,}
print(user_info.setdefault('name'))  # SR 值存在的情况下

user_info = {'name':'SR','age':18,}
print(user_info.setdefault('hobbies'))  #None

user_info = {'name':'SR','age':18,}
print(user_info.setdefault('hobbies','read')) # read
print(user_info)  # {'name': 'SR', 'age': 18, 'hobbies': 'read'}

 

.update

作用:

(1)用来将某字典1新增到某字典2中

(2)修改原有key所对应的value

例如:

user_info = {'name':'SR','age':18,}
info = {'hobbies':'read'}
user_info.update(info)
print(user_info)  # {'name': 'SR', 'age': 18, 'hobbies': 'read'}


user_info = {'name':'SR','age':18,}
user_info.update(age=20)
print(user_info)  # {'name': 'SR', 'age': 20}

 .items

作用:会将字典中的键值对打散

例如:

user_info = {'name':'SR','age':18,'hobbies':'read'}

for k,v in user_info.items():
    print(k,v)  
'''
name SR
age 18
hobbies read

'''

 

六:集合

作用:存取多个值 进行关系运算 去重复值

定义方式:{}

例如:

user_info  = {1,2,3,} # user_info = set()

PS:

(1)集合内部只能是不可变数据类型

(2)集合内部无重复值

(3)集合无序

number = {1,2,3,4,[1,2,3]}  
print(type(number))  # 报错


number1 = {1,2,2,2,3,4}
print(number1)  # {1, 2, 3, 4}

print(number1[0])  # TypeError: 'set' object does not support indexing

 

内置方法:

(1)&

作用:交集

例如:

pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'}
linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'}
print(pythons&linuxs)  # {'alex', '张金蛋', '张锡蛋'}

(2)|

作用:并集

例如:

pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'}
linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'}
print(pythons|linuxs)  # {'egon', '李二丫', '张金蛋', '赵铜蛋', 'lxx', '陈独秀', 'oldboy', '李银弹', 'alex', '张锡蛋'

 

(3)-

作用:差集

例如:

pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'}
linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'}
print(pythons-linuxs)  #  {'李银弹', 'oldboy', '赵铜蛋', '李二丫'}

 

(4)^

作用:对称差集

例如:

pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'}
linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'}
print(pythons^linuxs)  # {'赵铜蛋', '陈独秀', 'oldboy', '李二丫', 'egon', 'lxx', '李银弹'}

 

(5)>=

作用:判断一个集合是否为另外一个集合的父集

例如:

number = {1,2,3}
number1 = {1,2}
print(number>=number1)  # True

 

(6)<=

作用:判断一个集合是否为另外一个集合的子集

例如:

number = {1,2,3}
number1 = {1,2,6}
print(number<=number1)  # False

 

.remove

作用:删除某个指定的元素

例如:

number = {1,2,3}
number.remove(3)
print(number)  # {1, 2} 返回值为None
PS:如果某个指定元素不存在 则会报错

 

.discard

作用:删除某个元素

(1)如果元素不存在不会报错 且返回字典中包含的元素

(2)元素返回值为None

数据类型及内置方法
number = {1,2,3,4}
number.discard(3)
print(number)  # {1, 2, 4}

number = {1,2,3,4}
number.discard(38)
print(number)  # {1, 2, 3, 4}

 

.diffrence

作用:比较两个集合之间的不同元素

例如:

数据类型及内置方法
number = {1,2,3}
number1 = {1,2,4}
print(number.difference(number1))  # {3}

number = {1,2,3}
number1 = {1,2,3,4}
print(number.difference(number1))  # set() 如果元素不对等返回空

number = {1,2,3}
number1 = {1,2,3}
print(number.difference(number1))  # set() 如果元素对等返回空

 

相关文章:

  • 2021-10-05
  • 2022-02-18
  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
  • 2022-02-28
  • 2022-01-10
  • 2023-02-20
猜你喜欢
  • 2022-12-23
  • 2022-01-03
  • 2021-06-16
  • 2021-08-06
  • 2021-07-19
  • 2023-02-20
相关资源
相似解决方案