python的基本类型有哪些_Python 基础数据类型

Python基本数据类型

1.说一下基本数据类型有哪些

整型(int)

作用:

记录年龄、身份证号、个数等等

定义:

age = 18

浮点型(float)

作用:

记录薪资、身高、体重

定义:

salary = 3.3

height = 1.87

weight = 70.3

字符串类型(str)

作用:

记录描述性质的状态,名字、一段话

定义:

用引号('',"",''' ''',""" """,)包含的一串字符

如:name = 'xxq'

列表(list)

作用:

按位置记录多个值(同一个人的多个爱好、同一个班级的所有学校姓名、同一个人12个月的薪资)

并且可以按照索引取指定位置的值

定义:

在[]内用逗号分隔开多个任意类型的值,一个值称之为一个元素

如:list1 = [1,2,3,4,'5','六']

注意点:

索引对应值,索引从0开始,0代表第一个

字典(dic)

作用:

用来存多个值,每个值都有唯一一个key与其对应,key对值有描述性功能

定义:

在{}内用逗号分开各多个 key:value

如:info={"name":'xxq',"age":18, "gender":'male'}

布尔类型(bool)

作用:

用来记录真假这两种状态

定义:

is_ok = True

is_ok = False

其他使用:

通常用来当作判断的条件,我们将在if判断中用到它

元组类型(tuple)

作用:

按照索引/位置存放多个值,只用于读,不用于改

定义:

t = (1,1.3,'aaa')

注意点:

1.单独一个括号,代表包含的意思

x = (10)

2.如果元组中只有一个元素,必须加逗号

x = (10,)

3.元组不能改,指的是不能改里面的内存地址

t = (1,[11,22])

print(t,id(t[0]),id(t[1]))

t[1][0] = 33 # 元组内的列表的元素还是可以改的

print(t,id(t[0]),id(t[1]))

(1, [11, 22]) 2038884272 59297864

(1, [33, 22]) 2038884272 59297864

集合类型(set)

作用:

关系运算、去重

定义:

在 {} 内通逗号隔开多个元素,多个元素满足以下条件:

1.集合内的元素必须为不可变类型

2.集合内的元素无序

3.集合内的元素没有重复

2.说一下交互

什么是交互?

交互就是人和计算机互动,人输入信息,计算机获取后,输出信息给人,循环往复的这个过程,就是交互。

为什么要交互?

为了让计算机可以和人一样沟通,要操控计算机就是通过这种可以交互的性质。

怎么交互?

输入 和 输出

3.说一下运算符

算数运算符

包括:+、-、*、/、//、%、**

# print(10 + 3.1)

# print(10 + 3)

# print(10 / 3) # 结果带小数

# print(10 // 3) # 只保留整数部分

# print(10 % 3) # 取模、取余数

# print(10 ** 3) # 取模、取余数

比较运算符

包括:>、>=、

# print(10 > 3)

# print(10 == 10)

#

# print(10 >= 10)

# print(10 >= 3)

# name=input('your name: ')

# print(name == 'egon')

赋值运算符

1.变量的赋值:=

2.增量赋值

# age = 18

# # age += 1 # age=age + 1

# # print(age)

#

# age*=3

# age/=3

# age%=3

# age**=3 # age=age**3

3.链式赋值

# x=10

# y=x

# z=y

# z = y = x = 10 # 链式赋值

# print(x, y, z)

# print(id(x), id(y), id(z))

4.交叉赋值

m=10

n=20

# print(m,n)

# 交换值

# temp=m

# m=n

# n=temp

# print(m,n)

# m,n=n,m # 交叉赋值

# print(m,n)

5.解压赋值

# 把五个月的工资取出来分别赋值给不同的变量名

# mon0=salaries[0]

# mon1=salaries[1]

# mon2=salaries[2]

# mon3=salaries[3]

# mon4=salaries[4]

# 解压赋值

# mon0,mon1,mon2,mon3,mon4=salaries

# print(mon0)

# print(mon1)

# print(mon2)

# print(mon3)

# print(mon4)

# mon0,mon1,mon2,mon3=salaries # 对应的变量名少一个不行

# mon0,mon1,mon2,mon3,mon4,mon5=salaries # 对应的变量名多一个也不行

4.可变不可变类型的区别

可变类型:

值改变,id不变,证明改的是原值,证明原值是可以被改变的

不可变类型:

值改变,id也改变了,证明是产生新的值,压根没有改变原值,证明原值是不可改变的

5.基本数据类型 总结

按照存值个数区分

只能存一个值(可称为标量/量子类型): 数字、字符串

可以存放多个值(可称为容器类型): 列表、元组、字典

按照访问方式区分

只能存一个值(可称为标量/量子类型): 数字

可以存放多个值(可以用索引访问指定的值,又称为序列类型): 字符串、列表、元组

key访问(可以用key访问指定的值,又称为映射类型): 字典

按照可变不可变区分

可变类型: 列表、字典

不可变类型: 数字、字符串、元组

6.简单描述定义一个变量x=10,在内存的栈区和堆区的存放情况

栈区 存放变量名 x

堆区 存放变量值 10

7.简述一下 直接引用 和 间接引用

直接引用:

直接把值传给变量名,如:

x = 10

print(x)

间接引用:

把值传给一个变量后,间接把值传给另一个变量

x = 10

y = x

print(y)

8.接收用户输入的:用户名、年龄、性别,然后选取最优格式化字符串的方式,按照如下格式输出:

我的名字是:XXX

我的年龄是:XXX

我的性别是:XXX

name = input('请输入姓名:')

age = input('请输入年龄:')

gender = input('请输入性别:')

info = '''

我的名字是:{name}

我的年龄是:{age}

我的性别是:{gender}

'''.format(name=name, age=age, gender=gender)

print(info)

9.用算数运算符演示:取模运算、增量运算、交叉赋值、链式赋值、解压赋值

# 取模(取余数)运算:

print(10 % 3)

# 增量运算:

x = 10

x += 1

print(x)

# 交叉赋值:

a = 1

b = 2

a, b = b, a

print(a, b)

# 链式赋值:

x = y = z = 1

print(x, y, z)

# 解压赋值:

s = [1, 2, 3]

m1, m2, m3 = s

print(m1, m2, m3)

10.写一段用户登录的代码:

要求:

1.用户输错3次,退出程序,并提示输错次数过多

2.用户输入正确,则进入子程序,开始循环执行命令

3.在循环内,用户输入退出命令,则退出所有循环

username = 'xxq'

password = '123'

count = 0

while count < 3:

inp_username = input('请输入账号:')

inp_password = input('请输入密码:')

if username == inp_username and password == inp_password:

print('登录成功!')

while True:

inp_cmd = input('请输入指令:(按‘q’退出程序)')

if inp_cmd == 'q':

print('接收到退出指令,程序退出!')

break

else:

print('指令', inp_cmd, '正在执行,按‘q’退出程序')

break

else:

print('账号或面错误,请重试!')

count += 1

else:

print('输错3次了,自动退出程序!')

11.集合内元素的3个特征

1.集合内的元素 必须为 不可变类型(数字、字符串、元组)

2.集合内的元素 无序

3.集合内的元素 没有重读

12.集合的用途是什么?

去重(如:列表去重)

关系测试(如:取交集、取并集、取差集等)

13.举例说明关系运算(交集、并集、差集、对称差集、父子集)

① 取出交集:两者共同的好友( & / .intersection() )

friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们

friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们

res = friends1 & friends2

res = friends1.intersection(friends2)

print(res)

{'egon', 'jason'}

② 取出并集/交集:两者所有的好友( | / .union() )

friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们

friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们

res = friends1 | friends2

res = friends1.union(friends2)

print(res)

{'egon', 'kevin', 'ricky', 'Jy', 'zero', 'jason'}

③ 取出差集:取出其中一个集合独有的好友( - / .difference() )

取出 friends1 独有的好友:

friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们

friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们

res = friends1 - friends2

res = friends1.difference(friends2)

print(res)

{'kevin', 'zero'}

取出 friends2 独有的好友:

friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们

friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们

res = friends2 - friends1

res = friends1.symmetric_difference(friends2)

print(res)

{'ricky', 'Jy'}

④ 对称差集:求2个用户独有的好友们(即:去掉共同的好友)( ^ )

friends1 = {"zero","kevin","jason","egon"} # 用户1的好友们

friends2 = {"Jy","ricky","jason","egon"} # 用户2的好友们

res = friends2 ^ friends1

print(res)

{'kevin', 'Jy', 'ricky', 'zero'}

⑤ 父子集:包含的关系( < / = / > / .issubset() )

s1 = {1,2,3}

s2 = {1,2,4}

# 不存在包含关系,下面比较均为False

print(s1.issupersets2())

print(s1 > s2)

print(s1 < s2)

s1 = {1,2,3}

s2 = {1,2}

print(s1.issubset(s2))

print(s1 > s2) # 当s1大于或等于s2时,才能说s1是s2的爹

s1={1,2,3}

s2={1,2,3}

print(s1 == s2) # s1与s2互为父子

14.基于集合对列表去重l1 = [1, 1, 1, 1, 1, 1, 2, 3, 3, 'a']

l1 = [1, 1, 1, 1, 1, 1, 2, 3, 3, 'a']

print(set(l1))

15.简述一下集合去重的局限性

1.只能针对不可变类型去重

2.无法保证原来的顺序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值