【Python】基础语法:变量类型和动态类型

文章目录

    • 1. 常量
    • 2. 变量
    • 3. 动态类型特性


努力经营当下 直至未来明朗

1. 常量

  1. 浮点数在内存中表示使用的是IEEE754标准,这套规则下,在内存中表示该浮点数额时候可能会存在微小的误差
    0

  2. 在进行运算的时候,最好可以将数字(字面值常量之间)与运算符之间使用空格进行分割,提高美观性。

2. 变量

  1. 变量是不需要指定类型的,可以直接进行赋值操作就行。并且,每条语句之后不需要使用;

  2. Python中俩*表示乘方运算
    1

  3. 变量是存储在内存空间上的

  4. 变量命名规则(硬性):
    1)变量只能由数字、字母、下划线构成,不能包含其他特殊符号
    2)不能以数字进行开头
    3)变量名不可以和Python中的关键字重复,如if等
    4)Python中的变量名是大小写敏感的,区分大小写

  5. 建议变量命名规则(软性):
    1)给变量命名的时候,尽量使用描述性的单词来表示。如count等
    2)当一个变量名中包含多个单词时,命名规范可参考如下,具体使用哪种看公司的编程规范
    ① 驼峰命名:除了第一个单词的首字母外,其余的单词的首字母均大写。如personInfo
    ② 蛇形命名:单词之间使用下划线来进行_分割,如person_info

  6. =即可以用来创建变量,又可以用来修改变量
    1)同一个变量,首次使用=是创建该变量
    2)同一个变量,再次使用=是在修改变量的值,进行重新赋值
    2

  7. Python中变量的类型,不需要在定义变量的时候显式声明;而是依靠初始化语句,根据初始化值的类型来确定的。

  8. Python查看变量类型:type(变量名)

  9. 在Python 中,整数的类型是int,并且int能表示的数据范围是无穷的:Python的int是可以根据要表示的数据的大小进行自动扩容的。

  10. 浮点数类型是float,而Python中的float就是双精度浮点数,基本等同于Java/C++中的double类型
    3

  11. 字符串类型是str,Python中要求使用引号将一系列的符号引用起来(单引号 or 双引号都ok)即是字符串。在单引号中可以使用双引号,双引号中也是可以使用单引号的。
    5

  12. 如果字符串中既有单引号又有双引号,此时在Python中还有一种字符串可以使用三引号表示:“”" 和 ‘’’
    6

  13. 可以使用len函数求字符串的长度,也就是该字符串包含多少个字符:len(字符串变量名)
    7

  14. 字符串相加+其实就是字符串的拼接,拼接其实生成一个新的字符串,对原来的字符串a1和a2没有影响。
    在这里插入图片描述

  15. 不能把字符串和数字进行相加+
    8

  16. 在Python中报错有两种情况:
    1)语法错误:在运行之前,Python解释器就能够将错误识别出来
    2)运行错误:在程序运行之前识别不了,必须要执行到对应的代码才能够暴露出问题

  17. 布尔bool的取值只有真和假,因此布尔类型主要用于逻辑判断。Python中真True,假False。(注意首字母是大写的!)
    9

  18. 不同类型带来的意义:

1)不同的类型占用的内存空间是不一样的

int:默认4字节,但是可以动态扩容
float:固定8字节
bool:1字节
str:可变长的

2)不同的类型对应能够进行的操作也是不一样的

① 如int、float:可以进行+、-、*、/ 等的运算,不能使用len求长度
② 如str:可以使用+进行字符串的拼接操作,可以使用len求字符串长度


3. 动态类型特性

  1. 动态类型:在程序运行过程中变量的类型可能会发生改变。
    10

  2. 静态类型:在程序运行过程中,变量的类型始终是不变的。
    如在Java、C++中的变量,如果后面尝试给该变量赋值其他类型的值,在编译阶段就会报错。

  3. 一个编程语言是否是动态类型,只是取决于运行时变量的类型是否发生改变,不取决于变量定义时是否声明类型!

  4. Python作为一个动态类型的语言,在定义变量的时候也是可以写类型的。
    变量名:变量类型 = 值
    11

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Transformer(二)(VIT,TNT)(基于视觉CV)

目录 1.视觉中的Attention 2.VIT框架(图像分类,不需要decoder) 2.1整体框架 2.2.CNN和Transformer遇到的问题 2.3.1CNN 2.3.2Transformer 2.3.3二者对比 2.4.公式理解 3TNT 参考文献 1.视觉中的Attention 对于人类而言看到一幅图可以立…

UglifyJS 和JShaman相比有什么不同?都可以进行js混淆加密吗?

UglifyJS 和JShaman相比有什么不同? UglifyJS主要功能是压缩JS代码,减小代码体积;JShaman是专门用于对JS代码混淆加密,目的是让JS代码变的不可读、混淆功能逻辑、加密代码中的隐秘数据或字符,是用于代码保护的。 因此…

行业追踪,2023-08-10

自动复盘 2023-08-10 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

【CSS】CSS 布局——弹性盒子

Flexbox 是一种强大的布局系统,旨在更轻松地使用 CSS 创建复杂的布局。 它特别适用于构建响应式设计和在容器内分配空间,即使项目的大小是未知的或动态的。Flexbox 通常用于将元素排列成一行或一列,并提供一组属性来控制 flex 容器内的项目行…

【ts】【cocos creator】excel表格转JSON

需要将表格导出为text格式放到项目resources/text文件夹下 新建场景,挂载到Canvas上运行 表格文件格式: 保存格式选text tableToJson : import CryptoJS require(./FileSaver);const { ccclass, property } cc._decorator;ccclass export default c…

线程|线程的使用、四种实现方式

1.线程的实现方式 1.用户级线程 开销小,用户空间就可以创建多个。缺点是:内核无法感知用户级多个线程的存在,把其当作只有一个线程,所以只会提供一个处理器。 2.内核级线程 相对于用户级开销稍微大一点,可以利用多…

JS逆向-某招聘平台token

前言 本文是该专栏的第56篇,后面会持续分享python爬虫干货知识,记得关注。 通常情况下,JS调试相对方便,只需要chrome或者一些抓包工具,扩展插件,就可以顺利完成逆向分析。目前加密参数的常用逆向方式大致可分为以下几种,一种是根据源码的生成逻辑还原加密代码,一种是补…

16.4 【Linux】特殊文件与程序

16.4.1 具有 SUID/SGID 权限的指令执行状态 SUID 的权限其实与程序的相关性非常的大!为什么呢?先来看看 SUID 的程序是如何被一般使用者执行,且具有什么特色呢? SUID 权限仅对二进制程序(binary program)…

javaee dom4j读取xml文件

引入jar包 dom4j-1.6.1.jar 创建xml文件 <?xml version"1.0" encoding"UTF-8"?> <books><book id"1"><title ID"t1">背影</title><price>88</price><author>三毛</author>…

Flink的Standalone部署实战

在Flink是通用的框架&#xff0c;以混合和匹配的方式支持部署不同场景&#xff0c;而Standalone单机部署方便快速部署&#xff0c;记录本地部署过程&#xff0c;方便备查。 环境要求 1&#xff09;JDK1.8及以上 2&#xff09;flink-1.14.3 3&#xff09;CentOS7 Flink相关信…

XXL-JOB学习笔记——调度中心

集群部署配置 3.1.服务启动 XXL-JOB的集群部署非常简单&#xff0c;只需要注意两点&#xff1a; 集群节点都连接的是同一个数据库。 多台机器部署时&#xff0c;需要统一系统时间&#xff0c;如果是单个机器部署&#xff0c;则不用管这条。 现在是在同一台机器中&#xff0c;…

Vue--》打造个性化医疗服务的医院预约系统(五)

今天开始使用 vue3 + ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关…

【MySQL--->表的操作】

文章目录 [TOC](文章目录) 一、创建表二、查看表三、修改表四、删除表drop table 表名; ![在这里插入图片描述](https://img-blog.csdnimg.cn/15227b8335364d41bd01b4b4dd83ee55.png) 一、创建表 语句格式:create table 表名(列名 类型,…)字符集 校验规则 存储引擎;字符集和校…

jmeter中用户参数和用户定义的变量的区别

如果使用jmeter做过参数化的人都知道&#xff0c;参数化的方式有多种&#xff0c;其中一种就是使用用户定义的变量&#xff0c;还有一种是使用用户参数。那么&#xff0c;这两个有什么异同呢&#xff1f; 一、先说相同的点&#xff1a; 1、都可以参数化&#xff0c;以供sample…

tsconfig.json和jsconfig.json配置

{// 编译选项"compilerOptions": {// 生成代码的语言版本&#xff1a;将我们写的 TS 代码编译成哪个版本的 JS 代码// 命令行&#xff1a; tsc --target es5 11-测试TS配置文件.ts"target": "es5",// 指定要包含在编译中的 library"lib&quo…

(三)Unity开发Vision Pro——入门

3.入门 1.入门 本节涵盖了几个重要主题&#xff0c;可帮助您加快visionOS 平台开发速度。在这里&#xff0c;您将找到构建第一个 Unity PolySpatial XR 应用程序的分步指南的链接&#xff0c;以及 PolySpatial XR 开发时的一些开发最佳实践。 2.开发与迭代 有关先决条件、开…

Three.js--》✨ 阳 光 dua 郎 大 男 孩 ✨——阿伟的自述

不要让鲲流太嚣张&#xff0c;我们杰流才是最弔的 ———— 阳光dua郎大男孩 目录 项目搭建 初始化three.js基础代码 获取项目所需素材 加载图片语音模型 今天简单实现一个three.js的3D故事小游戏&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能…

LVS负载均衡群集部署(LVS-NAT模型实例)

一、集群 1.1集群的含义 Cluster&#xff0c;集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统。 由多台主机构成&#xff0c;但对外只表现为一个整体。 1.2群集的三种类型 1.2.1负载均衡群集 LB&#xff1a; Load Balancing&#xff0c;负载均衡&#x…

129.【Spring 注解 IOC】

Spring 注解 (一)、组件注册1. Configuration 与 Bean 容器注册组件(1).无注解注入方式(2).注解注入方式 2. ComponentScan 自动扫描组件和自动扫描规则(1).无注解扫描方式(2).注解扫描注入方式(3).指定扫描或不扫描的包 (过滤) 3. 自定义TypeFilter指定过滤规则 Filter(1).自定…

JDBC API

DriverManager : 注册驱动 Class.forName("com.mysql.jdbc.Driver"); 获取数据库连接 url &#xff1a; 连接路径 语法&#xff1a;jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2… 示例&#xff1a;jdbc:mysql://127.0.0.1:3306/db1 细…