python基础语法(1) ------- 学习笔记分享

news2025/1/15 17:08:54

目录

(1)常量和表达式

(2)变量和类型

(3)变量的语法

(4)变量的类型

(5)动态类型特性

(6)注释

(7)输入和输出

(8)运算符

1. 常量和表达式

在C / Java 中,整数除以整数结果还是整数!并且会把小数部分直接舍掉!

print(1 + 2 / 3)

打印1.6666666666665

编程中,一般没有四舍五入这样的规则

浮点数IEEE754标准~这套规则下表示浮点数,可能会存在一些微小的误差

print('hello')
print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)
print(1 + 2 / 3)#表达式
print((67.5 + 89.0 + 12.9 + 32.2) / 4)
2. 变量和类型

有的时候,我们需要进行的计算可能更复杂一些,需要把一些计算的中间结果保存起来,这个时候就要用到变量

在Python中,**2就是求平方

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2
result = total / 3
print(result)
3. 变量的语法

变量命名的规则:

(1)变量名不能包含数字、字母、下划线之外的特殊符号构成

(2)数字不能开头

~像a1是合法的变量,1a和a*a都是非法的变量

(3)变量名不能和Python的关键字重复

~如if

(4)Python是大小写敏感的,区分大小写

软性规则~(建议遵守)

(1)给变量命名的时候尽量使用具有描述性的单词~尽量通过名字来表现出变量的作用

(2)当我们使用一个单词描述不清楚的时候,可以使用多个单词来命名~不怕名字长而怕变量的含义表达不清楚

(3)当包含多个单词的时候,命名有多种规范

a.驼峰命名~除了第一个单词的首字母外,后续的每个单词的首字母都大写

totalCount

b.蛇形命名~单词之间使用下划线 _ 来进行分隔

total_count

a = 10
print(a)
​
b = 20
print(b)
​
a = b
print(a)
4. 变量的类型

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

(1)整数(int)

能表示的数据范围是“无穷的”

Python的int是可以根据要表示的数据的大小,自动扩容

Java的int的表示范围是 -21亿 ~ +21亿

因此,Python就没有long、short等类型了

(2)浮点数(小数)(float)

Python中的float是双精度浮点数,等同于C中的double类型

(3)字符串(str)

和C一样

但py用''和""都可以

如果字符串里面包含了双引号,表示字符串就可以用单引号引起来;

如果字符串里面包含了单引号,表示字符串就可以用双引号引起来。

如果同时有单引号和双引号,咋办??使用三引号 ~''' 或者 """

字符串拼接

a1 = 'hello'
a2 = 'world'
print(a1 + a2)#a2 接在 a1 末尾

不能把字母字符和数字字符混合相加

(4)布尔类型(bool)

真 True

假 False

但在java/c里面是true和false

(5)其他:list、tuple、dict、自定义类型

5. 动态类型特性

在python中,一个变量是什么类型,是可以在”程序运行“过程中发生变化的,这个特性称为”动态类型“。

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

python也是可以声明的 如 a:int = 10

6. 注释

(1)注释行

一般写在要注释的代码的上方

#这是一行注释

(2)文档字符串

"""
这是文档字符串
"""

注释的规范

1.内容准确:注释的内容要和代码一致、匹配,并在代码修改时及时更新

2.篇幅合理:注释既不应该太精简,也不能长篇而论

3.使用中文:中国公司一般要求中文写注释,外企另当别论

4.积极向上:别阴阳他人、内涵领导同事

7. 输入和输出

(1)输出

g = 10
#希望使用print打印出”g = 10“这样的内容
print(f"g = {g}")

f表示format,格式化字符串

(2)输入

使用input函数

input的返回值是一个str类型数据

所以需要进行类型转换

形式:类型(变量)

#通过控制太来输入一个数据
a = input('请输入第一个整数:')
b = input('请输入第二个整数:')
a = int(a)
b = int(b)
print(f'a + b = {a + b}')
8. 运算符
8.1 算数运算符

像+ - * / % ** //

运算顺序一般是先乘方,再乘除,再加减

** :py既支持整数次方,也支持小数次方

// : 地板除法(取整除法),会针对计算的结果进行”向下取整“

通过控制太来输入一个数据
# a = input('请输入第一个整数:')
# b = input('请输入第二个整数:')
# a = int(a)
# b = int(b)
# print(f'a + b = {a + b}')
​
print(4 ** 2)
​
print(7 // 2)
​
print(-7 // 2)
8.2 关系运算符

关系运算符就是再比较两个操作数之间的大小关系

(1)跟C基本一致,但py中的关系运算符还能比较字符串~并且==和!=在py中也能正常比较字符串

(2)按照字典序比较字符串——字符串在字典上越靠前越小

(3)针对浮点数来说,使用==比较相等,存在一定的风险!因为浮点数在内存中的存储和标识,是可能存在误差的!这样的误差在进行算数运算的时候就可能被放大,从而导致==的判定出现误判!

print(0.1 + 0.2 == 0.3)#结果是false

(4)py上支持0.1 < x < 1这样连着写的形式

8.3 逻辑运算符

像and or not 这一系列的运算符称为逻辑运算符

  • and 并且,相当于C语言中的 &&

  • or 或者,相当于C语言中的||

  • not逻辑取反,相当于C语言中的!

8.4 赋值运算符

(1) =

链式赋值: a = b = 1

多元赋值: a , b = 10 , 20

基于多元赋值我们可以有

a = 10
b = 20
a , b = b , a

(2)复合赋值运算符

+= -= *= /= %=

但是python不支持自加、自减(a++、a--)

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

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

相关文章

Node.js - Express框架

1. 介绍 Express 是一个基于 Node.js 的 Web 应用程序框架&#xff0c;主要用于快速、简便地构建 Web 应用程序 和 API。它是目前最流行的 Node.js Web 框架之一&#xff0c;具有轻量级、灵活和功能丰富的特点。 核心概念包括路由&#xff0c;中间件&#xff0c;请求与响应&a…

Linux Top 命令 load average 指标解读

前言 作为平台开发的同学&#xff0c;维护平台稳定性是我们最基本的工作职责&#xff0c;下面主要介绍下top 命令里 &#xff0c;load average 这个指标如何去衡量机器负载程度。 概念介绍 load average 是系统在过去 1 分钟、5 分钟、15 分钟 的平均负载&#xff0c;它表示运…

【大数据】机器学习------神经网络模型

一、神经网络模型 1. 基本概念 神经网络是一种模拟人类大脑神经元结构的计算模型&#xff0c;由多个神经元&#xff08;节点&#xff09;组成&#xff0c;这些节点按照不同层次排列&#xff0c;通常包括输入层、一个或多个隐藏层和输出层。每个神经元接收来自上一层神经元的输…

【day5】Redis持久化之AOF + Redis事务_锁机制

AOF是什么 以日志的形式来记录每个写操作(增量保存)&#xff0c;将 Redis 执行过的所有写指令记录下来(比 如 set/del 操作会记录, 读操作 get 不记录 只许追加文件但不可以改写文件 redis 启动之初会读取该文件重新构建数据 redis 重启的话就根据日志文件的内容将写指令从前到…

【Python】Python之locust压测教程+从0到1demo:基础轻量级压测实战(1)

文章目录 一、什么是Locust二、Locust 架构组成三、实战 Demo准备一个可调用的接口编写一个接口测试用例编写一个性能测试用例执行性能测试用例代码1、通过 Web UI 执行&#xff08;GUI模式&#xff09;2、通过命令行执行&#xff08;非GUI模式&#xff09; 小知识&#xff1a;…

Jaeger UI使用、采集应用API排除特定路径

Jaeger使用 注&#xff1a; Jaeger服务端版本为&#xff1a;jaegertracing/all-in-one-1.6.0 OpenTracing版本为&#xff1a;0.33.0&#xff0c;最后一个版本&#xff0c;停留在May 06, 2019。最好升级到OpenTelemetry。 Jaeger客户端版本为&#xff1a;jaeger-client-1.3.2。…

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用-以ENSO预测为例讲解

1. 背景与目标 ENSO&#xff08;El Nio-Southern Oscillation&#xff09;是全球气候系统中最显著的年际变率现象之一&#xff0c;对全球气候、农业、渔业等有着深远的影响。准确预测ENSO事件的发生和发展对于减灾防灾具有重要意义。近年来&#xff0c;深度学习技术在气象领域…

【IDEA 2024】学习笔记--文件选项卡

在我们项目的开发过程中&#xff0c;由于项目涉及的类过多&#xff0c;以至于我们会打开很多的窗口。使用IDEA默认的配置&#xff0c;个人觉得十分不便。 目录 一、设置多个文件选项卡按照文件字母顺序排列 二、设置多个文件选项卡分行显示 一、设置多个文件选项卡按照文件字…

nginx的可视化配置工具nginxWebUI的使用

文章目录 1、nginx简介2、nginxWebUI2.1、技术解读2.2、开源版和专业版之间的区别2.3、功能解读 3、安装与使用3.1、下载镜像3.2、查看镜像3.3、启动容器3.4、使用 4、总结 1、nginx简介 Nginx 是一个高效的 HTTP 服务器和反向代理&#xff0c;它擅长处理静态资源、负载均衡和…

qt vs ios开发应用环境搭建和上架商店的记录

qt 下载链接如下 https://download.qt.io/new_archive/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg 安装选项全勾选就行&#xff0c;这里特别说明下qt5.14.2/qml qt5.14.2对qml支持还算成熟&#xff0c;但很多特性还得qt6才行&#xff0c;这里用qt5.14.2主要是考虑到服…

系统思考—全局思维

在一个复杂的企业中&#xff0c;无论是生产、营销、研发、产品还是采购&#xff0c;作为核心团队&#xff0c;大家不只关注单一的问题——需要从整体出发。企业是一个有机的整体&#xff0c;每一个环节都息息相关。如果只解决一个问题&#xff0c;却忽视了其他部分的相互作用&a…

软件设计师 - 第10章 网络与信息安全基础知识

网络概述 功能:数据通信,资源共享,管理集中化,实现分布式处理,负载均衡 分类:局域网,城域网,广域网 拓扑结构:总线型,星型,环型,树型,分布式 ISO/OSI七层模型: 应用层:提供与用户交互的界面,并支持特定应用程序的服务,FTP、Telnet、SMTP、NFS、SNMP、HTTP、…

记录一次Android Studio的下载、安装、配置

目录 一、下载和安装 Android Studio 1、搜索下载Android studio ​2、下载成功后点击安装包进行安装&#xff1a; 3、这里不用打勾&#xff0c;直接点击安装 &#xff1a; 4、完成安装&#xff1a; 5、这里点击Cancel就可以了 6、接下来 7、点击自定义安装&#xff1a…

自定义注解使用AspectJ切面和SpringBoot的Even事件优雅记录业务接口及第三方接口调用日志实现思路

自定义注解使用AspectJ切面和SpringBoot的Even事件优雅记录业务接口及第三方接口调用日志实现思路 文章目录 1.前言2.思路2.1使用ELK收集日志2.1.1ELK搭建2.1.2项目中集成ELK日志收集2.1.2.1 引入依赖2.1.2.2 logback-xxx.xml配置2.1.2.3 yaml配置 2.2本文思路2.2.1书接上文--自…

Windows 正确配置android adb调试的方法

下载适用于 Windows 的 SDK Platform-Tools https://developer.android.google.cn/tools/releases/platform-tools?hlzh-cn 设置系统变量&#xff0c;路径为platform-tools文件夹的绝对路径 点击Path添加环境变量 %adb%打开终端输入adb shell 这就成功了&#xff01;

保姆级图文详解:Linux和Docker常用终端命令

文章目录 前言1、Docker 常用命令1.1、镜像管理1.2、容器管理1.3、网络管理1.4、数据卷管理1.5、监控和性能管理 2、Linux 常用命令分类2.1、文件和目录管理2.2、用户管理2.3、系统监控和性能2.4、软件包管理2.5、网络管理 前言 亲爱的家人们&#xff0c;技术图文创作很不容易…

相机SD卡照片数据不小心全部删除了怎么办?有什么方法恢复吗?

前几天&#xff0c;小编在后台友收到网友反馈说他在整理相机里的SD卡&#xff0c;原本是想把那些记录着美好瞬间的照片导出来慢慢欣赏。结果手一抖&#xff0c;不小心点了“删除所有照片”&#xff0c;等他反应过来&#xff0c;屏幕上已经显示“删除成功”。那一刻&#xff0c;…

《C++11》nullptr介绍:从NULL说起

在C11之前&#xff0c;我们通常使用NULL来表示空指针。然而&#xff0c;NULL在C中有一些问题和限制&#xff0c;这就是C11引入nullptr的原因。本文将详细介绍nullptr的定义、用法和优点。 1. NULL的问题 在C中&#xff0c;NULL实际上是一个整数0&#xff0c;而不是一个真正的…

【搭建JavaEE】(2)Tomcat安装配置和第一个JavaEE程序

Tomcat–容器(Container) 下载 Apache Tomcat - Welcome! 下载完成 请求/响应 结构 测试 查看Jdk版本 改端口号localhost8080–>8099 学学人家以后牛逼了可以用自己名字当文件夹名 配置端口8099 找到server文件 用记事本打开 再打开另一个logging文件 ”乱码解决“步骤&…

​​​​​​​​​​​​​​★3.3 事件处理

★3.3.1 ※MouseArea Item <-- MouseArea 属性 acceptedButtons : Qt::MouseButtons containsMouse : bool 【书】只读属性。表明当前鼠标光标是否在MouseArea上&#xff0c;默认只有鼠标的一个按钮处于按下状态时才可以被检测到。 containsPress : bool curs…