python介绍和用途-python数据类型介绍与使用

目录

一.数字类型(int,flaot)

二.字符串类型(str)

三.列表类型(list)

四.元组类型(tuple)

五.字典类型(dict)

六.集合类型(set)

一..数字类型:

引用:我们学习变量是为了让计算机能够像人一样记忆某种事物的状态,而变量的值就是用来存储事物的状态,

很明显事物的状态是分很多种类的(比如人的姓名,身高,体重,工资等)所以变量的值也应该有不同的类型。

age = 21 # 用整型去记录年龄

name = 'nick_xm' # 用字符串记录人的姓名

salary = 1888.888 # 用浮点型记录薪资

o_200312053352szs.jpg

作用:用来定义人的年龄,出生年月份等的一种整数相关的状态。

定义:变量后面跟整数或则小数。

age = 21

brithday = 1998

使用:数字类型可以 数学运算 也可以比大小。

1.1 数学运算:

a = 1

b = 2

c = 3

print(a + b) # 3

1.2 比较大小

a = 1

b = 2

c = 3

print(a < b) # True

1.3 folat浮点型

作用:用来记录人的身高,体重,薪资等小数相关的状态

定义:变量后面跟小数

height = 1.68

weight = 109.5

salary = 3999.99

二.字符串类型:

2.1 作用

用来记录人的名字,性别,家庭住址等描述性值的状态。

2.2 定义

name = 'nick_xm'

sex = 'man'

addres = 'Chongqing'

2.3 使用

# 数字类型可以进行算术运算,字符串也可以只不过是只能进行“相加”,"相乘’运算。

name = 'nick_xm'

age = 21

number = 3

print(name + age) # 相加只不过是简单的拼接再一起 nick_xm21

print(name*number) # 相乘也只不过是将字符串相加了3次 nick_xmnick_xmnick_xm

三.列表类型:

3.1 作用

用来记录多个同种属性值的一种容器类型,可变类型,定义的列表里面元素是可以改变的

3.2 定义

student = ['Yuan-Yuan su', 'nick_xm', 'alex', 'egon']

3.3 使用

# 列表是按照索引来对应值的,索引代表的是数据的位置,从零开始记

student_name = ['Yuan-Yuan su', 'nick_xm', 'egon']

print(studen_name[0]) # Yuan-Yuan su

print(studen_name[-1]) # egon 列表也可以倒着取值从-1开始记数

# 列表也可以嵌套列表

student_name = [['Yuan-Yuan su', 'woman', '1.75'], 'nick_xm']

print(student_name[0][2]) # 取出第一个学生的身高

四.元组类型:

4.1 作用

用来记录多个同一种属性值的容器类型,属于不可变类型,一但定义不可改变,比如人的年龄到了一定时间就会永恒不变

4.2 定义

alex_life_span = (100,)

# 除了不可变其他跟列表一样

五.字典类型:

5.1 作用

用来记录多个不同属性值的状态,字典类型是用key:value形式来存储数据,其中key可以对value有描述性的功能

5.2 定义

person_info = {'name': 'nick_xm'}

5.3 使用

# 字典类型使用key来对应值的关系的,通常情况是对应的字符串

person_info = {'name': 'nick_xm', 'age': 21, hobbies: ['game', 'desige']}

print[person_info][name] # nicck_xm

六.集合类型:

6.1 作用

跟其他类型一样也是可以存多个值的容器类型,主要用于去重和关系运算

6.2 定义

'''在{}号内用逗号分隔开多个元素, 集合具备一下三个特点

1 每个元素必须是不可变类型

2 没有重复元素

3 集合内的元素是无序的

'''

s = {1,2,3,4} # 等同于 s = set(1,2,3,4)

# 注意列表是索引取值,字典是key取值,但是集合没有索引也没有key,自然就不存在取值

# 对于集合没有单独取一个值的功能,集合主要应用在去重和关系运算

# 集合跟字典都是用的一个{}号,那么现在我要定义一个空集合,怎么跟字典区分开了

d = {} # 这样定义相当于定义了一个空字典

l = set() # 这才是定义了一个空集合

6.3 使用

关系运算

我们定义两个集合egon_student和alex_student来进行演示

egon_student = {'nick_xm','tank','Yuan-Yuan su', '张三', '李四'}

alex_student = {'张三', '李四', '王二','jin'}

"计算egon的学生和alex的学生一共有多少’

print(egon_student|alex_student) # | 合集 并集 计算alex和egon的学生 重复的学生只留一个

'算egon的学生和alex的学生都有几个'

print(egon_student&alex_student) # & 交集 计算alex和egon重复的学生有几个,两个老师的学生重复的

print(egon_student-alex_student) # - 差集 计算alex独有的好友

print(alex_student-egon_student) # - 差集 计算egon独有的好友

print(alex_student > egon_student) # >= 一个集合是否包含另一个集合

print(alex_student < egon_syudent) # <= 一个集合是不是另一个集合的子集

"对称差集(^) # 求两个用户独有的好友们(即去掉共有的好友)"

print(alex_student ^ egon_student)

集合去重

集合去重有很多局限性

元素必须是不可变类型

去重后会打乱原有的顺序

6.4 集合去重实例

l = [1, 2, 3, 4, 5, 6, 1, 23, 23, 456, 23, 11, 1, 5, 2, 3]

new_l = set(l)

l = list(new_l)

print(l) # [1, 2, 3, 4, 5, 6, 456, 11, 23]

# 要怎么才能保证去重不打乱顺序了 看实例

# 针对不可变类型,并且保证顺序则需要我们自己写代码实现,例如

l=[

{'name':'lili','age':18,'sex':'male'},

{'name':'jack','age':73,'sex':'male'},

{'name':'tom','age':20,'sex':'female'},

{'name':'lili','age':18,'sex':'male'},

{'name':'lili','age':18,'sex':'male'},

]

new_l=[]

for dic in l:

if dic not in new_l:

new_l.append(dic)

print(new_l)

# 结果:既去除了重复,又保证了顺序,而且是针对不可变类型的去重

[

{'age': 18, 'sex': 'male', 'name': 'lili'},

{'age': 73, 'sex': 'male', 'name': 'jack'},

{'age': 20, 'sex': 'female', 'name': 'tom'}]

七.补充下可变类型与不可变类型

7.1 可变类型

值发生改变时,内存地址没有变,id 没有改变,证明在改变原值

7.2 不可变类型

值发生改变时,内存地址也变了,id 改变了,证明原值没有被改变,而是产生了新的值

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值