【Python】轻松掌握基础语法(一)

news/2024/5/7 3:28:14/文章来源: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")

在这里插入图片描述

格式化输出

  • 使用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_283038.aspx

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

相关文章

人工智能前沿——「全域全知全能」人类新宇宙ChatGPT

&#x1f680;&#x1f680;&#x1f680;OpenAI聊天机器人ChatGPT——「全域全知全能」人类全宇宙大爆炸&#xff01;&#xff01;&#x1f525;&#x1f525;&#x1f525; 一、什么是ChatGPT?&#x1f340;&#x1f340; ChatGPT是生成型预训练变换模型&#xff08;Chat G…

1.半导体基础知识

1.半导体基础知识本征半导体什么是半导体&#xff1f;什么是本征半导体&#xff1f;本征半导体的结构本征半导体中的两种载流子为什么将自然界导电性能中等的半导体材料制成本征半导体杂质半导体N型半导体P型半导体PN结PN结中的扩散运动漂移运动和PN结的形成PN结的单向导电性PN…

uniapp开发小程序-swiper点击预览大图(商品详情页轮播图)

1.实现效果&#xff1a; 2.具体代码&#xff1a; <view class"swiper_box"><!--轮播图--><swiper class"ms_swiper" :autoplay"true" circular"true" change"swiperChange"><swiper-item v-for"…

【动态规划模板】神似的01和完全背包、多重背包和分组背包问题

神似的01背包与完全背包&#x1f349; 【经典题目】01背包采药 题目描述 &#x1f388; 辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。为此&#xff0c;他想拜附近最有威望的医师为师。医师为了判断他的资质&#xff0c;给他出了一个难题。医师把他…

【Redis学习】SpringBoot集成Redis

总体概述 jedis-lettuce-RedisTemplate三者的联系 本地Java连接Redis常见问题 bind配置请注释掉 保护模式设置为no Linux系统的防火墙设置 redis服务器的IP地址和密码是否正确 忘记写访问redis的服务端口号和auth密码 集成jedis 简介 Jedis Client是Redis官网推荐的一个面…

【c语言】文件的读写

文件读写使用二进制读写比较方便&#xff0c;分别使用fread和fwrite函数进行。 一、函数定义 以二进制形式读取文件&#xff0c;从stream流中读取内容&#xff0c;读到ptr指向的空间中&#xff0c;读取size大小的count个内存单元。 返回值为读取到的字符个数。 以二进制形式读…

解决Abp设置DefaultLanguage默认语言不生效的问题

文章目录现象原因分析解决问题现象 默认地&#xff0c;Abp的语言提供程序将返回的CultureInfo为En&#xff0c;在一些默认实现的接口&#xff08;比如/api/TokenAuth/Authenticate&#xff09;返回的错误信息是英文 目标是改成简体中文显示&#xff0c;但是即便我们在AbpSett…

android framework-zygote进程

Zygote进程&#xff1a;可以看到zygote的父进程是init进程 一、Zygote整体时序图 涉及源码路径 android-10.0.0_r41\frameworks\base\cmds\app_process\Android.mk android-10.0.0_r41\frameworks\base\cmds\app_process\app_main.cpp android-10.0.0_r41\frameworks\base\core…

图像阈值化

图像阈值化 图像阈值化简介 ⚫ 图像阈值化是图像处理的重要基础部分, 应用很广泛, 可以根据灰度差异来分割图像不同部分 ⚫ 阈值化处理的图像一般为单通道图像(灰度图) ⚫ 阈值化参数的设置可以使用滑动条来debug ⚫ 阈值化处理易光照影响, 处理时应注意 ⚫ 本节主要介绍…

1000题!!阿里P8架构师手写“Java面试宝典”带你横扫全网

序言 很多同学学习Java并发一头扎进源码&#xff0c;最后头破血流&#xff0c;无功而返。横看成岭侧成峰&#xff0c;远近高低各不同。学习要始终从不同的视角来看待问题。学习并发亦是如此&#xff0c;需要通过理论远看轮廓&#xff0c;然后通过源码近看明细。 今天小编分享…

Java之堆和堆排序

目录 一.什么是堆 1.基本介绍 2.堆的实现方式 二.最大堆的实现 1.最大堆 2.思路分析 0.基础操作 1.添加上浮操作 2.删除下沉操作 3.将数组堆化操作 2.代码实现 三.堆排序 1.什么是堆排序 2.思路分析 3.代码实现 一.什么是堆 1.基本介绍 堆是一种数据结构&#…

新增 ABB COMLI 等 5 个工业协议驱动

3 月&#xff0c;Neuron 团队主要在为 2.4.0 版本的发布做准备&#xff0c;进行了官网文档的重构与完善&#xff0c;为常用驱动增加了相应的连接示例及常见问题。同时新增南向驱动 ABB COMLI&#xff0c;此驱动可通过串口连接 ABB 某些型号的 PLC。 新增驱动插件 南向驱动 IE…

kafka之一----概念结构

https://kafka.apache.org/ https://blog.csdn.net/liuyu973971883/article/details/109036572 https://blog.csdn.net/u013256816/article/details/80300225 1、概念 Kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;由Scala和Java编写。Kafka是一种高吞吐量…

【Rust基础】语法知识

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人学习Rust语言整理的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于b站的Rust中文社群线上学习室和菜鸟教程进行的&#xff0c;每个知识…

leaflet实现波动的marker效果(131)

第131个 点击查看专栏目录 本示例的目的是介绍如何在vue+leaflet中显示波动的marker效果。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共76行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设置…

算法学习day52

算法学习day521.力扣 300.最长递增子序列1.1 题目描述1.2分析1.3 代码2.力扣674. 最长连续递增序列2.1 题目描述2.2 分析2.3 代码3.力扣718. 最长重复子数组3.1 题目描述3.2 分析3.3 代码3.参考资料1.力扣 300.最长递增子序列 1.1 题目描述 题目描述&#xff1a; 给一个整数…

CAM类激活映射 |神经网络可视化 | 热力图

文章目录前言&#xff1a;安装库&#xff1a;分类案例--ResNet50分割案例AttributeError: ‘tuple‘ object has no attribute ‘cpu‘RuntimeError: grad can be implicitly created only for scalar outputsTypeError: cant convert cuda:0 device type tensor to numpy. Use…

蓝桥杯嵌入式第十三届省赛题目解析

马上就要比赛了&#xff0c;我也是把自己写完调试好的题目分享出来给大家&#xff0c;同时也祝大家取得自己理想的成绩。 好了废话不多说&#xff0c;我们先看客观题再看程序设计题。 目录 客观题&#xff1a; 程序设计题&#xff1a; 题目解析&#xff1a; CubeMX配置 …

分期的秘密:名义利率和实际利率

分期付款&#xff0c;是一种常见的消费方式&#xff0c;但是这其中却有不少猫腻。名义上的年化利率和实际上的利率竟有可能相差两倍之多。今天&#xff0c;我就以招行的现金分期举例&#xff0c;简单剖析一下其中的玄机。 以上就是招行现金分期的月利率&#xff0c;我们做一点小…

【李宏毅】深度学习——HW4-Speaker Identification

Speaker Identification 1.Goal 根据给定的语音内容&#xff0c;识别出说话者是谁 2.Data formats 2.1data directory 目录下有三个json文件和很多pt文件&#xff0c;三个json文件作用标注在下图中&#xff0c;pt文件就是语音内容。 mapping文件 metadata文件 n_mels:Th…