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. 深入浅出WPF-01.WPF缘起

    WPF缘起 自2012年起,根据公司需要,开始进入界面开发工作.公司是医疗器械行业,很多操作都是基于PC进行的,所以桌面应用开发尤为重要.原有项目都是基于MFC进行的开发,而且是VC6.0的技术,维护 ...

  2. 【C++ Primer Plus】编程练习答案——第3章

    1 void ch3_1() { 2 using namespace std; 3 unsigned int factor = 12; 4 unsigned int inch, feet; 5 cou ...

  3. 使用Jacoco统计服务端代码覆盖情况实践

    一.背景 随着需求的迭代,需求增加的同时,有可能会伴随着一些功能的下线.如果不对系统已经不用的代码进行梳理并删除不需要的代码,那么就会增加系统维护成本以及理解成本.但经历比较长的迭代以及系统交接,可能 ...

  4. heoi2020树

    _ _01trie树合并 _ _ 在考场上一直想用数据结构维护,还花了好长时间算 $(a+1)^(b+1)$,现在看来当时好像在犯傻........ 异或有个神奇的工具是 01trie 树,此题就用此 ...

  5. mysql int(3)与int(10)的数值范围相同吗?

    提问: mysql的字段,unsigned int(3), 和unsinged int(6), 能存储的数值范围是否相同.如果不同,分别是多大? 回答: 不同,int(3)最多显示3位无符号整体,in ...

  6. redis编译安装、哨兵、集群

    编译安装 #下载源代码解压 wget https://download.redis.io/releases/redis-5.0.13.tar.gz -P /home/ tar -xvf /home/r ...

  7. app定位工具介绍

     一.元素获取工具WEditor使用   1.安装WEditor:pip3 install weditor   2.启动WEditor:python3 -m weditor    Android : ...

  8. 2020.10.10--pta阶梯赛练习2补题

    7-3.N个数求和 本题的要求很简单,就是求N个数字的和.麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式. 输入格式: 输入第一行给出一个正整数N(≤100).随后 ...

  9. 实现服务器和客户端数据交互,Java Socket有妙招

    摘要:在Java SDK中,对于Socket原生提供了支持,它分为ServerSocket和Socket. 本文分享自华为云社区<Java Socket 如何实现服务器和客户端数据交互>, ...

  10. Android构建工具--AAPT2源码解析(一)

    一.什么是AAPT2 在Android开发过程中,我们通过Gradle命令,启动一个构建任务,最终会生成构建产物"APK"文件.常规APK的构建流程如下: (引用自Google官方 ...