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://xiahunao.cn/news/2813828.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云4核8G的云服务器性能水平?使用场景说明

腾讯云4核8G服务器适合做什么&#xff1f;搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以&#xff0c;腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM&#xff0c;轻量服务器和标准型CVM服务器性能是差不多的&#xff0c;轻…

vite构建vue3+Ts项目 并配置路由router

1、创建项目&#xff1a; 使用 Vite 初始化一个 Vue 3 项目 npm create vitelatest vue3-project --template vue-ts温馨提示&#xff1a;上述命令中&#xff0c;my-vue3-project是自定义的项目名称 可根据需要进行修改 2、进入项目目录&#xff1a; cd my-vue3-project3、安…

有方机器人 STM32智能小车 项目学习笔记1

今天开始学习有方机器人--智能小车项目&#xff0c;正点原子部分的学习先放一放&#xff0c;还是小车更有吸引力哈哈。 新建工程及工程模板搭建 新建工程须知 目前常用的 STM32 的开发方式主要有基于寄存器编程、基于标准库函数编程、基于 HAL 库编程这三种。 寄存器版本--…

阿里云国际云服务器全局流量分析功能详细介绍

进行全局流量分析时&#xff0c;内网DNS解析会作为一个整体模块&#xff0c;其他模块的边缘虚框颜色会置灰&#xff0c;示意作为一个整体进行全局分析&#xff0c;左侧Region可以展开/汇总&#xff0c;也可以单独选中某个Region模块进行分析&#xff08;这时其他Region的流量线…

基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 最小二乘正弦拟合 4.2 SNDR、SFDR 和 ENOB 计算 4.3 校正 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................…

计网Lesson17 - 拥塞控制

文章目录 1. 拥塞控制1.1 什么是拥塞1.2 拥塞控制的常用算法1.2.1 慢开始1.2.2 拥塞避免1.2.3 快重传1.2.4 快恢复 1. 拥塞控制 1.1 什么是拥塞 拥塞&#xff1a;在某段时间&#xff0c;若对网络中某⼀资源的需求超过了该资源所能提供的可用部分&#xff0c;网络性能就要变坏…

node.js 用 xml2js.Parser 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件&#xff0c;继承 Freemind 的思维导图工具软件&#xff0c;它扩展了知识管理功能&#xff0c;在 Freemind 上增加了一些额外的功能&#xff0c;比如数学公式、节点属性面板等。 编写 mm_xml2js_csv.js 如下 // 用 xml2js.Parser 读 F…

2023 安洵杯-PWN-【side_channel】

文章目录 side_channel libc 2.37检查IDA源码思路选择合适的syscall的gadget寻找可写入shellcode的内存区间mprotect()修改属性 exp side_channel libc 2.37 检查 禁用了write&#xff0c;能用open和read和mprotect IDA源码 __int64 __fastcall main(int a1, char **a2, cha…

第三章-Mybatis源码解析-以xml方式走流程-mapper解析(一)

讲解前&#xff0c;我们先思考几个问题&#xff1a; 1、谁来解析&#xff1f; 2、用什么解析&#xff1f; 3、解析成什么&#xff1f; 4、解析结果如何存放&#xff1f; 5、最终用途&#xff1f; 那么&#xff0c;我们顺着上面几个问题来解读源码。 3.1 XMLMapperBuilde…

人工智能、机器学习和生成式人工智能之间有什么区别?

文 | BFT机器人 在这个数字的智能时代&#xff0c;大家对人工智能、机器学习和生成式人工智能这些名词字眼很熟悉&#xff0c;有些人或许对它们还有一些了解&#xff0c;但是当他们一起出现的时候&#xff0c;大家能够区别它们是什么意思吗&#xff1f;今天小编将带你们详细解…

Ainx框架基础路由模块

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于Ainx系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

Vue 3, TypeScript 和 Element UI Plus:前端开发的高级技巧与最佳实践

Vue 3、TypeScript 和 Element UI Plus 结合使用时&#xff0c;可以提供一个强大且灵活的前端开发环境。以下是一些高级用法和技巧&#xff0c;帮助你更有效地使用这些技术&#xff1a; 1. Vue 3 高级特性 Composition API 使用 setup 函数: Vue 3 引入了 Composition API&am…

Linux内核队列queue.h

文章目录 一、简介二、SLIST单向无尾链表2.1 介绍2.2 操作2.3 例子 三、STAILQ单向有尾链表四、LIST双向无尾链表五、TAILQ双向有尾链表六、CIRCLEQ循环链表七、queue源码参考 一、简介 queue.h是一个非常经典的文件&#xff0c;定义了一系列宏的操作&#xff0c;它定义了一系…

MWC 2024丨美格智能推出5G RedCap系列FWA解决方案,开启5G轻量化新天地

2月27日&#xff0c;在MWC 2024世界移动通信大会上&#xff0c;美格智能正式推出5G RedCap系列FWA解决方案。此系列解决方案具有低功耗、低成本等优势&#xff0c;可以显著降低5G应用复杂度&#xff0c;快速实现5G网络接入&#xff0c;提升FWA部署的经济效益。 RedCap技术带来了…

leetcode 2.27

leetcode hot 100 哈希1.字母异位词分组2.最长连续序列 双指针1.盛最多水的容器2.和为 K 的子数组 数组1.除自身以外数组的乘积 哈希 1.字母异位词分组 49. 字母异位词分组 方法一&#xff1a;排序 由于互为字母异位词的两个字符串包含的字母相同&#xff0c;因此对两个字符…

Python入门到精通(九)——Python数据可视化

Python数据可视化 一、JSON数据格式 1、定义 2、python数据和JSON数据转换 二、pyecharts 三、折线图 四、地图 五、动态柱状图 一、JSON数据格式 1、定义 JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据JSON本质上是一个带有特定格式的字符…

vue项目从后端下载文件显示进度条或者loading

//API接口 export const exportDownload (params?: Object, peCallback?: Function) > {return new Promise((resolve, reject) > {axios({method: get,url: ,headers: {access_token: ${getToken()},},responseType: blob,params,onDownloadProgress: (pe) > {peC…

数据结构2月21日

双向链表: func函数&#xff1a; #include <stdio.h> #include <stdlib.h> …

数据分析-Pandas数据探查初步:离散点图

数据分析-Pandas数据探查初步&#xff1a;离散点图 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff…

若依前后端分离版开源项目学习

前言&#xff1a;vscode中vue代码没有高亮显示&#xff0c;可以下载vetur插件解决&#xff0c;ctrl点击无法跳转函数定义问题&#xff0c;可以下载vue-helper插件解决&#xff1b;idea中ctrl点击函数即可跳转函数定义。 一、登录 1.生成验证码 基本思路&#xff1a; 后端生…