【Python】简单的数据类型——int、float、bool、str

目录

1. 整数类型 int

2. 浮点数类型 float

3. 布尔类型 bool

4. 字符串 str

5. 格式化输出

6. 类型转换

6.1 隐式类型转换

6.2 显示类型转换

7. 标准输入


1. 整数类型 int

a = 10
print(type(a))
print(type(-2))
'''
<class 'int'>
<class 'int'>
'''

测试整型能表示的最大值:

print(9**999999)
'''
ValueError: Exceeds the limit (4300 digits) for integer string conversion;
use sys.set_int_max_str_digits() to increase the limit
'''

整数字符串转换超过限制(4300位);使用sys.set_int_max_str_digits()来增加这个限制。

sys.set_int_max_str_digits(maxdigits)
# 设置解释器所使用的整数字符串转换长度限制
# maxdigits必须为0或大于640,为0时表示没有限制
import syssys.set_int_max_str_digits(0)
print(9**999999)
# 能够正常打印

整数有十进制、十六进制、八进制、二进制表示。

# 十进制
print(10)
# 十六进制
print(0x10)
# 八进制
print(0o10)
# 二进制
print(0b10)
'''
10
16
8
2
'''

整型占的字节数随着数字增大而增大,即整型是变长的,每次增量是4个字节。

可以用sys.getsizeof计算对象的大小,单位是字节。

import sysprint(sys.getsizeof(0))
print(sys.getsizeof(1))
print(sys.getsizeof(2))
print(sys.getsizeof(2**15))
print(sys.getsizeof(2**30))
print(sys.getsizeof(2**128))
'''
28
28
28
28
32
44
'''

2. 浮点数类型 float

x = 123.4    # 小数形式
y = 1.234e2  # 指数形式 e2、E2、e+2、E+2都可以
# 以上两种写法表示的效果相同z = 0.000056  # 小数形式 写成.000056也可以
k = 5.6e-5    # 指数形式 e-5、E-5都可以
# 以上两种写法表示的效果相同print(type(x))
print(type(y))
print(type(z))
print(type(k))
'''
<class 'float'>
<class 'float'>
<class 'float'>
<class 'float'>
'''

浮点型有大小限制。

import sys# 可表示的最大正有限浮点数
print(sys.float_info.max)
# 可表示的最小正规范化浮点数
print(sys.float_info.min)
'''
1.7976931348623157e+308
2.2250738585072014e-308
'''

浮点型计算有精度损失,可以使用Decimal类进行精确计算。

from decimal import Decimalprint(8.1 / 3)
print(Decimal("8.1") / Decimal("3"))
'''
2.6999999999999997
2.7
'''

3. 布尔类型 bool

bool类型只有两个常量实例:True和False。

bool1 = 1 < 2
bool2 = 1 > 2
print(bool1)
print(bool2)
print(type(bool1))
print(type(bool2))
'''
True
False
<class 'bool'>
<class 'bool'>
'''

内置函数bool()可将任意值转换为布尔值,如果该值可以被解读为逻辑值的话。

print(type(bool(2)))
print(type(bool(0)))
'''
<class 'bool'>
<class 'bool'>
'''

bool是int的子类。在许多数字场景下,False和True的行为分别与整数0和1类似。 但是,不建议这样使用;请使用int()显式地执行转换。

print(False + 1)
print(True + 1)
print(int(False) + 1)
print(int(True) + 1)
'''
1
2
1
2
'''

4. 字符串 str

s1 = "hello"
s2 = 'world'  # 单引号和双引号都可以创建字符串
s3 = s1 + ", " + s2  # 加号可以连接字符串
print(s1)
print(s2)
print(s3)
print(type(s1))
print(type(s2))
print(type(s3))
'''
hello
world
hello, world
<class 'str'>
<class 'str'>
<class 'str'>
'''

成对的三个单引号或双引号的作用:

  • 注释
  • 多行字符串,可以使字符串内容保持原样输出
"""
注释
"""
content = """内容:
s1 = "hello"
s2 = 'world' # 单引号和双引号都可以创建字符串
s3 = s1 + ", " + s2 # 加号可以连接字符串
print(s1)
print(s2)
print(s3)
print(type(s1))
print(type(s2))
print(type(s3))
'''
hello
world
hello, world
<class 'str'>
<class 'str'>
<class 'str'>
'''
"""
print(content)

在字符串前面加'r'可以使整个字符串不会被转义:

print('换行符是\n')
print(r'换行符是\n')
'''
换行符是换行符是\n
'''

5. 格式化输出

  • 格式控制符(和C语言printf的格式控制符一样)
  • format函数
  • f-string(格式化字符串)
name = '赵敏'
age = 20
gender = "女"
score = 99.9
print("个人信息:%s-%d-%s-%.2f" % (name, age, gender, score))
print("个人信息:{}-{}-{}-{}".format(name, age, gender, score))
print(f"个人信息:{name}-{age}-{gender}-{score}")
'''
个人信息:赵敏-20-女-99.90
个人信息:赵敏-20-女-99.9
个人信息:赵敏-20-女-99.9
'''

6. 类型转换

6.1 隐式类型转换

  • 根据变量的当前值决定其类型
x = 2
print(type(x))
x = 8.8
print(type(x))
x = False
print(type(x))
x = "hello"
print(type(x))
'''
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'str'>
'''
  • 运算时,低精度向高精度转换
x = 1
y = 1.1
z = x + y
print(type(z))
'''
<class 'float'>
'''

6.2 显示类型转换

a = int("20")       # 默认以10进制转换
print(a)
print(type(a))b = int("10", 16)   # 以16进制转换
print(b)
print(type(b))c = int("0xa", 16)  # 以16进制转换
print(c)
print(type(c))d = int(3.14)       # float -> int
print(d)
print(type(d))'''
20
<class 'int'>
16
<class 'int'>
10
<class 'int'>
3
<class 'int'>
'''
a = float(33)
print(a)
print(type(a))b = float("10.2")
print(b)
print(type(b))'''
33.0
<class 'float'>
10.2
<class 'float'>
'''
a = str(100)
print(a)
print(type(a))b = str(88.88)
print(b)
print(type(b))'''
100
<class 'str'>
88.88
<class 'str'>
'''

7. 标准输入

input([prompt])
# 如果存在prompt实参,则将其写入标准输出,末尾不带换行符。
# 接下来,该函数从输入中读取一行,将其转换为字符串(除了末尾的换行符)并返回。
# 当读取到EOF时,则触发EOFError。
name = input("请输入姓名:")
age = input("请输入年龄:")
score = input("请输入成绩:")
print(f"name: {name} type: {type(name)}")
print(f"name: {age} type: {type(age)}")
print(f"name: {score} type: {type(score)}")
'''
请输入姓名:李莲花
请输入年龄:30
请输入成绩:99.99
name: 李莲花 type: <class 'str'>
name: 30 type: <class 'str'>
name: 99.99 type: <class 'str'>
'''
name = input("请输入姓名:")
age = int(input("请输入年龄:"))
score = float(input("请输入成绩:"))
print(f"name: {name} type: {type(name)}")
print(f"name: {age} type: {type(age)}")
print(f"name: {score} type: {type(score)}")
'''
请输入姓名:李相夷
请输入年龄:18
请输入成绩:99.9999
name: 李相夷 type: <class 'str'>
name: 18 type: <class 'int'>
name: 99.9999 type: <class 'float'>
'''

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

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

相关文章

0818-0824面试题目和复习整理

根据面试问的问题整理一下 1. 并查集 int n 1005; // n根据题目中节点数量而定&#xff0c;一般比节点数量大一点就好 vector<int> father vector<int> (n, 0); // C里的一种数组结构// 并查集初始化 void init() {for (int i 0; i < n; i) {father[i] i;…

Linux安装Docker与基本指令

1、什么是Docker Dokcer是一种开源平台&#xff0c;主要用于创建、部署和管理容器化应用程序&#xff0c;它通过将应用程序以及所有的依赖打包到一个轻量级的、可移植的容器中&#xff0c;使得应用可以在任何环境中一致的运行! 1.1、Docker的优点 一致性和可移植性 跨环境一致…

大众集团25届校招社招网申入职SHL测评题库:综合能力测评、性格问卷、英语测评考什么?

恭喜您通过大众汽车(中国)科技有限公司的简历初。请点击下面的测评链接&#xff0c;在5天内完成测评&#xff0c;过期失效(例:3.11收到链接&#xff0c;3.15为最后一天有效期)。每位人选只有一次测评机会。 ​大众汽车入职测试细节: 1.性格问卷:25 分钟 2.综合能力:46 分钟&a…

upload-labs(Pass-18 ~ Pass-21)

1、Pass-18(条件竞争) 1、题目需要进行代码审计&#xff1a; <?php include ../config.php; include ../head.php; include ../menu.php;$is_upload false; $msg null;if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);//白名单$file_name $_FILES[upload_fil…

2024 MongoDB中国用户大会倒计时2天!请查收专属参会指南

距离2024 MongoDB中国用户大会即将开幕仅剩2天&#xff0c;我们非常期待与您共同探讨和分享最新的数据库技术与应用经验。为了确保您能够顺利参与本次会议&#xff0c;请查阅属于您的专属温馨提示&#xff01; 活动时间 8月31日09:00-17:30 签到开始&#xff1a;08:00 现场参…

嵌入式学习——ARM学习(2)——汇编学习

工具&#xff1a;Keil-uVision5 1、汇编 1.1 汇编的组成 指令&#xff1a;汇编语言的核心部分&#xff0c;表示 CPU 可以执行的操作&#xff0c;如数据传输、算术运算、逻辑运算等。 操作数&#xff1a;指令中用于指定操作对象的数据&#xff0c;可以是寄存器、内存地址或立即…

【Material-UI】Slider 组件中的 Discrete Sliders 详解

文章目录 一、Slider 组件概述1. 组件介绍2. Discrete Sliders 的特点 二、Discrete Sliders 的基本用法1. step 属性2. marks 属性3. valueLabelDisplay 属性 三、深入理解 Discrete Sliders 的配置1. 自定义刻度标记2. 限制可选值3. 设置较小的步长4. 始终显示值标签 四、应用…

惊叹:《黑神话:悟空》所在 Steam 发行平台遭网络狂袭,威胁流量猛增两万倍!

8月24日&#xff0c;对于《黑神话&#xff1a;悟空》的玩家而言&#xff0c;本应是尽情畅玩游戏发售后第一个周六的美好时光&#xff0c;然而在当日晚间&#xff0c;众多玩家却发现该游戏的主要发行平台Steam无法登录。很快&#xff0c;“#Steam崩了#”便冲上微博热搜榜。不少玩…

搭建FTP服务器,通过浏览器访问FTP服务器,测试终端上传的音频文件。

文章目录 引言I 搭建FTP服务器II 浏览器访问FTP文件PC端浏览器访问iphone-safari浏览器访问FTP设置Mac-Safari浏览器访问FTP设置III FTP基础知识FTP客户端数据连接: 被动模式(PASV)引言 需求: 通过浏览器访问,测试终端通过FTP上传的语音文件,支持直接播放语音文件。 建议…

Spring底层机制环境搭建

文章目录 1.模块创建和依赖引入1.聚合模块&#xff0c;下面有一个myspring2.查看父模块是否管理了子模块3.myspring模块引入基本包 2.进行环境搭建1.目录概览2.UserController.java3.UserService.java4.UserDao.java5.AppMain.java6.beans.xml7.测试8.配置UserController.java为…

gptk是什么意思?Mac电脑如何在crossover里安装gptk2.0测试版?借助GPTK玩《原神》《黑神话悟空》游戏

很人多都听说使用 gptk2.0 beta 可以让《黑神话&#xff1a;悟空》等游戏的帧数提高&#xff0c;但自己并不知道如何安装&#xff0c;下面就给大家说下如何在crossover里安装 gptk2.0 beta 。安装前请先确认自己的电脑里已经安装好了crossover软件。 Game Porting Toolkit 简介…

数字化转型升级探索(二)

在数字化转型升级的探索中&#xff0c;我们计划通过整合前沿技术如人工智能、物联网和大数据&#xff0c;全面改造传统业务流程&#xff0c;打造智能化、数据驱动的业务架构&#xff0c;实现从数据采集、处理到分析的全链条数字化&#xff0c;以提升决策效率、优化运营管理&…

stm32-USB-1

1. USB简介 USB&#xff0c; 英文全称&#xff1a;Universal Serial Bus&#xff0c;即通用串行总线 USB提供适合各种应用的传输协议&#xff0c;而且协议标准向下兼容 优缺点 2. USB2.0拓扑结构 USB是一种主从结构的系统&#xff0c;数据交换只能发生在主从设备之间&#…

【STM32】写Keil程序的注意事项

看正点原子的资料使用Keil写STM32程序的时候&#xff0c;总是在不断学习&#xff0c;不断探索。后续又学到啥再更新 专栏目录&#xff1a;记录自己的嵌入式学习之路-CSDN博客 目录 1 Keil设置 1.1 字体设置 1.2 快捷键设置 1.3 快速前往前一操作位置/后一操作位…

esp8266根据httpserver状态,调用网络唤醒,实现一键开机

esp8266根据httpserver状态&#xff0c;调用网络唤醒&#xff0c;实现一键开机 一.开发板程序二. 服务端三.服务端状态变更 一.开发板程序 #include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #include <WiFiUdp.h> #include <ArduinoJson.h>/…

Autosar(Davinci) --- 创建一个OS TASK

目录 前言 一、认识OS 二、创建一个Basic Task 三、创建一个Extended Task 四、Task Mapping 五、生成代码 六、代码集成与编译 七、烧录&调试 八、Basic Task & Extended Task代码分析 前言 所有的runnable都是基于在TASK上运行的,那么我们这章就讲解,如何…

分享5款支持论文写作网站先稿后付的网站!

在当今学术研究和学术写作领域&#xff0c;AI论文写作工具已经成为不可或缺的助手。这些工具不仅能够提高写作效率&#xff0c;还能帮助研究人员生成高质量的论文内容。特别是那些提供“先稿后付”服务模式的网站&#xff0c;更是为用户提供了极大的便利和保障。以下是五款值得…

【Qt窗口】—— 状态栏

目录 1.1 状态栏的创建 1.2 在状态栏中显示实时消息 1.3 在状态栏中显示永久消息 状态栏是应用程序中输出简要信息的区域。⼀般位于主窗口的最底部&#xff0c;⼀个窗⼝中最多只能有⼀个状态栏。在Qt中&#xff0c;状态栏是通过QStatusBar类来实现的。在状态栏中可以显示的消…

2024118读书笔记|《岳阳楼记》——天高地迥,觉宇宙之无穷;兴尽悲来,识盈虚之有数

2024118读书笔记|《岳阳楼记》——天高地迥&#xff0c;觉宇宙之无穷&#xff1b;兴尽悲来&#xff0c;识盈虚之有数 爱莲说陋室铭小石潭记醉翁亭记赤壁赋桃花源记归去来兮辞木兰辞阿房宫赋滕王阁序岳阳楼记 《岳阳楼记》范仲淹&#xff0c;都是背过的古文&#xff0c;挺不错的…

并查集【算法 12】

并查集 (Union-Find) 的基础概念与实现 并查集&#xff08;Union-Find&#xff09;是一种用于处理不相交集合&#xff08;disjoint sets&#xff09;的数据结构&#xff0c;常用于解决连通性问题。典型的应用场景包括动态连通性问题&#xff08;如网络节点连通性检测&#xff0…