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.mzph.cn/news/710122.shtml

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

相关文章

面试数据库篇(mysql)- 11主从同步

原理 MySQL主从复制的核心就是二进制日志 二进制日志&#xff08;BINLOG&#xff09;记录了所有的 DDL&#xff08;数据定义语言&#xff09;语句和 DML&#xff08;数据操纵语言&#xff09;语句&#xff0c;但不包括数据查询&#xff08;SELECT、SHOW&#xff09;语句。 复…

Java 小项目开发日记 03(文章分类接口的开发)

Java 小项目开发日记 03&#xff08;文章分类接口的开发&#xff09; 项目目录 配置文件&#xff08;pom.xml&#xff09; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocat…

计算机网络:数据链路层知识点汇总

文章目录 一、数据链路层功能概述二、封装成帧和透明传输三、差错控制&#xff08;检错编码&#xff09;四、差错控制&#xff08;纠错编码&#xff09;五、流量控制与可靠传输机制六、停止-等待协议七、后退N帧协议&#xff08;GBN&#xff09;八、选择重传协议&#xff08;SR…

用户增长6步法

什么是用户增长&#xff1f; 通过痛点、产品、渠道、内容、技术、数据等要素实现用户的获取、激活、留存、变现、推荐&#xff0c;用户增长包含了产品出现前的用户增长、产品生产周期内的用户增长、产品生命周期外的用户增长三个阶段。 用户增长6步法&#xff1a;方法、模型和…

YOLOv8-TensorRT on Jetson

YOLOv8-TensorRT Jetson 项目地址&#xff1a;https://github.com/triple-Mu/YOLOv8-TensorRT/blob/main/docs/Jetson.md 文档地址&#xff1a;https://github.com/triple-Mu/YOLOv8-TensorRT/blob/main/docs/Jetson.md 注意 engine 文件不跨平台&#xff0c;只能在对应的平台…

docker mysql主从复制

新建主服务器容器实例3301 mysql 主 3301 docker run -p 3301:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -v /home/mysql/mysql-files:/var/lib/…

MATLAB环境下使用相关图可视化相关矩阵

为了处理各行各业中出现的高维数据&#xff0c;迫切需要寻找适用的统计学方法。大维随机矩阵理论是处理高维数据的理论工具之一&#xff0c;在高维统计分析中&#xff0c;表现出良好的性能并有着广泛的应用。 二十世纪四十年代和五十年代初期&#xff0c;大维随机矩阵理论起源…

AI大模型 拍照搜题

最近&#xff0c;发现一款小程序【问智通】&#xff0c;实现了拍照搜题结合AI大模型&#xff0c;省去了打字和敲数学公式向AI提问&#xff0c;完美的补充了其它拍照搜题平台拍不到&#xff0c;没解析等不足&#xff01;&#xff01;&#xff01; 小程序码&#xff1a; APP下载…

【多模态】28、LLaVA 第一版 | Visual Instruction Tuning 多模态模型的指令微调

论文&#xff1a;Visual Instruction Tuning 代码&#xff1a;https://llava-vl.github.io/ 出处&#xff1a;NeurIPS 2023 Oral 系列工作&#xff1a;LLaVA-1.5、LLaVA-PLUS、LLaVA-Interactive、Video-LLaVA、LLaVA-Med 等&#xff0c;LLaVA 也是首次将指令学习引入多模态…

西门子WinCC冗余项目使用

1 如果需要使用WinCC冗余系统时&#xff0c;请仔细阅读下面的文档&#xff0c;它将解决以下几个问题&#xff1a; &#xff08;1&#xff09;WinCC冗余有什么样的功能&#xff1f; &#xff08;2&#xff09;需要购买什么样的授权&#xff1f; &#xff08;3&#xff09;应…

TypeScript 中命名空间与模块的区别

&#x1f469; 个人主页&#xff1a;不爱吃糖的程序媛 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、CSDN内容合伙人&#xff0c;专注于前端各领域技术&#xff0c;成长的路上共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨系列专栏&#xff1a;前端…

H3C OSPF 外部路由引入实验

H3C OSPF 外部路由引入实验 实验拓扑 实验需求 按照图示配置 IP 地址R1&#xff0c;R2&#xff0c;R3 运行 OSPF 使内网互通&#xff0c;所有接口&#xff08;公网接口除外&#xff09;全部宣告进 Area 0&#xff1b;要求使用环回口作为 Router-id业务网段不允许出现协议报文…

请立刻停止编写 Dockerfiles 并使用 docker init

您是那种觉得编写 Dockerfile 和 docker-compose.yml 文件很痛苦的人之一吗&#xff1f; 我承认&#xff0c;我就是其中之一。 我总是想知道我是否遵循了 Dockerfile、 docker-compose 文件的最佳编写实践&#xff0c;我害怕在不知不觉中引入了安全漏洞。 但是现在&#xff0c…

【数据结构和算法初阶(C语言)】时间复杂度(衡量算法快慢的高端玩家,搭配例题详细剖析)

目录 1.算法效率 1.1如何衡量一个算法的好坏 1.2 算法的复杂度 2.主菜-时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 2.2.1算法的最好&#xff0c;最坏和平均的情况 3.经典时间复杂度计算举例 3.1计算冒泡排序的时间复杂度 3.2计算折半查找的时间复杂度 3.…

Vue3 学习笔记(Day5)

「写在前面」 本文为尚硅谷禹神 Vue3 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. Vue3 学习笔记&#xff08;Day1&#xff09; 2. Vue3 学习笔记&#xff08;Day2&…

提升培训考试效率的系统设计策略

随着培训的重要性日益凸显&#xff0c;如何提升培训考试系统的效率成为了许多组织和机构关注的焦点。 一、设计自适应的考试界面 培训考试系统的界面应该能够自适应不同的屏幕尺寸和设备类型&#xff0c;如电脑、平板电脑和手机。采用响应式设计技术&#xff0c;确保考生在不同…

Leetcode115. 不同的子序列 -代码随想录

题目&#xff1a; 代码(首刷看解析 2024年2月29日&#xff09;&#xff1a; 不晓得这种超过int和long的测试案例是用来恶心谁的&#xff0c;用DP都没机会取模 class Solution { public:// 动态规划const int MOD 1000000007;int numDistinct(string s, string t) {long n s.…

市场复盘总结 20240229

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 60% 最常用…

06|Mysql内部组件结构

1. 连接器 客户端要向mysql发起通信都必须先跟Server端建立通信连接&#xff0c;而建立连接的工作就是由连接器完成的 mysql -h host[数据库地址] -u root[用户] -p root[密码] -P 3306连接步骤: 1、如果用户名或密码不对&#xff0c;你就会收到一个"Access denied for us…

【转载】Windows 11 任务栏位置调整

更改注册表&#xff08;部分win11版本有效&#xff09; Win R快捷键打开「运行」——执行regedit命令打开「注册表编辑器」进入路径&#xff1a; 计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3 修改Settings这个二进制的第 2 行…