python笔记_数据类型

定义:python的变量在使用前必须赋值,数据类型指的是变量指定的内存数据的类型

string字符串类型使用引号
int整型整数
float浮点型小数
bool布尔值(逻辑)输出true/false

A,整数类型

       

整型字节

        

1,python的整数有十六进制,十进制,八进制,二进制

        分别写作"0x数字","数字","0o数字","0b数字"

        

2,在编程中存储数据的基本单位是字节(byte)        1 byte = 8 bit(位)

        python中整型是变长的,每次的增量是4个字节

例:

定义

s1 = 1

s2 = 2 ** 24

s3 = 2 ** 56

输出

print(sys.getsizeof((s1)),"类型",type(s1))

print(sys.getsizeof((s2)),"类型",type(s2))

print(sys.getsizeof((s3)),"类型",type(s3))

——>

28 类型 <class 'int'>
28 类型 <class 'int'>
32 类型 <class 'int'>


B,浮点类型

       

1,表现形式

十进制形式 0.512 .512
科学技术形式 

5.12e2 (5.12乘10十的二次方)

5.12E-2(5.12除以10十的二次方)

       

2,查询浮点数取值范围

        sys.float_info       

        

3,浮点类型计算后,存在精度的损失,解决方案:Decimal       

例:

定义

p = 8.1 / 3

输出

print(p)

——>2.69999999999997

使用Desimal需要先导入decimal类

from decimal import Decimal

定义

p = Decimal("8.1") / Decimal("3")

输出

print(p)

——>2.7


C,布尔类型

        

1,布尔类型一般用于程序流程控制

        

2,布尔类型又叫bool类型,取值False和True

例:

定义

阿尔菲诺 = 21

阿莉塞 = 20

输出

if 阿尔菲诺>阿莉塞:

        print("阿尔菲诺是哥哥")

——>阿尔菲诺是哥哥

把阿尔菲诺>阿莉塞的结果赋给result

result = 阿尔菲诺>阿莉塞

print(result)

——>true

查看类型

输出

print(type(result))

print(type(2>1))

——><class 'bool'>

——><class 'bool'>

       

3,布尔类型可以和其他数据类型进行比较,在比较时True=1 False=0

定义

a = False

b = True

输出

print(a+b)

——>1

输出

if a == b:

        print("YES")

——>YES

       

4,在python中,非零被视为真值,零则被视为假值

if 0:把0当布尔值使用

        print("OK")

——>因为0是假值,无内容被输出

if -1:

        print("OK")

——>OK


D,字符串类型

        

1,python不支持单字符,单字符会被看作字符串

定义

a = "A"

输出

print(type(a))

——><class 'str'>

        

2,三个单引号,或三个双引号可以让内容保持原样输出

定义

content = 

"""

[pl.] (书的)目录,目次
the different sections that are contained in a book

"""

输出

print(content)

——>[pl.] (书的)目录,目次
the different sections that are contained in a book

        

3,字符串前加r,可以使整个字符串不被转义

定义

address = r"D:\download\tom\name"

输出

print(a)

——>D:\download\tom\name

       

4,字符串驻留机制

                a,python值保存一份相同且不可变字符串,不同的值被存放在字符串的驻留池

                b,python驻留机制对相同的字符串只保留一份拷贝

                c,创建新的相同字符串时不会开辟新空间

定义

str1 = "hello"

str2 = "hello"

str3 = "hello"

输出

print(id(str1))

print(id(str2))

print(id(str3))

——>

54236236

54236236

54236236

       

5,驻留机制使用条件

                a,字符串由26个英文字母大小写,0-9,_组成

定义

a = "abc#"

b = "abc#"

输出

if id(a) != id(b):

        print("NO")

——>NO

                b,字符串长度为0或者1

定义

a = ""

b = ""

输出

if id(a) == id(b):

        print("YES")

——>YES

                c,字符串在编译时驻留,而非运行时

定义

a = "abc"

b = "".join(["a","bc"])

输出

if a == b:

        print("YES")

——>YES

输出

if id(a) != id(b):

        print("NO")

——>NO

                d,【-5,256】的整数数字



E,验证数据类型

type(object)

用法

验证数据类型

输出

print(type(3.1415))
——><class 'float'>

将验证结果储存为变量值

输入

int_type=print(type(3.1415))

输出
print(int_type)
——><calass 'float'>


F,数据转换
str(x)将x转换为字符串
int(x)将x转换为整数
float(x)将x转换为浮点数

提问:以下定义,print(result)的结果是{Tom的年龄是 8}吗? 

age = 8

result = "Tom的年龄是:" + age

否,因为字符串+整数不合法

隐式类型转换(自动转换)

        1,python的变量类型不是固定的

a = 1

print(type(a))

a = 1.5

print(type(a))

a = "alarm"

print(type(a))

        2,运算时,数据类型会向高精度转换,float精度大于int

定义

a = 1

b = a+0.5

输出
print(b,type(b))

——>1.5 <class 'float'>

 

显式类型转换

        1,对变量数据类型进行转换时,将数据类型作为函数名

        2,函数返回的新的对象或值,就是强制转换后的结果

定义

a = 1

b = float(a)

输出
print(b,type(b))

——>1.0 <class 'float'>

        3,浮点数转整数会丢失小数,整数转浮点数会增加小数

定义

a = 1.0

b = int(a)

输出
print(b,type(b))

——>1 <class 'int'>

        4,字符串进行类型转换的时候,需要注意是否有效

定义

a = "hello"

b = int(a)

输出
print(b,type(b))

——>hello不是整数,报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/495956.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Mac软件]Adobe Substance 3D Stager 2.1.4 3D场景搭建工具

应用介绍 Adobe Substance 3D Stager&#xff0c;您设备齐全的虚拟工作室。在这个直观的舞台工具中构建和组装 3D 场景。设置资产、材质、灯光和相机。导出和共享媒体&#xff0c;从图像到 Web 和 AR 体验。 处理您的最终图像 Substance 3D Stager 可让您在上下文中做出创造性…

RV32/64 特权架构 - 特权模式与指令

RV32/64 特权架构 - 特权模式与指令 1 特权模式2 特权指令2.1 mret&#xff08;从机器模式返回到先前的模式&#xff09;2.2 sret&#xff08;从监管模式返回到先前的模式&#xff09;2.3 wfi&#xff08;等待中断&#xff09;2.4 sfence.vma&#xff08;内存屏障&#xff09; …

在Web UI上提交Flink作业

1&#xff09;任务打包完成后&#xff0c;我们打开Flink的WEB UI页面&#xff0c;在右侧导航栏点击“Submit New Job”&#xff0c;然后点击按钮“ Add New”&#xff0c;选择要上传运行的JAR包 JAR包上传完成&#xff0c;如下图所示 &#xff08;2&#xff09;点击该JAR包&…

51单片机 wifi连接

一、基本概念 ESP8266是一款集成了WiFi功能的高性能芯片&#xff0c;广泛应用于物联网设备、智能家居、传感器网络等领域。以下是ESP8266的详细讲解&#xff1a; 1. 功能特点&#xff1a;ESP8266集成了TCP/IP协议栈&#xff0c;支持STA&#xff08;Station&#xff09;和AP&am…

麒麟银河操作系统V10部署ffmpeg

麒麟银河操作系统V10部署ffmpeg 部署ffmpeg用来处理视频的各种操作 想使用ffmpeg&#xff0c;要先安装nasm&#xff0c;yasm&#xff0c;x264之后&#xff0c;否则会报错 nkvers 查看麒麟操作系统版本 cat /proc/version #查看linux版本信息 uname -a #查看linux版本和内核…

基于uniapp框架的古汉语学习考试系统 微信小程序python+java+node.js+php

1、一般用户的功能及权限 所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果需要其它操作时&#xff0c;要登录注册&#xff0c;只有注册成功才有的权限。 2、管理员的功能及权限 用户信息的添加和管理&#xff0c;古汉语信息加和管理和学习视频添加和管…

Flink动态分区裁剪

1 原理 1.1 静态分区裁剪与动态分区裁剪 静态分区裁剪的原理跟谓词下推是一致的&#xff0c;只是适用的是分区表&#xff0c;通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的   动态分区裁剪应用于Join场景&#xff0c;这种场景下&#xff0c;分区条件在joi…

springboot+vue+mysql+easyexcel实现文件导出+导出的excel单元格添加下拉列表

Excel导出 EasyExcel官方文档 官方文档本身写的非常详细&#xff0c;我就是根据官方文档内的写Excel里web中的写实现的导出 后端 对象 需要写一个实体类 其中涉及到一些用到的EasyExcel的注解 ColumnWidth(20) 列宽设为20&#xff0c;自定义的&#xff0c;放在实体类上面是…

Linux线程(二)----- 线程控制

目录 前言 一、线程资源区 1.1 线程私有资源 1.2 线程共享资源 1.3 原生线程库 二、线程控制接口 2.1 线程创建 2.1.1 创建一批线程 2.2 线程等待 2.3 终止线程 2.4 线程实战 2.5 其他接口 2.5.1 关闭线程 2.5.2 获取线程ID 2.5.3 线程分离 三、深入理解线程 …

NR 2-STEP RA Absolute Timing Advance Command MAC CE的应用场景

3 GPP在 R2-2002413中将2-step RA引入&#xff0c;进而R16 38.321出现了 Absolute TAC MAC CE&#xff0c;在 NR Timing Advance(TA)_ntn rrc-CSDN博客 有提到这个MAC CE&#xff0c;当时以“absolute timing advance command MAC CE 在2-step RA的某个场景下使用”一笔带过&am…

CopyOnWriteArrayList 使用介绍

目录 一、背景1.1 线程安全问题复现1.2 问题跟踪线程安全隐患一&#xff1a;数组越界线程安全隐患二&#xff1a;值为null 二、定义2.1 什么是 CopyOnWriteArrayList&#xff1f;2.2 CopyOnWriteArrayList 的优点2.3 CopyOnWriteArrayList 的缺点 三、解决问题 一、背景 1.1 线…

React回顾

一、基础 1、使用babel解析 2、不直接使用jsx&#xff0c;jsx写起来很繁琐 3、jsx语法规则 4、函数式组件的使用 5、函数式组件渲染 6、类组件渲染 7、类组件中事件调用this指向问题 8、类组件不能直接改变状态 9、props接收数据类型限制 类型限制放到类组件内部&#xff0c;用…