你好,python!——python基础中的基础

news2025/1/12 4:03:19

〇、注释

0.1 单行注释

python中用 “# ”来给某一行注释,

他的快捷键是 CTRL + / ,当注释内容已被注释时,会解除注释  

0.2 多行注释

python中用 """ 注释内容 """ 来对内容进行多行注释

"""
这是我要
注释的内容
"""

一、运算符

1.1算术运算符

算术运算符 

运算符描述实例(设 a = 9, b = 2)

   +   

两个对象相加 a + b == 11
-得到负数或是一个数减去另一个数 a - b == 7
*两个数相乘或是返回一个被重复若干次的字符串 a * b == 18
/a / b = 4.5
//取整除返回商的整数部分 a // b == 4 
%取余返回除法的余数 a % b == 1
**指数a ** b 为 a 的 b 次方 a ** b == 81

1.2复合赋值运算符 

复合赋值运算符

运算符描述实例

   +=   

加法赋值运算符a += b 等效于 a = a + b
-=减法赋值运算符a -= b 等效于 a = a - b
*=乘法赋值运算符a *= b 等效于 a = a * b
/=除法赋值运算符a /= b 等效于 a = a / b 
//=取整除赋值运算符

a //= b 等效于 a = a // b

%=取余赋值运算符a %= b 等效于 a = a % b
**=幂赋值运算符a **= b 等效于 a = a ** b

通过比对我们可以发现python中的运算符和C语言的区别,python并没有自增和自减的操作,C语言没有直接取整除和求指数的运算符。

二、字符串

2.1字符串的三种定义方式

2.1.1单引号定义

name = '夜夜亮晶晶'

2.1.2双引号定义

name = "夜夜亮晶晶"

2.1.3三引号定义

name = """夜夜亮晶晶"""

三引号定义与注释一样支持多行操作,只要把多行注释赋值给变量就实现了三引号定义字符串 

2.1.4转义字符

当我们要定义的内容中包含单引号(双引号)时,我们可以用双引号(单引号)来定义该字符串,也可以用 \ 转义字符。

sentence1 = '"我的字符串中有双引号"'
sentence2 = "\"我的字符串中有双引号\""

2.2字符串拼接

当我们有两个字符串,我们可以用 + 的方式把两个字面量拼接到一起成为一个字符串。

print("我的博客名:" + "夜夜亮晶晶")

但是这样使我们的代码有些冗杂,所以在一般情况下,我们在字面量和变量或者变量和变量之间会使用拼接。

name = "夜夜亮晶晶"
print("我的博客名是:" + name)

2.3字符串格式化

当我们要表达的意思过多时,只用字符串拼接其实太过麻烦,其实 python 中也支持与 C语言 一样的变量占位来格式化字符串。

name = "夜夜亮晶晶"
content = "python"
way = "自学"
#字符串拼接,太过冗杂:
print("我的博客名是:" + name + ",我分享的内容是:" + content + ",我的学习方式是:" + way)

# 字符串格式化:
print("我的博客名是:%s,我分享的内容是:%s,我的学习内容是:%s" % (name, content, way))
数据类型占位符
占位符号转化
%s将内容转化为字符串,放入占位位置

%d

将内容转化为整数,放入占位位置
%f将内容转化成浮点型,放入占位位置

year = 2023
date = 9.24
print("现在是%d的%s日" % (year, date))

2.4格式化的精度控制

2.5字符串格式化方式2

python 肯定有比 C语言 更加简洁的方法来格式化字符串,下面我们来看一下使用的语法:

这样就可以使我们的内容和变量可以一起运用:

name = "夜夜亮晶晶"
content = "python"
way = "自学"
print(f"我的博客名是:{name},我分享的内容是:{content},我的学习内容是:{way}")

这样看我们的代码是不是更简洁而且可读性好像更高了一些呢。

2.6对表达式进行格式化

2.6.1什么是表达式

表达式:一条具有明确执行结果的代码语句

例如:1 * 1 、3 + 2

2.6.2格式化表达式

和格式化字符串一样,

f"内容{表达式}"

"%s%d%f" % (表达式)

三、数据输入(input语句)

3.1初识 input 语句

在前面我们通过 print 语句来直接打印电脑中的信息,那我们如何在程序运行中和程序沟通呢?

我们可以用 input 语句来创建变量读取我们键盘的输入,这和C语言的 scanf 语句类似

print("请问你的博客名是什么?")
name = input()
print(f"我的博客名是:{name}")

3.2识别 input 和 scanf 的区别

但是 python 自然有比 C语言 更高级的地方,我们上述的提示语句其实完全可以用 input 来打印

name = input("请问你的博客名是什么?")
print(f"我的博客名是:{name}")

input 会把从键盘上读到的值直接赋值给接收 input 的变量,所以里面打印的提示内容其实并不影响我们的输入。

同时,接收 input 语句的变量默认读取的数据类型是字符串类型,所以当我们输入整型浮点型等其他的数据类型时,要记得进行类型转换。

3.3类型转换

类型转换其实比较灵活,

我们可以直接在输入的时候就类型转换让我们的变量接收我们需要的类型:

我们也可以在 print 输出的时候再进行类型转换,但这种比较不方便,我们每使用一次就要进行一次类型转换:

四、判断语句

4.1 if 语句

在 python 中,if 后的判断条件不严格加括号, 在判断条件后一点要加冒号

与 C语言 大不相同的是程序判断语句是否属于 if 的依据是在内容前缩进四个空格,而不是{ }

4.2 if else 语句

4.3 if elif else

elif 其实就是 C语言 中 else if 的简化。

五、循环语句

5.1 while 循环

5.1.1while 循环的基本语法

5.1.2 while 循环的嵌套应用

可以看出 while 循环的嵌套也是根据缩进来确定执行语句属于内层还是外层的 while 

5.2 for 循环

5.2.1 for 循环的基本语法

 与 C语言的 for 循环不同,这里的临时变量每次都接收待处理数据集的一个数据

我们写个代码来体会一下:

5.2.2 range语句

如果我们想像 C语言 中的 for 循环那样使用怎么办呢?难道我们要在待处理数据集一个个写吗

我们在这里介绍一下 range 语句

所以如果我们想写出像 C语言 那样的 for 循环,我们就可以借助 range 语句

# 循环10次
for i in range(10)
    # 内容

5.2.3 for 循环的嵌套应用

5.3 循环中断:break 和 continue

python 中的 break 和 continue 的用法其实和 C语言 类似。

break 能直接跳出最近的一层循环,continue 能跳过下面的语句直接进行下一次循环。

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

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

相关文章

DATE和LocalDateTime在Java中有什么区别

在Java中,Date和LocalDateTime是两个表示日期和时间的类,它们有以下区别: 类型:Date是Java旧版提供的日期和时间类,而LocalDateTime是Java 8引入的新日期和时间API中的类。 不可变性:Date是可变类&#x…

Questasim与Visualizer的livesim仿真

1.前言 Live-Simulation (live-sim)模式允许Visualizer调试环境与Questasim进行交互操作,此模式将Visualizer GUI与Questasim仿真相结合,因此可以在线调试当前仿真的结果和波形。在livesim模式中,可以在Visualizer GUI中控制仿真、设置断点(…

【Java 基础篇】Java 类加载器详解

在Java编程中,类加载器(Class Loader)是一个重要的概念,它负责将类加载到Java虚拟机中,使程序能够正常运行。本文将详细解释Java类加载器的工作原理、不同类型的类加载器以及如何自定义类加载器。 什么是类加载器&…

智慧公厕以数字技术为中心,融合数字管理技术与城市治理需求精准对接

现代城市的发展离不开科技的进步,智慧公厕作为城市治理的重要方面之一,正逐渐受到越来越多的重视。智慧公厕以数字技术为中心,融合数字管理技术与城市治理需求精准对接,为城市居民提供更加方便、舒适的公共卫生设施。本文将以智慧…

2023年7月嵌入式项目开发专题总汇

一、前言 当前文章总结了28个基于不同单片机(51单片机和STM32)设计的软件和硬件项目。这些项目涵盖了计算器、手机、酒精检测仪、环境温度与湿度检测设备、考勤系统、门禁照相机、人体健康检测仪、数码相册、太阳能热水器、数显热水器和智能空调等多个领…

高性能计算环境下的深度学习异构集群建设与优化实践

★深度学习;模式识别;图像处理;人工智能建模;人工智能;深度学习算法;强化学习;神经网络;卷积神经网络;人工神经网络;VIBE算法;控制系统仿真&#…

用Redis做数据排名

1.背景 用Redis做数据缓存用的比较多,大家都能熟练使用String和Hash结构去存储数据,今天讲下如何使用ZSet来做数据排名。 假设场景是需要按天存储全国城市的得分数据,可以查询前十名的城市排名。 这个case可以使用传统关系型数据库做…

5-2 Pytorch中的模型层layers

深度学习模型一般由各种模型层组合而成。 torch.nn中内置了非常丰富的各种模型层。它们都属于nn.Module的子类,具备参数管理功能。 例如: nn.Linear, nn.Flatten, nn.Dropout, nn.BatchNorm2d, nn.Embedding nn.Conv2d,nn.AvgPool2d,nn.Conv1d,nn.ConvTr…

2023华为杯数学建模D题第三问-碳排放路径优化(能源消费结构调整的多目标优化模型构建详细过程+模型假设(可复制))

1.碳排放约束下(人为干预按时碳达峰与碳中和的基准情景)能源消费结构多目标优化模型构建 1.1基本假设 本文的模型设计主要基于以下几个基本假设: (1)能源消费结构调整的根本驱动要素,是对投资耗费的最小化…

uni-app图片保存到手机

uni.saveImageToPhotosAlbum(OBJECT) 官网地址uni.chooseImage(OBJECT) | uni-app官网 注意filePath不能是网络图片路径,如果我们是网络图片路径需要先下载文件资源到本地,然后再保存到相册 // 保存图片到手机 const saveImg () > {//wx.downloadF…

《计算机视觉中的多视图几何》笔记(10)

10 3D Reconstruction of Cameras and Structure 本章主要描述了如何利用2张图片来恢复相机的参数以及物体在三维空间中的形状。 文章目录 10 3D Reconstruction of Cameras and Structure10.1 Outline of reconstruction method10.2 Reconstruction ambiguity10.3 The proje…

【 Ubuntu】systemd服务创建、启用、状态查询、自启等

要在 Ubuntu 启动后执行一个守护脚本,您可以使用 Shell 脚本编写一个 systemd 服务单元。systemd 是 Ubuntu 中常用的服务管理工具,可以在系统启动时自动启动和管理服务。 下面是一个示例的守护脚本和 systemd 服务单元的步骤: 创建守护脚本…

机器学习第十课--提升树

一.Bagging与Boosting的区别 在上一章里我们学习了一个集成模型叫作随机森林,而且也了解到随机森林属于Bagging的成员。本节我们重点来学习一下另外一种集成模型叫作Boosting。首先回顾一下什么叫Bagging? 比如在随机森林里,针对于样本数据,…

实在智能入选中国信通院最新《高质量数字化转型产品及服务全景图》,领跑AI大模型核心领域

随着中国数字经济进入快速发展期,中国信通院于2021年正式发起“铸基计划-高质量数字化转型行动”,围绕企业数字化转型供需两侧引导行业数字化建设。近期,中国信通院发布了最新的2023《高质量数字化转型产品及服务全景图(8月份新增…

苹果电脑如何卸载录屏软件音频驱动?

当你不想用录屏软件,且卸载后音频驱动还在,那想把音频驱动卸载的话应该如何操作? 或者是您使用录屏软件录制的视频没声音,应该如何操作,是音频插件的问题吗?需要将音频驱动卸载再重新安装吗? 接下来&…

文心一言 VS 讯飞星火 VS chatgpt (99)-- 算法导论9.3 5题

五、用go语言,假设你已经有了一个最坏情况下是线性时间的用于求解中位数的“黑箱”子程序。设计一个能在线性时间内解决任意顺序统计量的选择问题算法。 文心一言: 为了在线性时间内解决任意顺序统计量的选择问题,我们可以使用一个基于快速…

【51单片机】7-LED点阵

1.LED点阵简介 1.什么是LED点阵 1.外观 2.作用 3.内部构造原理图 点阵的优势:就是88个IO口独立控制8*8个LED灯亮灭 2.如何驱动LED点阵--74HC595 2.1 单片机端口直接驱动 要驱动8*8的点阵需要2个IO端口,(16个IO口),…

【Verilog 教程】5.3Verilog带参数实例化

关键词: defparam,参数,例化,ram 当一个模块被另一个模块引用例化时,高层模块可以对低层模块的参数值进行改写。这样就允许在编译时将不同的参数传递给多个相同名字的模块,而不用单独为只有参数不同的多个模…

【RT】什么是对抗攻击 | 视觉跟踪

现在有机会接触一下针对深度学习神经网络的对抗攻击,并做整理如下🤔 对于CV攻防,其实去年12月组会听完就浏览过相关文章👉面向目标检测的对抗样本综述后门防御, NIPS2022 adversarial attack for tracking CVPR2021 | IoU Attack导…

JS的事件循环(Event Loop)

JS的事件循环 本文是我自己对事件循环的理解和总结,不会有太多的理论知识,已经有太多文章写过了,自己搜索下就能找到很多; 同时,文章中的观点仅是本人自己理解,比较白话,不用太较真啊&#xff0…