Python基础知识-变量、数据类型(整型、浮点型、字符类型、布尔类型)详解

news2024/11/23 0:43:31

1、基本的输出和计算表达式:
prinit(1+2-3)
printf(1+2*3)
printf(1+2/3)

prinit(1+2-3)
printf(1+2*3)
printf(1+2/3)

形如1+2-3称为表达式
这个表达式的运算结果称为 表达式的返回值

1 2 3 这样的数字,叫做 字面值常量
+ - * /称为 运算符或者操作符

在C和java中,整数/整数结果还是整数,例如2/3=0
但是在pathon中,结果是0.66666666667

print(2/3)


为什么是最后两位是67呢?(有时候会,这里是66)
注意:在编程中,这些小数统称浮点数,一般没有四舍五入,而是按照IEEE745标准进行数据处理
在IEEE745规则下,浮点数的表示可能会存在微小的误差

2、变量和数据类型
变量的语法: a = 10;#a这个变量的值为10

= 表示赋值运算符,表示把10赋值给左边的变量a
从内存的理解,就是将10放到a开辟的内存空间

变量的名命名规则:
1、由数字、字母、下划线的组合(但是数字不能放在开头)
2、不能和关键字重复,例如print、if、while就是关键字
3、变量名区分大小写   例如 Num和num是两个不同的变量
4、变量名尽量见名知意,加强代码可读性,例如personInfo count等
5、多个单词变量名使用驼峰命名法,除了第一个单词首字母小写以外,后面的单词都是大写
6、多个单词变量还有蛇形命名法,单词之间使用下划线隔开,例如person_info

#蛇形命名法
stu_id = '2020119224'
#驼峰命名
stuId = '2020119224'

变量的作用是保存中间结果,以便于多次使用
变量本质上是一块内存中存储数据的空间
python平方的表示: a = 4**2#表示4的平方


变量的类型:对不同种类的变量进行区分(和C中的数据类型一个意思)
和C语言或者java的变量语法不同,前两者在使用变量之前需要声明定义
但是在python中的变量定义是不需要声明的。而是你给赋值什么类型的数据,python就会初始化a为什么类型的数据
你给a赋值整型,a就是整型;你给a赋值小数,a就是浮点型;给a赋值字符,a就是char类型。
例如:
a = 10#此时a就是整型类型
a = 1.2#此时a就是浮点型
a = 'c'#此时a就是char类型
a = "abjaf"#此时a就是string类型
诸如此类。。。

a = 10#此时a就是整型类型
b = 1.2#此时b就是浮点型
c = 'c'#此时c就是char类型
d = "abjaf"#此时d就是string类型

打印变量的类型函数:type()

1、整型 int
在python中,int能表示的数据范围是无穷,因为python中的int会根据要表示的数据大小,进行自动扩容
因此,python中不需要long、byte、short,只有一个int,非常方便
在java和c中java中,int的范围是 -21亿 ~ 21亿

2、浮点型(小数)float
在C和java中,float是单精度浮点型,占4个字节
                    double是双精度附浮点型,占8个字节,相比于float其表达的数据范围和精度都更精确
(一个二进制位是一个bit,8个bit位是一个字节byte,4个字节即32个bit位,bit也称比特)

而在python中,只有一个float,等同于C中的double双精度浮点型

这是python的一个优点吧,你不需要再去纠结考虑数据的类型

3、字符串 string
英文字母、阿拉伯数字、汉字、标点符号等都是字符,字符串即他们的组合
单个a  8  、 是字符
abc是字符串
字符串可以使用单引号'' 也可以使用双引号""

计算字符串长度函数:len()
字符串拼接:
a = 'hello'
b ='world'
peint(a+b)
如果两个都是字符串,打印结果就是字符串的拼接

如果都是整型,就是相加

字符串和整型或者浮点型不能相加

如果有其中一个数字为浮点型,那么结果为浮点型
浮点型有几个小数,结果就有几个小数


4 布尔类型 bool
用于逻辑判定
真 true 
假 false


类型的意义:
1 不同的类型占据的存储空间不同,空间即字节
int默认为4个字节,但是如果表示的数据大于21亿,自动扩容
float固定8个字节
bool一个字节
string边长字节,根据字符的大小而定

2 不同的类型,对应支持的操纵不一样
int/float可以i加减乘除
str不能加减乘除

3 动态类型  静态类型
静态以及动态:在代码运行中其变量类型是否会改变
python中,代码在运行过程中,变量的值会发生改变,其数据类型随之改变
在java或者C语言中,定义一个类型例如int a;在后期代码运行过程中a的数据类型就不能改变

a = 'zhangsan'
a = 1
a = 1.3
#a先后从字符类型“zhangsan”变成了整型1,再从整型1变成了浮点型1.3
#非常方便!

尽管python作为一种动态语言,但是依旧可以在定义变量时定义类型
a:int = 10
但是基本没什么必要,至少可以提高代码可读性
因此,动态语言的优点在于其灵活性,提高了句子的表达能力
然而,也有其缺点:更容易出错.

相比之下,静态语言更好一些,例如在大型开发中,统一的,确定的规定比较具体,降低沟通成本
因此小规模的程序可以使用python书写
但是当项目规模比价大时,动态类型的劣势就体现出来了,这个时候就需要其他语言对python程序进行重构

Python种常需要注意的点:

注释:#
一般注释写在代码的上方,或者有些句子需要单独注释可以写在右边
文档字符串:"""用于注释某个类或者函数的功能"""
类似于文档解释

好的注释:
1 注释内容准确(修改代码,务必更新注释)
2 篇幅合理(写个注释,不是要你写论文,你又不考研。。。)
3 使用中文(毕竟咱在中国,如果在外国你就用英文,看你需求)
4 内容积极向上,不要有负能量(这个有先例,结果很不好看)

不同警报的意思:

红色波浪线表示错误
黄色波浪线表示警告,但是不影响运行
绿色波浪线一般表示单词拼写错误

在python中有两种错误报警:
1 语法错误 在代码运行之前编译器就能发现
2 运行错误 执行到对应代码语句报错

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

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

相关文章

k8s中的Pod网络;Service网络;网络插件Calico

Pod网络;Service网络;网络插件Calico Pod网络 在K8S集群里,多个节点上的Pod相互通信,要通过网络插件来完成,比如Calico网络插件。 使用kubeadm初始化K8S集群时,有指定一个参数–pod-network-cidr10.18.0…

再识二叉树

1. 二叉树的存储 二叉树的存储结构分为:顺序存储和类似于链表的链式存储。 其中二叉树的链式存储是通过一个一个的节点引用起来的,常见的表示方式有二叉和三叉表示方式(这里本主主要讲的是链式存储),具体代码如下&…

2个月拿下信息系统项目管理师攻略(攻略超级全)

信息系统项目管理师(高项)一次性过啦!结合这次备考经验,给大家总结一下复习方法。 先上图,开心一下! 一、我为什么选择了高项 为什么我会选信息系统项目管理师,也就是我们常说的高项。 原因1…

bpftrace原理与使用方法

Bpftrace 概念和原理bpftrace安装bpftrace 语法结构bpftrace 变量内置变量自定义变量Map变量 内置函数Bpftrace操作案例文件系统磁盘进程内存 bpftrace是一种基于eBPF(Extended Berkeley Packet Filter)的跟踪工具,用于在Linux系统中进行动态…

PostGIS学习教程十一:投影数据

PostGIS学习教程十一:投影数据 地球不是平的,也没有简单的方法把它放在一张平面纸地图上(或电脑屏幕上),所以人们想出了各种巧妙的解决方案(投影)。 每种投影方案都有优点和缺点,一…

有了安卓模拟器,就能在Windows 10或11上像使用安卓操作系统一样使用安卓

你可以使用Android模拟器在Windows 11或Windows 10中运行Android应用程序。如果你喜欢的应用程序只在手机上运行,但你想在电脑上使用,这些模拟器会很有用。 BlueStacks 与整个操作系统模拟器不同,BlueStacks只在Windows上模拟Android应用程序。它真的很容易使用,所以你不需…

鸿蒙OS应用开发的开发环境

鸿蒙OS应用开发的开发环境 鸿蒙系统发展越来越快,已经开始走进千家万户,从手机到电视机,再到汽车,以后各种手表、智能设备等等。这已经是一个广泛应用的操作系统,也是跟大家生活密切相关的操作系统。要想在这个平台上…

人脸识别安卓主板_MTK方案智能闸机门禁工业安卓主板定制开发

人脸识别主板广泛应用于各个领域,包括人脸支付系统、人脸识别监控系统、写字楼办公楼门禁闸机、校园、地铁、住宅门禁、考勤机、智能门锁、广告机、售卖机等。 主板基于联发科MTK方案,并由行业PCBA和MTK的核心板组成。根据产品需求,可以选择…

SpringBoot3.x代码生成器构建的三层架构主启动类报错

【场景复现】 jdk21环境变量springboot3.x、mybatisplus generator3.5.3构建工程启动: 【原因分析】 显示 factoryBeanObjectType 属性的值类型不正确,应该是一个实现了 FactoryBean 接口的类的全限定名。 注解注入每层对象,找不到Factory…

嵌入式系统

嵌入式系统 目前国内一个普遍认同的嵌入式系统定义是:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(引用自《嵌入式系统设计师教程》) …

node后端接口无法插入数据为emoji的表情的问题

原因 emoji的表情一般是这样的\xF0\x9F\x98\x80或者是\xF0\x9F\x98 ,事实上 一般数据库的utf8的编码类型都是能保存\xF0\x9F\x98 但是不能保存\xF0\x9F\x98\x80这种样的emoji,要将数据库编码格式为utf8mb4 也就是utf8的超集 另外,除了 数据库…

论文精读 MOG2 阴影检测

An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow Detection 一种用于阴影检测实时跟踪的改进自适应背景混合模型 承接上一篇博客:论文精读 && MOG && 埃里克格里姆森-CSDN博客 目录 一、摘要 二、结论 三…

matplot函数调整子图大小测试

调整subplot()函数的子图间距 import numpy as np import matplotlib.pyplot as plt for i in range(1,7):figsize 10,6plt.subplot(2,3,i)plt.text(0.5,0.5,str((2,3,i)),fontsize18,hacenter) **plt.subplots_adjust(hspace3.3, wspace0.3)** plt.show()import numpy as np…

低代码/无代码应用赋能数字化

目录 一、低代码喧嚣甚上 二、低代码平台适用于哪些应用? 三、低代码与IT开发 (1)IT开发: (2)低代码开发: 四、最后 一、低代码喧嚣甚上 随着数字化转型的深入,越来越多的企业开始寻…

画好一张规范的原理图,这些点你可要注意了!

不光是代码有可读性的说法,原理图也有。很多时候原理图不仅仅是给自己看的,也会给其它人看,如果可读性差,会带来一系列沟通问题。所以,要养成良好习惯,做个规范的原理图。此外,一个优秀的原理图…

结构体,自定义类型

目录 结构体 结构体的声明 结构体的自引用 结构体的定义和初始化 结构体内存对齐 ​编辑 结构体的对齐规则: 为什么存在内存对齐? 修改默认对齐数 结构体传参 位段 什么是位段 位段的内存分配 位段的跨平台问题 枚举 联合(共用体…

vivado sdk mem超出

Description Resource Path Location Type region microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem’ overflowed by 4288 bytes uart C/C Problem 问题的产生:fpga使用了microblaze搭建了一个soc系统&#…

SRC挖掘漏洞XSS

Markdown是一种轻量级标记语言,创始人为约翰格鲁伯(John Gruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的…

ESP32-Web-Server编程-通过 Base64 编码在网页中插入图片

ESP32-Web-Server编程-通过 Base64 编码在网页中插入图片 概述 不同于上节 ESP32-Web-Server编程-在网页中通过 src 直接插入图片,本节引入 Base64 编码来显示图片。 Base64 是一种用64个字符来编码表示任意二进制数据的方法。任何符号都可以转换成 Base64 字符集…

VMware提示:此虚拟机似乎正在使用中,取得该虚拟机的所有权失败错误的解决方案

当你遇到这个的时候是不是很疑惑,现在给你解决方案 step1: 先找到配置文件目录 D:\centOs7_mini\ 这里写成你的这个 step2: 在这个地方查找最后面是 .vmx.lck文件夹,然后进行修改、删除、移动都可以 step3: 去虚拟机那边重新启动就行