【Python入门】第1节 基础语法

📖第1节 基础语法

    • ✅字面量
    • ✅注释
    • ✅变量
    • ✅数据类型
      • 🧊数据类型转换
    • ✅标识符
    • ✅运算符
    • ✅字符串扩展
      • 🧊字符串的三种定义方式
      • 🧊字符串拼接
      • 🧊字符串格式化
      • 🧊格式化的精度控制
      • 🧊字符串格式化方式2
      • 🧊对表达式进行格式化
    • ✅数据输入

✅字面量

字面量:在代码中,被写下来的固定的值,称之为字面量

Python中常用的有6种值(数据)的类型:

类型描述说明
数字(Number)支持 •整数(int) •浮点数(float) •复数(complex) •布尔(bool)整数(int),如:10、-10
浮点数(float),如:13.14、-13.14
复数(complex),如:4+3j,以j结尾表示复数
布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。 True本质上是一个数字记作1,False记作0
字符串(String)描述文本的一种数据类型字符串(string)由任意数量的字符组成
列表(List)有序的可变序列Python中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple)有序的不可变序列可有序记录一堆不可变的Python数据集合
集合(Set)无序不重复集合可无序记录一堆不重复的Python数据集合
字典(Dictionary)无序Key-Value集合可无序记录一堆Key-Value型的Python数据集合

✅注释

  1. 了解注释的作用
  • **注释:**在程序代码中对程序代码进行解释说明的文字。

  • **作用:**注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性

  1. 能够使用单行注释(#开头)和多行注释(一对三个双引号 引起)
# 我是单行注释"""我是多行注释哈哈哈呵呵呵
"""

✅变量

  • 变量是什么,有什么作用?
  • 变量的定义格式是?
  • 变量的特征是?

变量:在程序运行时,能储存计算结果或能表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的

变量的定义格式:

image-20240813233509861

变量,从名字中可以看出,表示“量”是可变的。所以,变量的特征就是,变量存储的数据,是可以发生改变的。

为什么必须要使用变量?都是输出内容,直接输出不行吗?

变量的目的是存储运行过程的数据存储的目的是为了:重复使用

总结:

  1. 变量是什么,有什么作用?

​ 变量就是在程序运行时,记录数据用的

  1. 变量的定义格式是?

​ 变量名 = 变量值

  1. 变量的特征是?

​ 变量的值可以改变

✅数据类型

  • 掌握使用type()语句查看数据的类型
  • 理解变量无类型而数据有类型的概念

在字面量的时候,我们了解到数据是有类型的。

在入门阶段接触最多的就是下面三类数据类型

类型描述说明
string字符串类型用引号引起来的数据都是字符串
int整型(有符号)数字类型,存放整数 如 -1,10, 0 等
float浮点型(有符号)数字类型,存放小数 如 -3.14, 6.66

我们可以通过==type()==语句来得到数据的类型:
**语法:**type(被查看类型的数据)

type()语句的使用方式:

1.在print语句中,直接输出类型信息:

image-20240813234950534

2.用变量存储type()的结果(返回值):

image-20240813235011462

变量有类型吗?

我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?
查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。

我们可能会说:字符串变量但要知道,不是变量是字符串,而是它存储了:字符串

字符串类型的不同定义方式:

  • 双引号定义法:“字符串”

  • 单引号定义法 :‘字符串’

  • 三引号定义法:“”“字符串”“”

🧊数据类型转换

  • 掌握如何在字符串、整数、浮点数之间进行相互转换

  • 了解转换的注意事项

为什么要转换类型?

数据类型转换,将会是我们以后经常使用的功能,常用情况如下:

  • 从文件中读取的数字,默认是字符串,我们需要转换成数字类型

  • 后续学习的input()语句,默认结果是字符串,若需要数字也需要转换

  • 将数字转换成字符串用以写出到外部系统

  • 等等,用途很多

常见的转换语句:

语句(函数)说明
int(x)将x转换为一个整数
float(x)将x转换为一个浮点数
str(x)将对象 x 转换为字符串

这三个语句,都是带有结果的(返回值),我们可以用print直接输出或用变量存储结果值。

类型转换注意事项:

类型转换不是万能的,毕竟强扭的瓜不会甜,我们需要注意:

  1. 任何类型,都可以通过str(),转换成字符串

  2. 字符串内必须真的是数字,才可以将字符串转换为数字

image-20240813235925654

总结:

  • 字符串、整数、浮点数类型转换的语句是? int(x) 、float(x) 、 str(x)
  • 任何类型都可以转换成字符串?对
  • 字符串可以随意转换成数字?不,前提里面必须有数字
  • 浮点数转整数会丢失什么?丢失精度,也就是小数部分

✅标识符

  • 理解什么是标识符
  • 掌握标识符的命名规则
  • 掌握变量的命名规范

什么是标识符?

编写程序时,定义的一系列名字就是标识符,用来做内容的标识,给变量、类、方法等命名。比如:

  • 变量的名字
  • 方法的名字
  • 类的名字,等等

标识符命名规则:

  • 内容限定
  • 大小写敏感
  • 不可使用关键字
  1. 内容限定就是说标识符命名中,只允许出现四类元素:英文、中文、数字、下划线(_)。其余任何内容都不被允许。

​ 注意:不推荐使用中文;数字不可以开头

  1. 大小写敏感就说A和a是完成区分的,比如apple和Apple是不用的变量.

  2. 不可使用的关键字有如下:

image-20240814001512594

所谓不可使用的关键字就是有特定用途,我们不可以使用它们作为标识符,这个很好理解,比如生活中有些特殊号码是不能被使用的,像110、120、119、122等具有特殊意义。

image-20240814001701407

变量命名规范:

不同的标识符,有不同的规范。我们目前只接触到了:

变量名和函数名:

  • 见名知意,使用小写字母和下划线分隔单词(即“下划线命名法”)。例如 my_variable、calculate_sum()。

类名

  • 使用“驼峰命名法”,即每个单词的首字母大写,不使用下划线。例如 MyClass、DataProcessor。

常量:

  • 使用全大写字母,并用下划线分隔单词。例如 MAX_VALUE、DEFAULT_TIMEOUT。

模块名和包名

  • 使用小写字母,建议使用简单的单词或短语来命名。例如 mathutils
  • 如果模块名由多个单词组成,可以使用下划线分隔,例如 my_module

私有变量和方法

  • 使用单下划线前缀(_)表示该变量或方法是内部使用的,属于“非公开”部分。例如 _private_var_helper_function()
  • 使用双下划线前缀(__)进行名称重整,防止子类重写。例如 __private_method()

特殊方法

  • 双下划线前缀和后缀用于 Python 的特殊方法(也称为魔术方法),如 __init__()__str__()。这些方法用于实现类的特定行为或接口。

✅运算符

  • 算术(数学)运算符
  • 赋值运算符
  • 复合赋值运算符

算术(数学)运算符

运算符描述实例
+两个对象相加 a + b 输出结果 30
-得到负数或是一个数减去另一个数 a - b 输出结果 -10
*两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/b / a 输出结果 2
//取整除返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
%取余返回除法的余数 b % a 输出结果 0
**指数a**b 为10的20次方, 输出结果 100000000000000000000

赋值运算符

运算符描述实例
=赋值运算符把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7

复合赋值运算符

运算符描述实例
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c **= a 等效于 c = c ** a
//=取整除赋值运算符c //= a 等效于 c = c // a

✅字符串扩展

🧊字符串的三种定义方式

  • 双引号定义法:name = “字符串”

  • 单引号定义法 :name = ‘字符串’

  • 三引号定义法:name = “”“字符串”“”

注意:引号的嵌套

  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转移字符(\)来将引号解除效用,变成普通字符串

🧊字符串拼接

使用“+”号连接字符串变量或字符串字面量即可。

注意:无法和非字符串类型进行拼接

🧊字符串格式化

  • 掌握通过占位的形式拼接字符串(字符串格式化)

语法:"%占位符" % 变量

使用%s来占位,% 表示我要占位,s 表示将变量变成字符串放入占位的地方:

image-20240815231944706

image-20240815231908810

**注意:**数字也能用%s占位,会自动转换成字符,多个变量占位,变量要用括号括起来,并按照占位的顺序填入

Python中,其实支持非常多的数据类型占位,最常用的是如下三类:

格式符号转化
%s将内容转换成字符串,放入占位位置
%d将内容转换成整数,放入占位位置
%f将内容转换成浮点型,放入占位位置

image-20240815232101896

🧊格式化的精度控制

  • 掌握格式化字符串的过程中做数字的精度控制

如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位:

image-20240815232424773

发现结果浮点数19.99,变成了19.990000输出。

可以使用辅助符号"m.n"来控制数据的宽度和精度:

  • m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
  • .n,控制小数点精度,要求是数字,会进行小数的四舍五入

示例:

  • %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度。
  • %5.2f:表示将宽度控制为5,将小数点精度设置为2
  • %.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35

image-20240815233256084

🧊字符串格式化方式2

语法:f "{变量} {变量}"的方式进行快速格式化

image-20240815233428259

优点:可以快速更优雅的进行字符串格式化

缺点:不能进行精度控制

所以适用于快速格式化字符串且不做精度控制。

🧊对表达式进行格式化

对于字符串格式化,还可以直接格式化一个表达式

语法:

  • f"{表达式}"
  • “%s%d%f” % (表达式、表达式、表达式)

image-20240815234003184

✅数据输入

  • 掌握input语句(函数)的使用:获取键盘输入的数据

注意:无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型

image-20240815234425591


在这里插入图片描述

📖入门思维导图

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

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

相关文章

Windows bat脚本学习六(十六进制与十进制互转)

一、十六进制转十进制 十六进制数转十进制数相对比较简单,可以直接通过0x来实现。 见如下代码: echo off chcp 65001set taaset /a hex0x%t% echo data%hex%pause 结果: 二、十进制转十六进制 这个转化比较麻烦,没有简便的方式转…

通过 GitHub Actions 执行数据库 Schema 变更工作流

原文地址 https://www.bytebase.com/docs/tutorials/github-ci/ 教程库:https://github.com/bytebase/github-action-example 开发者们喜欢将 Schema 变更脚本与应用程序代码一起保存在 Git 中,这样变更脚本就能像应用程序代码一样接受审核和版本控制&…

哪款直流电能表可在电信基站、直流充电桩、太阳能光伏用

安科瑞徐赟杰18706165067 在电信基站、直流充电桩、太阳能光伏等应用场合中,可使用DJSF1352-RN导轨式直流电能表,此表带有双路直流输入,该系列仪表可测量直流系统中的电压、电流、功率以及正反向电能等。可计量总电能,又可计量规…

ev录屏损坏修复

ev录屏应该不正常关闭,录屏损坏 淘宝买了一个软件,修复成功,需找一个当时时间段的正常录屏学习,然后高级修复。整体花费5毛钱

记录一下idea的一些使用技巧和遇到的异常(持续更新)

技巧 自己的模板——live template 有些代码在项目中通常会被用到或会被重复使用,可以自己写一个模板存起来,要用的时候用快捷键生成就可以了。 在这里选择生效范围 现在,就有我们自己的模板了,一回车就自动生成 idea的全局配置…

人工智能 | 结对编程助手GithubCopilot

简介 GitHub Copilot 是一款 AI 结对程序员,可帮助您更快、更少地编写代码。它从注释和代码中提取上下文,以立即建议单独的行和整个函数。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。它可作为 Visual Studio Code、…

win系统安装mysql,使用mysqldump,pycharm使用mysqldump,避坑

文章目录 下载mysql的win客户端设置系统环境变量验证是否可用pycharm使用mysqldump异常问题排查 下载mysql的win客户端 官网下载地址如果下载旧版本,需自行到Archives里面找 本人使用的是mysql5.7,找到相应版本后,点击Download下载 设置系统…

[Java]SpringBoot登录认证流程详解

登录认证 登录接口 1.查看原型 2.查看接口 3.思路分析 登录核心就是根据用户名和密码查询用户信息,存在则登录成功, 不存在则登录失败 4.Controller Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;/*** 登录的方法** param …

数仓基础(七):离线与实时数仓区别和建设思路

文章目录 离线与实时数仓区别和建设思路 一、离线数仓与实时数仓区别 二、实时数仓建设思路 离线与实时数仓区别和建设思路 一、离线数仓与实时数仓区别 离线数据与实时数仓区别如下: 对比方面 离线数仓 实时数仓 架构选择 传统大数据架构 Kappa架构 建设…

数据结构(Java)实现:栈和队列

文章目录 1. 栈的模拟实现1.1 普通栈的模拟实现1.2 泛型栈的模拟实现 2. 栈的介绍3. 栈的使用4. 栈的应用场景4.1 改变元素的序列4.2 将递归转换为循环4.3 使用栈解题 5. 栈的链表实现6. 队列概念7. 队列的使用8. 模拟队列的实现8.1 链式队列8.2 顺序队列 9. 双端队列 1. 栈的模…

Python编码系列—Python中的安全密码存储与验证:实战指南

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

livox MID-360调试(解决ip设置问题)

整体的调试思路参考大疆Livox Mid360 使用指南_mid360中的imu内参-CSDN博客这篇博客。 但是在调试过程中出现了ip地址设置不对导致的报错: 1.livox viewer中看不到点云数据 2.livox SDK2 bind error。 joeyjoey:~/slam/Livox-SDK2/build/samples/livox_lidar_qu…

基于PLC的电热水器的水箱水位控制系统(论文+源码)

1总体方案设计 本设计基于PLC的电热水器的水箱水位控制系统的整体结构如图2.1所示,系统采用S7-1200 PLC为控制器,可以实现电热水器水箱中的水位、水温检测,并且用户可以设定目标水位和水温,在自动模式下,当水位低于低水…

mysql 8.0 的 建表 和八种 建表引擎实例

文章目录 MySQL 8.0 中,主要有以下四种常见的建表引擎一、InnoDB 引擎建表注意点建表知识点 二、MyISAM 引擎建表使用场景 三、Memory 引擎使用场景 四、Archive 引擎五、BLACKHOLE 引擎一、特点二、适用场景三、注意事项 六、MRG_MyISAM 引擎MRG_MyISAM 和 MyISAM …

uniapp组件中的emit声明触发事件

emit解析 在 uniapp 中,emit 主要用于组件间通信,特别是在子组件需要向父组件或者其他组件发送消息的时候。具体用途包括: 子传父数据:子组件通过 $emit 触发一个事件,并携带参数,父组件监听这个事件并对参…

Oracle 网络安全产品安全认证检索

自2023年7月1日起,国家网信办、工业和信息化部、公安部、国家认证认可监督管理委员会统一公布和更新网络关键设备和网络安全专用产品清单。列入《网络关键设备和网络安全专用产品目录》的网络安全专用产品应当按照《信息安全技术网络安全专用产品安全技术要求》等相…

笔记:应用Visual Studio Profiler分析CPU使用情况

一、目的:应用Visual Studio Profiler分析CPU使用情况 使用 Visual Studio Profiler 分析 CPU 使用情况可以帮助你识别性能瓶颈,优化代码,提高应用程序的响应速度。 二、实现 以下是如何使用 Visual Studio Profiler 分析 CPU 使用情况的详…

保存json时,保存成自己喜欢的格式的方法(而不是直接保存成格式化的json文档)

保存json时,不是直接保存成格式化的json文档的格式的方法 前言,博主是如何把格式话的json格式保存成自己喜欢的json格式的保存成格式化的json文档的格式:带缩进格式全部保存成一行每条数据保存成一行: 保存成自己喜欢的格式碎碎念…

Hadoop之HDFS的原理和常用命令及API(java)

1、简介 书接上回,上篇博文中介绍如何安装Hadoop和基本配置,本文介绍Hadoop中分布式文件组件--HDFS,在HDFS中,有namenode、datanode、secondnamenode这三个角色,本文将详细介绍这几个组件是如何进行协作的,…

【数据结构 | 每日一题】图的概念辨析

图的概念辨析 考点分析:我们学习数据结构图的第一小节就是:图的基本概念,我们会发现图的概念非常多且有些概念之间又很像,而对于初学者来说,相比树的概念是不好理解的,很容易搞混,因此做了这么…