【从0学Python基础】Python的基础语法(一)

news/2024/5/5 16:10:43/文章来源:https://blog.csdn.net/qq_58710208/article/details/130010200

文章目录

  • 常量和表达式
  • 变量和类型
    • 变量的定义
    • 变量的使用
    • 变量的类型
      • int
      • float
      • str
      • bool
    • 动态类型
  • 注释
  • 输入和输出
    • 输出
    • 输入
  • 运算符
    • 算数运算符
    • 关系运算符
    • 逻辑运算符
    • 赋值运算符
    • 其他

常量和表达式

print(1 + 2 * 3)
  • print是Python内置的一个函数,作用为输入打印到控制台
  • 形如1 + 2 * 3这样的算式为表达式,该算式的结果为表达式的返回值,1 2 3这种成为字面常量+ - * /称为运算符

示例:给四个数求平均值

print((80 + 90 + 75 + 85) / 4)

变量和类型

当我们的算数比较复杂时,往往需要把中间计算的结果保存起来,这时候就需要用到变量,我们可以把变量认为是一块能容纳数据的空间

变量的定义

a = 10

上述的代码中,a为变量名,=为赋值运算符,相当于把右边的值存到左边变量的空间中

变量名的规则:

  • 由字母数字下划线组成
  • 数字不能开头
  • 不能和关键字重复
  • 大小写敏感,A和a是两个不同的变量

变量的使用

读取变量值:直接使用print函数将a的值输出到控制台

a = 10
print(a)

修改变量值:将变量的值从10修改为20

a = 10
print(a)
a = 20
print(20)

变量的类型

变量可以存储多种类型的数据,而类型决定了数据在内存中占据多大空间

注意: python中不需要显示指定变量类型而是在赋值时自动确定的,使用type函数可以获取变量的类型

int

a = 10
print(type(a))

在这里插入图片描述
注意:在python中,int类型的变量表示的数据范围没有上限,只要内存够,就可以存“无上限”的值,它默认为4字节,但会随着数据的大小动态扩容

float

b = 2.5
print(type(b))

在这里插入图片描述
注意:在python中,小数只有float一种类型,它其实表示的也是双精度浮点数,它为8字节

str

c = 'hello'
print(type(c))

在这里插入图片描述
注意:在python中只有字符串类型,没有字符类型,字符串可以用单引号或者双引号

可以使用len函数获取字符串的长度:

d = "hello world"
print(len(d))

在这里插入图片描述
可以使用+对字符串进行拼接:

e = "hello"
f = "python"
print(e + f)

在这里插入图片描述
注意:在python中,字符串类型不能和整数或者浮点数拼接

m = "hello"
print(m + 2)

在这里插入图片描述

bool

flag = True
print(type(flag))

在这里插入图片描述
bool类型为1个字节

除上述的类型之外,python中还具有list,tuple,dict,自定义类型等,后续再介绍

动态类型

在python中,一个变量的类型是可以在程序运行中发生变化的,这个特征为动态类型

n = 10
print(type(n))
n = "hello"
print(type(n))
n = True
print(type(n))
n = 2.6
print(type(n))

在这里插入图片描述

注释

注释不会影响程序的运行,仅仅起到了对代码解释说明的作用

python中的单行注释:# 注释

# 求两个数的和
a = 5
b = 10
print(a + b)

文档注释:使用三引号引起来的内容为注释,三引号可以为''' '''""" """

''' 求两个数的和 '''
a = 5
b = 10
print(a + b)

输入和输出

程序需要和用户进行交互,用户把信息传递给程序称为输入,程序把结果展示给用户称为输出,输入输出的最基本方式就是通过控制台来进行输入和输出

输出

使用print函数进行输出

print("你好啊! python")

在这里插入图片描述

print函数也可以一次输出多个值,用逗号隔开,遇到逗号会输出空格:

print("hello", "word")

在这里插入图片描述

格式化输出

  • 使用f作为前缀的字符串为f-string
  • 里面可以使用{}其他的变量或表达式
a = 10
print(f"a的值为:{a}")

在这里插入图片描述

输入

使用input()函数来读取控制台的输入

num = input("请输入一个数:")
print(f"输入的数为:{num}")

在这里插入图片描述

注意:input的返回值为字符串类型

类型之间可以通过int(),float(),bool(),str()进行转换,但前提必须是可以相互转化

字符串转整数:

a = "10"
print(type(a))
a = int(a)
print(type(a))

运算符

算数运算符

+: 求和

print(1 + 2)

-:减法

print(3 - 1)

*:乘法

print(4 * 3)

/:除法

print(10 / 3)

在这里插入图片描述

注意:如果结果是小数,结果不会截断,而且浮点数使用IEEE754标准表示,小数部分会存在误差

%:取余

print(10 % 3)

**:乘方,还可以开方

print(2 ** 3)
print(9 ** 0.5)

在这里插入图片描述

//:向下取整数,这里的下指的是小,也就是舍弃小数部分,数往小的一方取整

print(7 // 3)
print(-7 // 3)

在这里插入图片描述

关系运算符

< ,>, <=, >=, ==, !=

print(2 < 3)
print(3.0 > 2.0)
print(6 == 6)

在这里插入图片描述
字符串也可以比较:

print("abc" > "ced")
print("bcd" < "ght")

在这里插入图片描述
python中,字符串可以使用==比较字符串内容是否相等,比较规则按照字典序比较:

a = "hello"
b = "hello"
c = "world"
print(a == b)
print(a == c)

在这里插入图片描述
对于浮点数,不要使用==比较相等,因为浮点数有误差:

print(0.1 + 0.2 == 0.3)

在这里插入图片描述
浮点数正确的比较方式:判定差值在误差范围之内

a = 0.3
b = 0.1 + 0.2
print(-0.00001 < (a - b) < 0.00001)

在这里插入图片描述

逻辑运算符

and(并且) or(或) not(取反),对应Java中的&& || !

  • and:各项都为True,结果才为True,否则为False
  • or:有一项为True,结果就为True,所有项都为False,结果才为False
  • not:项为True,结果为False,项为False,结果为True

特殊写法:a < b < c 等同于 a < b and b < c

短路求值:

  • 对于and,如果左侧为False,则右边的表达式执行不到
  • 对于or,如果左侧为True,则右边的表达式执行不到
print(10 > 20 and 10 / 0 == 1)
print(10 < 20 or 10 / 0 == 1)

执行上述代码,程序也不会抛异常

赋值运算符

=赋值:

a = 10
b = "hello"
c = True

链式赋值:

a = b = 20

多元赋值:

a, b = 10, 20

使用多元赋值交换两个数的值:

a = 10
b = 20;
a, b = b, a
print(a)
print(b)

在这里插入图片描述
复合赋值运算符:+=, -=, *=, /=, %=,a += 1 等价于a = a+1

python中不支持++ --这样的自增自减运算符

其他

除了上述这些基本的运算符,还有身份运算符(is , is not),成员运算符(in, not in),位运算符(^,&,|,~,>>,<<)等,此处先不做介绍

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

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

相关文章

Leetcode完成所有工作的最短时间2

我的解法&#xff1a; 先排序&#xff0c;然后让能工作最多的工人去做最长时间的工作&#xff0c;最短工作的工人去做最短时间的工作 class Solution:def minimumTime(self, jobs: List[int], workers: List[int]) -> int:jobs.sort()workers.sort()max_time-1for pointer…

HDFS学习笔记 【Namenode/数据块管理】

说明 Namenode关于数据块管理主要做两方面的事情。 文件系统对应数据块 数据块对应数据节点 Block的数据结构 通过Block&#xff0c;BlockInfo,BlocksMap,replica等数据结构表示数据块。 Block 唯一标识一个数据块 包含有比较方法&#xff0c;通过blockId进行比较 BlockI…

前端自动化测试之葵花宝典

作者&#xff1a;京东零售 杜兴文 首先聊一下概念&#xff0c;Web 前端自动化测试是一种通过编写代码来自动化执行 Web 应用程序的测试任务的方法&#xff0c;它通常使用 JavaScript 和测试框架 (如 Selenium、Appium 等) 来实现。 Web 前端自动化测试的优点是可以提高测试效…

微服务+springcloud+springcloud alibaba学习笔记【基础知识+各个组件介绍+聚合父工程创建】(1/9)

微服务springcloudspringcloud alibaba学习笔记 1/91、微服务简介1.1 微服务的自动化部署&#xff08;CI /CD&#xff09;(持续集成 持续交付&#xff09;1.2 服务集中化管理1.3 分布式架构1.4 熔断机制 Hystri2、SpringCloud 简介2.1 SpringCloud 版本对应关系2.2 SpringCloud…

Node.js安装与配置(详细步骤)

前言 本篇博文记录了Node.js安装与环境变量配置的详细步骤&#xff0c;旨在为将来再次配置Node.js时提供指导方法。 另外&#xff1a;Node.js版本请根据自身系统选择&#xff0c;安装位置、全局模块存放位置和环境变量应根据自身实际情况进行更改。 Node.js安装与配置 一、…

windows命令执行的几种绕过方法

windows命令执行的几种绕过方法介绍1、添加特殊符号2、定义变量3、切割字符串4、逻辑运算符在绕过中的作用5、利用for循环拼接命令介绍 反检测、反清理&#xff0c;是红队攻击中的重中之重&#xff0c;本文详细描述了几种windows执行命令的几种绕过手法。 1、添加特殊符号 w…

【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】

文章目录引言一、RequestMapping 注解介绍1.1 RequestMapping 是 post 还是 get 请求&#xff1f;1.2 RequestMapping 指定一种请求方式二、GetMapping三、PostMapping四、总结引言 前面我们讲到&#xff0c;学习 Spring MVC 需要掌握三个核心功能即连接&#xff0c;获取参数&…

webgl-attribute、uniform、varying三者的区别

通用js: let canvas document.getElementById(webgl) canvas.width window.innerWidth canvas.height window.innerHeight let ctx canvas.getContext(webgl) attribute&#xff1a; 范围: 只适用于vertexShader&#xff0c;将js代码中的数据传递给vertexShader。 使用方…

软考-套接字(scoket)

&#x1f4a4;SocketSocket套接字&#xff1a;是由系统提供用于网络通信的技术&#xff0c;是基于TCP/IP协议的网络通信的基本操作单元。将OSI模型中从传输层到物理层封装起来的抽象层&#xff0c;把网络协议隐藏在Socket抽象层中&#xff0c;只对使用者暴露API接口&#xff0c…

DDoS攻击实验笔记

DoS&DDoS简介 DoS(Denial of Service)&#xff0c;拒绝服务攻击是通过一些方法影响服务的可用性&#xff0c;比如早期主要基于系统和应用程序的漏洞&#xff0c;只需要几个请求或数据包就能导致长时间的服务不可用&#xff0c;但易被入侵检测系统发现。 DDoS(Distributed D…

Mysql通过行表中的行数据筛选主表数据

有订单头表和订单行表。筛选出行表中包含某些商品的头表 文章目录1. 示例表test_ordertest_order_line2. 实现EXISTS(推荐)内联1. 示例表 test_order test_order_line 2. 实现 EXISTS(推荐) 优点&#xff1a; 使用内联&#xff0c;主表字段很多的情况下&#xff0c;需要写越…

人员跌倒识别检测系统 yolov7

人员跌倒识别检测系统通过PythonYOLO7网络模型算法&#xff0c;人员跌倒识别检测算法模型对现场画面中有人员倒地摔倒行为实时分析预警&#xff0c;发现则立即抓拍存档告警同步提醒后台值班人员及时处理。YOLOv7 的发展方向与当前主流的实时目标检测器不同&#xff0c;研究团队…

LabVIEW实现ST-Link自动烧录单片机

目录 1、添加CLI到系统环境变量中 2、查询ST-Link/V2烧录器信息 3、连接待烧录的MCU芯片 4、下载固件到Flash 5、可能会使用的命令 5.1、-Rst 5.2、-ME 5.3、-SE 6、封装好的LabVIEW库 在讲解LabVIEW实现ST-Link自动烧录之前先聊一聊ST官方提供一款专用的Flash烧录工具…

《华为机试》——查找两个字符串a,b中的最长公共子串

本期给大家带来的是 华为机试题库 关于 查找两个字符串a,b中的最长公共子串 的讲解。首先&#xff0c;我们还是先从题目入手进行分析思考&#xff01;&#xff01;&#xff01; 题目如下 &#xff1a;&#x1f447; 查找两个字符串a,b中的最长公共子串。若有多个&#xff0c;输…

正则化的基本认识

正则化(一) 拟合与欠拟合(二) 正则化的目的(三) 惩罚项&#xff08;3.1&#xff09;常用的惩罚项&#xff1a;&#xff08;3.2&#xff09;L-P范数&#xff1a;&#xff08;3.3&#xff09;L1与L2的选择&#xff1a;(一) 拟合与欠拟合 欠拟合&#xff1a; 是指测试级与训练集都…

IDEA集成Git、GitHub、Gitee

一、IDEA 集成 Git 1.1、配置 Git 忽略文件 为什么要忽略他们&#xff1f; 与项目的实际功能无关&#xff0c;不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 怎么忽略&#xff1f; 创建忽略规则文件 xxxx.ignore&#xff08;前缀名随便起&#xff0c…

〖Python网络爬虫实战⑫〗- XPATH语法介绍

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;目前专栏免费订阅&#xff0c;在转为付费专栏前订阅本专栏的&#xff0c;可以免费订阅付费…

java 通过 spring 官网创建springboot项目

文章java简单一写一个springboot入门案例带大家用idea工具工具创建了一个springboot简单的小案例 但有时 我们idea如果连不上网 就会有点问题 我们可以采用另一种创建方式 但这里的前提肯定就是 你的计算机是要有网的 然后访问 https://spring.io/ 打开spring的官网 在 Project…

SpringBoot基础使用

SpringBoot基础使用1.SpringBoot简介2.SpringBoot项目创建3.RESTful Web 服务4.SpringBoot 实现WebMvcConfigurer拦截器4.1 WebMvcConfigurer介绍4.2 WebMvcConfigurer接口常用方法4.3 WebMvcConfigurer拦截器5.SpringBoot常用注解总结6.SpringBoot异常处理6.1 使用 Controller…

Zeppelin框架及Hive查询操作

1&#xff09;、介绍 Apache Zeppelin是一款基于Web交互式框架&#xff0c;支持多种语言&#xff0c;Scala、SparkSQL、Markdown&#xff0c;SQL、Shell、Python等。 Zeppelin提供数据分析、数据可视化。 可以使用Zeppelin链接SparkSQL Zeppelin安装和使用 1&#xff09;、…