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

news2024/12/23 4:03:48

📖第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.coloradmin.cn/o/2083822.html

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

相关文章

equals与== 区别,全面总结如何使用(Java)

先理解JVM内存模型 虚拟机栈:JVM 运行过程中存储当前线程运行方法所需的数据, 指令、 返回地址本地方法栈:Java程序自动调用底层C/C函数库程序计数器:当前线程执行的字节码的行号指示器堆:存放我们申请的对象&#xff…

【Python 千题 —— 基础篇】入门异常处理

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 编写一个程序,要求在处理用户输入时捕获各种异常情况,并为每种异常提供相应的处理方式。具体要求如下: 定义一个函数 divide_numbers(),它接…

php mail函数配置SMTP服务器发邮件的指南!

php mail函数安全性考虑?PHP mail()函数漏洞利用技巧? 在使用PHP进行开发时,发送邮件是一个常见的需求。使用php mail函数配置SMTP服务器发邮件,则是实现这一需求的有效途径。AokSend将详细探讨如何通过php mail函数来配置SMTP服…

Density-invariant Features for Distant Point Cloud Registration 论文解读

目录 一、导言 二、先导知识 1、FCGF 三、相关工作 1、深度学习的点云配准 2、对抗密度变化的方法 3、对比学习 四、GCL方法 1、U型曲线假设 一、导言 该论文来自于ICCV2023,上海交通大学提出的基于组对比学习的方案,来提取密度不变的几何特征&…

【终端IDPS】开源安全平台Wazuh之Wazuh Server

引言 Wazuh是一个开源的、免费的企业级安全监控解决方案,专注于威胁检测、完整性监控、事件响应和合规性。它由部署在受监控系统的端点安全代理和管理服务器组成,服务器收集并分析代理收集的数据。Wazuh支持多平台,包括Windows、Linux、macOS…

Linux学习笔记4 重点!网络排障命令

网络排障命令 命令行下载工具wget wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.20.17.tar.gz wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.20.17.tar.gz 限速下载 wget --limit-rate1M https://mirrors.edge.kernel.or…

【已解决】Vue Duplicate keys detected: ‘[object Object]’

【已解决】Vue Duplicate keys detected: ‘[object Object]’ 在Vue项目开发过程中,我们可能会遇到这样的报错:“Duplicate keys detected: ‘[object Object]’. This may cause an update error.”。这个错误通常发生在Vue的虚拟DOM进行渲染更新时&a…

上书房信息咨询:医疗满意度调研

随着人们生活水平的不断提高,医疗服务的需求日益增长。近期,上书房信息咨询受托完成了某市医疗市场的满意度调研,旨在深入了解市民对医疗服务的评价和需求,为提升医疗服务质量提供有力支持。 近年来,某市致力于推进医…

鸿蒙ArkTS语言学习(五):扩展(函数)@Extend@Styles@Builder

如何实现结构、样式复用呢? Extend:扩展组件(样式、事件) 作用:将相同组件复用的属性结构抽取封装,将不同的结构通过传入参数进行修改。 1. 定义语法 Extend(组件名) function 函数名{ ... } 2. 调用 组件…

一起学习LeetCode热题100道(60/100)

60.单词搜索(学习) 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那…

selenium消除启动特征避免被反爬-使用已经打开的浏览器

selenium消除启动特征避免被反爬 启动特征很多,如何消除selenium启动特征呢?这个也是因站而异,如果规避常规的检测,做到以下2点就可以。 1 是消除window.navigator.webdriver的值; 2 是修改chromedriver.exe的源码…

鸿蒙开发 数组改变,ui渲染没有刷新

问题描述: 数组push, 数组长度改变,ui也没有刷新 打印出了数组 console.log(this.toDoData.map(item > ${item.name}).join(, ), this.toDoData.length) 原代码: Text().fontSize(36).margin({ right: 40 }).onClick(() > {TextPicker…

在SpringBoot项目中使用多线程(配合线程池)加快从MySQL导入数据到ElasticSearch的速度

文章目录 1. 准备工作1.1 索引库1.2 建表1.3 实体类1.3.1 item.java1.3.2 itemDocument.java 1.4 编写配置文件1.5 编写 Mapper 类和 Service 类 2. 没有使用多线程的情况2.1 编码2.2 测试结果 3. 使用多线程(配合线程池)的情况3.1 自定义类,…

EM-7肽;EM-7-NH2;CAS:289632-61-7

【EM-7 简介】 EM-7,也被称为EM-7-NH2,其化学名称为[D-Glu5,D-Trp7,9,10]-Substance P (5-11),分子式为C57H66N12O10S,分子量为1111.273。 【中文名称】(D-谷氨酰 5,D-色氨酰 7,9,10)-物质 P (5-11) 【英文名称】(D-Glu5,D-Trp7…

openlayers+vite+vue3实现规划某一特定行政区(二)

在前一期实现离线地图初始化的基础上,本文中主要阐述如何实现规划某一特定行政区,并展示其行政区的区县名称。 提示:因前文中阐述了如何实现离线地图的初始化,所以在此不再进行书写并详解初始化的过程和流程,如有不明…

Task-Embedded Control Networks for Few-Shot Imitation Learning

发表时间:CoRL 2018 论文链接:https://readpaper.com/pdf-annotate/note?pdfId4500197057754718210&noteId2424798567891365120 作者单位:Imperial College London Motivation:就像人类一样,机器人应该能够利用来…

力扣经典题目之->另一颗树的子树(subRoot是否是root的子树)

一:题目 本题需要用到力扣经典题目之->相同的树(递归判断两颗二叉树是否相同)-CSDN博客 中的isSameTree,直接cv即可。 二:代码 三:解释 第一个函数: 力扣经典题目之->相…

模型 分形理论

系列文章 分享 模型,了解更多👉 模型_思维模型目录。自相似,无限细节。 1 分形理论的应用 1.1 字节跳动的分形创新增长引擎 字节跳动作为一家全球领先的科技公司,其快速的发展和创新能力在业界引起了广泛关注。公司通过分形创新…

大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

使用myAGV、Jetson Nano主板和3D摄像头,实现了RTAB-Map的三维建图功能!

引言 在现代机器人技术中,高精度的环境感知与建图是实现自主导航的关键。本文将展示如何使用myAGV Jetson Nano移动平台搭载Jetson Nano BO1主板,结合RTAB-Map和3D相机,实现更加立体和细致的环境建图。myAGV Jetson Nano具备SLAM雷达导航功能…