Python--基本数据类型

赋值格式:

  • 变量名 赋值符号 值

查看数据类型的方法:

  • type( )

1、整型 int

整型一般用于存储整数等

#int实例
age = 18
num = 100
···

2、浮点型 float

浮点型一般用于存储小数等

#float实例
NUM = 3.14
num = 1.456789
···

注·整型和浮点型可以叫做数字类型,主要用于数学运算、类型转换等


3、字符串 str

字符串格式

字符串主要用于记录描述性性质的数据

定义:字符串需要用引号括起来,单引号,双引号,三引号(没有赋值符号的三引号为注释)

字符串定义格式:
#空字符串
s1 = ''
#非空字符串
方式一: #单引号
num = 'one two three' 方式二: #双引号
num = "one two three" 方式三: #三引号:三个单引号
num = '''one two three'''

num = """one two three"""

字符串嵌套

为什么会有单引号双引号或者三引号,这么多种类,在字符串内,如果需要多次使用引号需要注意,引号的开始和结束的位置,例子如下:

#错误示范
word = '老师说:'学会python就能拿高薪。''

图示如下:



这样python解释器会认为字符串只有’老师说‘和后面的空字符串’ ‘。


#正确示范,引号嵌套
word = '老师说:"学会python就能拿高薪。"'
word1 = "老师说:'学会python就能拿高薪。'"

这样就没有问题了,注意引号的前后位置哦!

4、列表 list

  • 列表用来存储多个数据并且可以方便取出任意个数。

  • 取元素的方法:索引、切片

定义:列表是用中括号括起来,内部可以存放多个元素,元素与元素之间用逗号隔开,元素类型可以为任意数据类型。

列表定义格式:
#空列表
lst1 = [] #非空列表
lst2 = [1,2,3,'python']
lst3 = [1,2,3,'python',['java','php','c++']]

列表元素的下标位置

索引和切片:字符串,列表常用

列表举例子,索引取值,实例如下:

索引有两种方式:正索引、负索引
根据元素的位置来决定用那种方法,在列表前端用正索引,末尾用负索引 # 索引取值,取python
lst2 = [1, 2, 3, 'python']
print(lst2[3]) #正
print(lst2[-1]) #负
# 嵌套取值,取出java
lst3 = [1, 2, 3, 'python', ['java', 'php', 'c++']]
print(lst3[4][0])
print(lst3[-1][0])


切片取值的原理是左闭右开,不包含最后一位,切片取值实例如下:

#取出数字类型的元素,123,456,789
lst4 = [123,456,789,'name','age','hobby']
print(lst4[0:3]) #不包含第四个元素,所以取到第三个789


5、字典 dict

字典能够更加精确的存储数据,以键值对的形式存在

定义:字典是用大括号/花括号括起来,可以存放多个元素,元素与元素之间用逗隔开,对应的格式是KV键值对,{k:v}。

  • 说明:

    • K是对V的描述性性质的信息(一般情况下都是字符串)
    • V是真正的数据,相当于变量的值,可以是任意数据类型
# 字典实例:
#空字典
dic = {}
#非空字典
dic1 = {'name': 'HammerZe', 'age': 18, 'hobby': 'girl'}
#字典无法使用索引取值,只能通过K取值
print(dic['name'])

6、布尔型 boll

布尔值是用于判断事物的对错,只有两种状态,True,False

特别注意!布尔值的变量名一般采用 is开头定义!

实例如下:

is_right = True
is_delete = False
is_alive = True
  • 数据类型转换

    在python中所有的数据类型都可以转换为布 尔值

    布尔值为False的有:

    0,None,'',[],{}····,其他情况一律为True

7、元组 tuple

元组与列表几乎相同,但是是不可变的,列表里的元素是可变的

定义:用小括号括起来,可以存放多个元素,元素之间用逗号隔开,元素不支持修改

#实例如下:
#空元组
tup = ()
print(type(tup))
#非空元组
tup1 = (1, 2, 3, 4, 5, 6,)
print(type(tup1))
tup2 = (1, 2, 3, 4, 5, 6)
print(tup1 == tup2) #结果为True,后面多一个逗号也是可以的


8 、集合 set

集合可以去重和关系运算

定义:用大括号/花括号括起来,可以存放多个元素,元素和元素之间用逗号隔开,只能存储不可变类型,和字典区别开。

#实例如下
#空集合
s = set()
print(type(s))
# 非空集合
s1 = {1, 2, 3, 4, 5, 6, 7}
print(s1,type(s1))


python中不可变数据类型和可变数据类型

查看内存地址的方法:id( )

如何区分可变与不可变

不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变

  • 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。
  • 可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

用一张表来说明:

数据类型 可变/不可变
整型 不可变
字符串 不可变
元组 不可变
列表 可变
集合 可变
字典 可变

实例如下:

#分别取可变和不可变的一种来举例子:
#整型
a = 1
print(id(a),type(a))
a = 2
print(id(a),type(a)) #结果
1354793072 <class 'int'>
1354793104 <class 'int'> #内存地址发生了改变,所以是不可变类型 #列表:
lst = [1, 2, 3, 4, 5]
print(lst, id(lst), type(lst))
lst[0] = 'one'
print(lst, id(lst), type(lst)) #结果:
[1, 2, 3, 4, 5] 2616978892744 <class 'list'>
['one', 2, 3, 4, 5] 2616978892744 <class 'list'>
#内存地址没有发生改变,所以是可变类型

看完例子是不是明白了可变与不可变的原理了!


Python--基本数据类型(可变/不可变类型)的更多相关文章

  1. 7、python基本数据类型之散列类型

    前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍散列类型. 一.散列类型 内部元素无序,不能通过下标取值 1)字典(dict):用 {} 花括号表示,每一个元素 ...

  2. python的可变数据类型和不可变类型

    python里面一切皆对象 ython的每个对象都分为可变类型和不可变类型 整形,浮点型,字符串,元组属于不可变类型,列表,字典是可变类型 不可变数据类型 对不可变类型的变量重新赋值,实际上是重新创建 ...

  3. Python(可变/不可变类型,list,tuple,dict,set)

    补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is typ ...

  4. python基础之可变数据类型与不可变数据类型

    一.什么可变数据类型和不可变数据类型 可变数据类型:value值改变,id值不变:不可变数据类型:value值改变,id值也随之改变. 二.如何确定一种数据类型是可变的还是不可变的 根据可变数据类型与 ...

  5. python 可变数据类型和不可变数据类型(7)

    python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类 ...

  6. 一道问题引出的python中可变数据类型与不可变数据类型

    一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 a = 1 b = a b += 1 print(a) print(b) ...

  7. 005 python 整数类型/字符串类型/列表类型/可变/不可变

    可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年 ...

  8. Python 可变数据类型与不可变数据类型

    浅拷贝和深拷贝 Python数据都是存放到内存中的,Python的数据又分为可变和不可以变 可变数据(修改了值后,不会改变内存地址,修改的值还是指向相同的内存地址) 字典 # 列表是可变 x = [1 ...

  9. python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变

    函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...

随机推荐

  1. 题解 Yet Another Number Sequence

    题目传送门 Description 给出 \(n,k\) ,求出: \[\sum_{i=1}^{n} f_i·i^k \] 其中 \(f_i\) 表示斐波拉契第 \(i\) 项.\(n\le 10^{ ...

  2. FastAPI 学习之路(九)请求体有多个参数如何处理?

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  3. UF_CAMGEOM_ask_custom_points 封装缺陷

    如果当前设置为0个点时,取自定义点就会报错,这又是一个封装错误 解决办法,只能是这么搞了:

  4. 更好的 java 重试框架 sisyphus 配置的 2 种方式介绍

    回顾 我们前面学习了 更好的 java 重试框架 sisyphus 入门简介 更好的 java 重试框架 sisyphus 背后的故事 这一节让我们一起学习下 sisyphus 基于函数式的配置和注解 ...

  5. 敏捷 Scrum Master 的難點

    什麼是 Scrum Master? Scrum master 是一個團隊角色,負責確保團隊遵守敏捷方法和原則並符合團隊的流程和實踐. Scrum Master 促進敏捷開發團隊成員之間的協作.Scru ...

  6. Java:并发笔记-01

    Java:并发笔记-01 说明:这是看了 bilibili 上 黑马程序员 的课程 java并发编程 后做的笔记 1. 进程与线程 本章内容 进程和线程的概念 并行和并发的概念 线程基本应用 1.1 ...

  7. Java:重载和重写

    Java:重载和重写 对 Java 中的 重载和重写 这个概念,做一个微不足道的小小小小结 重载 重载:编译时多态,同一个类中的同名的方法,参数列表不同,与返回值无关. 有以下几点: 方法名必须相同: ...

  8. 2020BUAA软工个人项目作业

    2020BUAA软工个人项目作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 学 ...

  9. 微服务(三) Eureka注册中心和Ribbon负载均衡

    1. Eureka注册中心 1.1 Eureka的结构和作用 在上一篇文章中 微服务(二)服务拆分及远程调用 order-service在发起远程调用的时候,该如何得知user-service实例的i ...

  10. FastAPI 学习之路(三十三)操作数据库

    通过创建pydantic模型进行验证提交数据 from pydantic import BaseModel class UserBase(BaseModel): email: str class Us ...