Python系列学习第二章-Python语言基本语法元素

news2024/11/22 11:46:32

hello,这里是Token_w的文章,主要讲解python的基础学习,希望对大家有所帮助
整理不易,感觉还不错的可以点赞收藏评论支持,感谢!

Python程序说它可以倒背如流,人类的你要不要默写一下保留字来试试?

目录

    • 知识点
    • 知识导图
    • 1、程序的格式框架
      • 1.1 缩进
      • 1.2 注释
    • 2、语法元素的名称
      • 2.1 变量
      • 2.2 命名
      • 2.3 保留字
    • 3、数据类型
      • 3.1 数据类型概述
      • 3.2 数字类型
      • 3.3 字符串
    • 4、程序的语句元素
      • 4.1 表达式
      • 4.2 赋值语句
      • 4.3 引用
      • 4.4 其他语句
      • 4.5 分支语句
      • 4.6 循环语句
    • 5、基本输入输出函数
      • 5.1 input()函数
      • 5.2 eval() 函数
      • 5.3 print()函数
    • 6、实例解析:倒背如流
      • 6.1 实例解析
    • 总结

知识点

  • 程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、数据类型、赋值语句、引用
  • 基本输入输出函数:input()、eval()、print()
  • 源程序的书写风格

知识导图

在这里插入图片描述

1、程序的格式框架

1.1 缩进

  • Python语言采用严格的“缩进”来表明程序的格式框架。缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。
  • 1个缩进 = 4个空格
  • 缩进是Python语言中表明程序框架的唯一手段
  • 当表达分支、循环、函数、类等程序含义时,在if、while、for、def、class等保留字所在完整语句后通过英文冒号(:)结尾并在之后进行缩进,表明后续代码与紧邻无缩进语句的所属关系。
    在这里插入图片描述

1.2 注释

  • 注释是代码中的辅助性文字,会被编译或解释器略去,不被计算机执行,一般用于程序员对代码的说明。Python语言采用#表示一行注释的开始,多行注释需要在每行开始都使用#。
    1.#注释的第一行
    2.#注释的第二行
    3.#注释的第三行
  • Python程序中的非注释语句将按顺序执行,注释语句将被解释器过滤掉,不被执行。注释一般用于在代码中标明作者和版权信息,或解释代码原理及用途,或通过注释单行代码辅助程序调试。

2、语法元素的名称

2.1 变量

  • 变量是保存和表示数据值的一种语法元素,在程序中十分常见。顾名思义,变量的值是可以改变的,能够通过赋值(使用等号=表达)方式被修改,例如:
a = 99
a = a + 1
print(a)
# 100

2.2 命名

  • Python语言允许采用大写字母、小写字母、数字、下划线(_)和汉字等字符及其组合给变量命名,但名字的首字符不能是数字,中间不能出现空格,长度没有限制
  • 注意:标识符对大小写敏感,python和Python是两个不同的名字

2.3 保留字

  • 保留字,也称为关键字,指被编程语言内部定义并保留使用的标识符。
  • 程序员编写程序不能定义与保留字相同的标识符。
  • 每种程序设计语言都有一套保留字,保留字一般用来构成程序整体框架、表达关键值和具有结构性的复杂语义等。
  • 掌握一门编程语言首先要熟记其所对应的保留字。

Python 3.x保留字列表 (33个):
在这里插入图片描述

# 输出python关键字列表
import keyword
print(keyword.kwlist)
len(keyword.kwlist)

3、数据类型

3.1 数据类型概述

  • Python语言支持多种数据类型,最简单的包括数字类型、字符串类型,略微复杂的包括元组类型、集合类型、列表类型、字典类型等。

3.2 数字类型

  • 表示数字或数值的数据类型称为数字类型,Python语言提供3种数字类型:整数、浮点数和复数,分别对应数学中的整数、实数和复数。
  • 一个整数值可以表示为十进制、十六进制、八进制和二进制等不同进制形式。
    十进制: 1010

十六进制:0x3F2

八进制: 0o1762

二进制: 0b001111110010

  • 一个浮点数可以表示为带有小数点的一般形式,也可以采用科学计数法表示。例如:浮点数123.456,两种表示方式如下:
    一般形式: 123.456

科学计数法: 1.23456e2

  • 复数类型与数学中的复数相一致,采用a+bj的形式表示,存在实部和虚部。

3.3 字符串

  • Python语言中,字符串是用两个双引号“ ”或者单引号‘ ’括起来的一个或多个字符。
  • Python字符串的两种序号体系
    在这里插入图片描述
  • 如果字符串长度为L,正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。
print("对酒当歌,人生几何?"[1])
# '酒'
print("对酒当歌,人生几何?"[-1])
# '?'
  • 可以采用[N: M]格式获取字符串的子串,这个操作被形象地称为切片。[N: M]获取字符串中从N到M(但不包含M)间连续的子字符串。
print("对酒当歌,人生几何?"[2:4])
# '当歌'
print("对酒当歌,人生几何?"[5:-2])
# '人生几'
  • 可以通过Python默认提供的len()函数获取字符串的长度,一个中文字符和西文字符的长度都记为1。
print(len("对酒当歌,人生几何?"))
# 10
print(len("Hello World"))

4、程序的语句元素

4.1 表达式

  • 产生或计算新数据值的代码片段称为表达式。表达式类似数学中的计算公式,以表达单一功能为目的,运算后产生运算结果,运算结果的类型由操作符或运算符决定。
  • 表达式一般由数据和操作符等构成,这是构成Python语句的重要部分。

4.2 赋值语句

  • Python语言中,= 表示“赋值”,即将等号右侧的值计算后将结果值赋给左侧变量,包含等号(=)的语句称为“赋值语句”
    <变量> = <表达式>

  • 同步赋值语句:同时给多个变量赋值
    <变量1>, …, <变量N> = <表达式1>, …, <表达式N>

  • 例:将变量x和y交换

  • 采用单个赋值,需要3行语句:

  • 即通过一个临时变量t缓存x的原始值,然后将y值赋给x,再将x的原始值通过t赋值给y。

  • 采用同步赋值语句,仅需要一行代码:
    在这里插入图片描述

4.3 引用

  • Python程序会经常使用当前程序之外已有的功能代码,这个过程叫“引用”。Python语言使用import保留字引用当前程序以外的功能库,使用方式如下:
    import <功能库名称>

  • 引用功能库之后,采用<功能库名称>.<函数名称>()方式调用具体功能。

# 调用turtle库进行绘图操作
import turtle
print(turtle.fd(-200)    #fd()是turtle库中函数)
print(turtle.right(90)   #right()是turtle库中函数)
print(turtle.circle(200) #circle()是turtle库中函数

4.4 其他语句

  • 除了赋值语句外,Python程序还包括一些其他的语句类型,例如,分支语句和循环语句等。更多的分支和循环内容将在后面专题介绍。这里仅简要介绍这两类语句的基本使用。

4.5 分支语句

  • 分支语句是控制程序运行的一种语句,它的作用是根据判断条件选择程序执行路径。分支语句包括:单分支、二分支和多分支。

  • 单分支语句是最简单的分支语句,使用方式如下:
    if <条件>:

    <语句块>

# 判断输入整数是否在[0,100]之间
num = eval(input("请输入一个整数:"))
if 0 <= num <= 100: # 判断[0,100]
    print("输入整数在0到100之间(含)")

4.6 循环语句

  • 循环语句是控制程序运行的一类重要语句,与分支语句控制程序执行类似,它的作用是根据判断条件确定一段程序是否再次执行一次或者多次。循环语句包括遍历循环和条件循环。
    while (<条件>):

    <语句块1>

    <语句块2>

# 输出10到100步长为3的全部整数
n = 10
while n < 100:
    print(n, end=" ")
    n = n + 3

5、基本输入输出函数

5.1 input()函数

  • 获得用户输入之前,input()函数可以包含一些提示性文字
    <变量> = input(<提示性文字>)
a = input("请输入一个小数: ")
# 请输入一个小数: 123.456
print(a) # 此时a是字符串"123.456"
# 123.456

5.2 eval() 函数

  • **eval(<字符串>)**函数是Python语言中一个十分重要的函数,它能够以Python表达式的方式解析并执行字符串,将返回结果输出
a = eval("1.2 + 3.4")
print(a)
# 4.6
  • eval()函数经常和input()函数一起使用,用来获取用户输入的数字,使用方式如下:
    <变量> = eval(input(<提示性文字>))
value = eval(input("请输入要计算的数值: ")) 
# 请输入要计算的数值: 1024.256 
print(value*2)
# 2047.512

5.3 print()函数

  • print()函数用于输出运算结果,根据输出内容的不同,有三种用法。
  • 第一种,仅用于输出字符串,使用方式如下:
print(<待输出字符串>)

print(print("你好,来自江南的你"))
# 你好,来自江南的你
  • 第二种,仅用于输出一个或多个变量,使用方式如下:
    print(<变量1>, <变量2>,…, <变量n>)
value = 123.456
print(value, value, value)
# 123.456 123.456 123.456
  • 第三种,用于混合输出字符串与变量值,使用方式如下:
    print(<输出字符串模板>.format(<变量1>, <变量2>,…, <变量n>))
a, b = 123.456, 1024
print("数字{}和数字{}的乘积是{}".format(a, b, a*b))
# 数字123.456和数字1024的乘积是126417.944
  • 对print()函数的end参数进行赋值
    print(<待输出内容>, end=“<增加的输出结尾>”)
a = 24
print(a, end=".")
# 24.
print(a, end="%")
# 24%

6、实例解析:倒背如流

6.1 实例解析

  • 计算机程序是机械记忆的高手,下面将编写一段程序,获得用户输入,采用倒叙方式将输入内容输出出来。该程序的输入和输出实例如下:
  • 输入:To be or not to be, that’s a question. ——莎士比亚
  • 输出:亚比士莎—— .noitseuq a s’taht ,eb ot tonro eb oT
  • 以下给出了一种实现,采用正向递增序号,利用len()函数将i设为最后一个字符的索引序号,然后逐次输出至第一个字符。
s = input("请输入一段文本:")
i = len(s) - 1
while i >= 0 :
    print(s[i], end="")
    i = i - 1
  • 给出另一种实现,采用反向递减序号,将i首先设置为-1,直接索引最后一个字符,然后逐次输出至第一个字符。
s = input("请输入一段文本:")
i = -1
while i >= -1 * len(s):
    print(s[i], end="")
    i = i - 1

总结

本次具体讲解了初学Python需要知道的一些基本概念,初步介绍了Python基本语法元素,讲解了程序的格式框架、语法元素的名称、数据类型、程序的语句元素、基本输入输出函数等内容,进一步给出了Python源程序书写风格的思考和建议,帮助读者初步建立编写优美程序的基本观念。最后,讲解了“倒背如流”实例,通过完成将一段输入文本倒序输出的功能理解并实践Python基本语法元素。

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

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

相关文章

Android 之 Paint API —— ColorFilter (颜色过滤器) (2-3)

本节引言&#xff1a; 上一节中我们讲解了Android中Paint API中的ColorFilter(颜色过滤器)的第一个子类&#xff1a; ColorMatrixColorFilter(颜色矩阵颜色过滤器)&#xff0c;相信又开阔了大家的Android图像处理视野&#xff0c; 而本节我们来研究它的第二个子类&#xff1a;L…

h5百度地图聚合---切换tab时,聚合不能清除

项目&#xff1a;taro3vue3 描述&#xff1a;切换tab的时候用map.clearOverlays清除&#xff0c;但是地图缩放下聚合又出现了 解决&#xff1a;地图组件监听makers的时候 if (oldVal.length) {map.clearOverlays()markerClusterer.clearMarkers() }

数仓学习---13、报表数据导出

星光下的赶路人star的个人主页 莫见长安行乐处&#xff0c;空令岁月易蹉跎 文章目录 一、报表数据导出1.1 MySQL建库建表1.1.1 创建数据库1.1.2 创建表 1.2 数据导出1.2.1 DataX配置文件生成脚本1.2.2 编写每日导出脚本 一、报表数据导出 为方便报表应用使用数据&#xff0c;需…

解决 cannot execute binary file: Exec format error

问题&#xff1a;cannot execute binary file: Exec format error 解决 cannot execute binary file: Exec format error 原因&#xff1a; "cannot execute binary file: Exec format error" 错误通常发生在尝试执行一个不兼容的二进制文件时。这可能是因为你正在…

python中使用cProfile可视化并解决性能瓶颈问题

大家好&#xff0c;帕累托法则讲到&#xff1a;“在大多数情况下&#xff0c;80%的结果来自于20%的原因。”作为一名程序员&#xff0c;当代码运行速度不尽如人意时&#xff0c;就需要花费大量时间对代码进行相应的重构&#xff0c;但在许多情况下&#xff0c;所得到的速度提升…

【Python入门系列】第十八篇:Python自然语言处理和文本挖掘

文章目录 前言一、Python常用的NLP和文本挖掘库二、Python自然语言处理和文本挖掘1、文本预处理和词频统计2、文本分类3、命名实体识别4、情感分析5、词性标注6、文本相似度计算 总结 前言 Python自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&…

吴恩达ChatGPT《LangChain Chat with Your Data》笔记

文章目录 1. Introduction2. Document Loading2.1 Retrieval Augmented Generation&#xff08;RAG&#xff09;2.2 Load PDFs2.3 Load YouTube2.4 Load URLs2.5 Load Notion 3. Document Splitting3.1 Splitter Flow3.2 Character Splitter3.3 Token Splitter3.4 Markdown Spl…

如何在3ds max中创建可用于真人场景的巨型机器人:第 3 部分

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建腿部装备 步骤 1 打开 3ds Max。 打开在本教程最后一部分中保存的文件。 打开 3ds Max 步骤 2 转到创建> 系统并单击骨骼。 创建>系统 步骤 3 为的 侧视口中的腿&#xff0c;如下图所示…

【C++】开源:Linux端ALSA音频处理库

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Linux端ALSA音频处理库。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c…

12.(开发工具篇vscode+git)vscode 不能识别npm命令

1&#xff1a;vscode 不能识别npm命令 问题描述&#xff1a; 解决方式&#xff1a; &#xff08;1&#xff09;右击VSCode图标&#xff0c;选择以管理员身份运行&#xff1b; &#xff08;2&#xff09;在终端中执行get-ExecutionPolicy&#xff0c;显示Restricted&#xff…

vue2项目迁移到vue3中的改动——基础积累

最近在跟着大神学习vue3的内容&#xff0c;发现之前vue2写的代码可以直接照搬到vue3中&#xff0c;但是有一些需要改动的内容&#xff0c;下面做一下记录。 1.定义对象时&#xff0c;需要指定每个属性值 例如&#xff1a;listQuery:{} 如果使用&#xff1a;listQuery.Filter…

vue3+elementplus后台管理系统,实现侧边栏菜单显示到主内容区域

目录 1 创建页面2 设置路由3 修改首页4 首页的完整代码总结 我们已经使用vue3和elmentplus初步搭建了首页&#xff0c;上一篇中有个问题没解决&#xff0c;就是在侧边栏导航功能里&#xff0c;如果点击菜单希望是在首页打开页面而不是跳转到新页面。以下是我们希望实现的效果 这…

B/B+树算法

B树 基本概述 B树又称多路平衡搜索树。一棵m阶B树&#xff0c;要么是空树&#xff0c;要么满足以下特性&#xff1a; 每个节点最多有m棵子树根节点至少有两棵子树内部节点&#xff08;除根和叶子节点以外的节点&#xff09;至少有⌈m/2⌉棵子树关键字个数比子树个数少1终端节…

字符函数和字符串函数解析及模拟实现

字符函数和字符串函数解析及模拟实现 1. 求字符串长的函数1.1[strlen](https://legacy.cplusplus.com/reference/cstring/strlen/?kwstrlen)1.2 strlen()模拟实现 2. 长度不受限制的字符串函数2.1[strcpy](https://legacy.cplusplus.com/reference/cstring/strcpy/?kwstrcpy)…

数据结构与算法——什么是队列(队列存储结构)

队列&#xff0c;和栈一样&#xff0c;也是一种对数据的"存"和"取"有严格要求的线性存储结构。 与栈结构不同的是&#xff0c;队列的两端都"开口"&#xff0c;要求数据只能从一端进&#xff0c;从另一端出&#xff0c;如下图所示&#xff1a; 通…

vue中使用jsMind生成思维导图 截图功能踩坑

npm i jsmind先安装&#xff0c;再引入 import jsmind/style/jsmind.css import jsMind from jsmind/js/jsmind.js require(jsmind/js/jsmind.draggable.js) require(jsmind/js/jsmind.screenshot.js)正常引入是这样的&#xff0c;然后渲染也没问题 <template><div …

vue 快速自定义分页el-pagination

vue 快速自定义分页el-pagination template <div style"text-align: center"><el-paginationbackground:current-page"pageObj.currentPage":page-size"pageObj.page":page-sizes"pageObj.pageSize"layout"total,prev,…

uni-app中的uni.requireNativePlugin()

这个方法是用来引入原生插件的方法&#xff0c;自 HBuilderX 1.4 版本起&#xff0c;uni-app 支持引入原生插件&#xff0c;使用方式如下&#xff1a; const PluginName uni.requireNativePlugin(PluginName); // PluginName 为原生插件名称 引入插件的类型有三种&#xff1…

(二)RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】

Lison <dreamlison163.com>, v1.0.0, 2023.06.22 RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】 文章目录 RabbitMQ【安装Erlang、安装RabbitMQ 、账户管理、管控台、Docker安装 】**安装Erlang**安装RabbitMQ账户管理管控台Docker安装RabbitM…

添加USB转串口设备驱动-迅为i.MX8M开发板

对于通过 USB 接口访问的模块&#xff0c;在 Linux 内核中集成 USB 驱动程序。我们需要配置内核选中支持 GSM 和 CDMA 模块的 USB 转串口驱动 > Device Drivers -> USB support (USB_SUPPORT [y]) -> USB Serial Converter support (USB_SERIAL [y]) -> USB driver…