Python快速入门系列-2(Python基础语法)

第三章:Python基础语法

    • 3.1 变量与数据类型
      • 3.1.1 变量的定义与赋值
      • 3.1.2 数据类型
      • 3.1.3 类型转换
    • 3.2 注释与缩进
      • 3.2.1 注释
      • 3.2.2 缩进
    • 3.3 条件语句与循环结构
      • 3.3.1 条件语句
      • 3.3.2 循环结构
    • 3.4 函数与模块
      • 3.4.1 函数
      • 3.4.2 参数和返回值
      • 3.4.3 模块
      • 3.4.4 标准库中的模块
      • 3.4.5 自定义模块
    • 总结

在这里插入图片描述

在本章中,我们将深入探讨Python的基础语法,这是学习任何编程语言的基石。我们将从变量和数据类型开始,然后讨论注释、缩进、条件语句和循环结构,最后是函数和模块的使用。这些内容将为你后续的学习打下坚实的基础。

3.1 变量与数据类型

3.1.1 变量的定义与赋值

在Python中,变量是用来存储数据的容器。你可以直接给变量赋值,无需声明类型。Python会根据赋给变量的值自动推断其类型。

# 变量赋值
name = "Kimi"
age = 30
height = 1.75
is_active = True

3.1.2 数据类型

Python支持多种数据类型,包括但不限于:

  • 整数(int
  • 浮点数(float
  • 字符串(str
  • 布尔值(bool
  • 列表(list
  • 元组(tuple
  • 字典(dict
  • 集合(set

你可以使用内置函数type()来查看变量的类型。

# 查看变量类型
print(type(name))  # 输出: <class 'str'>
print(type(age))   # 输出: <class 'int'>
print(type(height)) # 输出: <class 'float'>
print(type(is_active)) # 输出: <class 'bool'>

3.1.3 类型转换

有时你需要将一个数据类型转换为另一个类型。Python提供了几种类型转换函数:

  • int():将值转换为整数
  • float():将值转换为浮点数
  • str():将值转换为字符串
  • bool():将值转换为布尔值
# 类型转换示例
number = "123"
integer_number = int(number)  # 转换为整数
floating_number = float("123.45")  # 转换为浮点数
string_number = str(123)  # 转换为字符串

3.2 注释与缩进

3.2.1 注释

注释是用来解释代码的,它不会被Python解释器执行。注释以#开始,直到行尾的所有内容都会被忽略。

# 这是一个单行注释
print("Hello, World!")  # 这也是一个单行注释"""
这是一个多行注释
它可以跨越多行
"""

3.2.2 缩进

缩进在Python中非常重要,因为它定义了代码块的结构。在Python中,没有大括号{}来定义代码块,而是使用缩进来区分。

if age > 18:print("You are an adult.")
else:print("You are not an adult.")

3.3 条件语句与循环结构

3.3.1 条件语句

条件语句用于基于特定条件执行不同的代码块。Python中的条件语句包括if, elif, 和else

# 条件语句示例
if age >= 18:print("You can vote.")
elif age >= 13:print("You can't vote, but you can work.")
else:print("You can't vote and can't work.")

3.3.2 循环结构

循环结构用于重复执行一段代码。Python支持for循环和while循环。

  • for循环通常用于遍历序列(如列表、元组、字符串)或其他可迭代对象。
# for循环示例
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(fruit)
  • while循环会一直执行,直到给定的条件不再为真。
# while循环示例
counter = 0
while counter < 5:print("Hello, World!")counter += 1

3.4 函数与模块

3.4.1 函数

函数是一段可重用的代码块。在Python中,你可以定义自己的函数,并在需要时调用它。

# 定义一个函数
def greet(name):return f"Hello, {name}!"# 调用函数
print(greet("Kimi"))

3.4.2 参数和返回值

函数可以接受输入(参数)并返回一个值。

# 带参数的函数
def add(a, b):return a + bresult = add(3, 5)
print(result)  # 输出: 8

3.4.3 模块

模块是包含Python定义和声明的文件。你可以导入模块来使用它提供的功能。

# 导入模块
import math# 使用模块中的函数
print(math.sqrt(16))  # 输出: 4.0

3.4.4 标准库中的模块

Python有一个庞大的标准库,提供了许多有用的模块。例如:

  • os:与操作系统交互
  • sys:访问与Python解释器相关的功能和系统级别的参数
  • datetime:处理日期和时间
  • json:处理JSON数据
# 使用标准库中的模块
from datetime import datetime# 获取当前日期和时间
now = datetime.now()
print("Current date and time:", now)

3.4.5 自定义模块

你还可以创建自己的模块。首先,创建一个.py文件,然后在该文件中定义你的函数、类等。之后,你可以在其他Python脚本中导入并使用这些定义。

# 创建一个名为my_module.py的文件,并定义一个函数
def say_hello(name):print(f"Hello, {name}!")# 在另一个脚本中导入并使用自定义模块
from my_module import say_hellosay_hello("Kimi")

在这里插入图片描述

总结

在本章中,我们学习了Python的基础语法,包括变量和数据类型、注释与缩进、条件语句与循环结构以及函数与模块的使用。这些基础知识对于理解更高级的Python概念至关重要。在接下来的章节中,我们将继续深入学习Python的其他特性和应用。现在,你可以尝试编写一些简单的Python程序来巩固你的知识,并准备进入面向对象编程的世界。

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

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

相关文章

链表|142.环形链表

ListNode *detectCycle(ListNode *head) {ListNode *fast head, *slow head;while (fast && fast->next) {// 这里判断两个指针是否相等&#xff0c;所以移位操作放在前面slow slow->next;fast fast->next->next;if (slow fast) { // 相交&#xff0c…

考研复试要想顺利通关,务必掌握的一些问题

亲爱的学弟学妹们&#xff0c;大家好&#xff01; 我是研一的学姐&#xff0c;深知考研路上的艰辛与不易。如今&#xff0c;为了回馈广大考研学子&#xff0c;我决定将自己精心整理的考研复试资料拿出来与大家分享&#xff0c;希望能为你们的复试之路添砖加瓦&#xff0c;助你…

复杂的数据类型如何转成字符串!

1.首先&#xff0c;会调用 valueOf 方法&#xff0c;如果方法的返回值是一个基本数据类型&#xff0c;就返回这个值&#xff0c; 如果调用 valueOf 方法之后的返回值仍旧是一个复杂数据类型&#xff0c;就会调用该对象的 toString 方法&#xff0c; 如果 toString 方法调用之后…

【C语言】linux内核dev_queue_xmit

一、中文注释 这两个函数是Linux内核网络子系统中负责发起网络包&#xff08;sk_buff结构&#xff09;传输的代码。下面我将用中文对这两个函数做一个简单的注释&#xff1a; /*** __dev_queue_xmit - 发送一个buffer* skb: 要发送的buffer* sb_dev: 子设备&#xff0c;用于层…

2023年第三届中国高校大数据挑战赛(第一场)B题思路

竞赛时间 &#xff08;1&#xff09;报名时间&#xff1a;即日起至2024年3月8日 &#xff08;2&#xff09;比赛时间&#xff1a;2024年3月9日8:00至2024年3月12日20:00 &#xff08;3&#xff09;成绩公布&#xff1a;2024年4月30日前 赛题方向&#xff1a;文本或图象分析方…

LeetCode 2834.找出美丽数组的最小和:数学(等差数列求和)——O(1)的做法

【LetMeFly】2834.找出美丽数组的最小和&#xff1a;数学&#xff08;等差数列求和&#xff09;——O(1)的做法 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-the-minimum-possible-sum-of-a-beautiful-array/ 给你两个正整数&#xff1a;n 和 target 。 如果…

【老文新说】C++读取.shp文件

本文目录 1. .shp文件简介2. shp文件格式2.1 文件头2.2 文件记录2.3 多边形的段&#xff08;Part&#xff09; 3. shp文件读写——C3.1 仓库地址3.2 代码结构简介 1. .shp文件简介 shp文件是ESRI(美国环境系统研究所公司)开发的一种用于存储和描述空间数据的文件格式&#xff…

Android打包cannot find symbol import androidx.annotation.NonNull

不知道从什么时候开始 implementation(“androidx.annotation:annotation:1.1.0jar”)会导致打包失败&#xff0c;需要改成 implementation(“androidx.annotation:annotation-jvm:1.7.0jar”) 这样就能解决Android打包类似下面的问题 cannot find symbol import androidx.ann…

12. 建立用户表并使用雪花算法生成用户ID

文章目录 一、建立用户表二、雪花算法生成唯一ID三、将雪花算法整合到我们的项目中 一、建立用户表 上一节我们搭建完了脚手架&#xff0c;从这一节开始&#xff0c;就正式进入到业务逻辑的开发了。首先要开发的就是博客系统的用户注册与登录功能。 既然涉及到用户&#xff0…

必用的10个Python装饰器

装饰器&#xff08;Decorators&#xff09;是Python中一种强大而灵活的功能&#xff0c;用于修改或增强函数或类的行为。装饰器本质上是一个函数&#xff0c;它接受另一个函数或类作为参数&#xff0c;并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的…

Spring MVC RequestMappingHandlerAdapter原理解析

在Spring MVC框架中&#xff0c;RequestMappingHandlerAdapter是一个核心的组件&#xff0c;负责将请求映射到具体的处理器方法上&#xff0c;并调用这些方法来处理请求。其中&#xff0c;invokeHandlerMethod方法是这个适配器中的一个关键方法&#xff0c;它负责实际调用处理器…

XSS靶场-DOM型初级关卡

一、环境 XSS靶场 二、闯关 1、第一关 先看源码 使用DOM型&#xff0c;获取h2标签&#xff0c;使用innerHTML将内容插入到h2中 我们直接插入<script>标签试一下 明显插入到h2标签中了&#xff0c;为什么不显示呢&#xff1f;看一下官方文档 尽管插入进去了&#xff0…

存算一体成为突破算力瓶颈的关键技术?

大模型的训练和推理需要高性能的算力支持。以ChatGPT为例&#xff0c;据估算&#xff0c;在训练方面&#xff0c;1746亿参数的GPT-3模型大约需要375-625台8卡DGX A100服务器训练10天左右&#xff0c;对应A100 GPU数量约3000-5000张。 在推理方面&#xff0c;如果以A100 GPU单卡…

46. 【Linux教程】逻辑卷与 LVM 介绍

本小节介绍 Linux 逻辑卷&#xff0c;若标准分区上面有一个文件系统&#xff0c;想要给这个文件系统添加额外的空间时&#xff0c;可以通过将另外一个硬盘上的分区加入已有文件系统&#xff0c;Linux 中的逻辑卷管理器(LVM)软件包就可以做这个工作。 1. 逻辑卷介绍 LVM 是逻辑…

【Leetcode每日一刷】数组|双指针篇:977. 有序数组的平方、76. 最小覆盖子串(附滑动窗口法详解)

力扣每日刷题 一、977. 有序数组的平方1.1题目1.2、解题思路1.3、代码实现——C 二、76. 最小覆盖子串2.1&#xff1a;题目2.2、解题思路2.3&#xff1a;代码实现——c2.4&#xff1a;易错点 一、977. 有序数组的平方 1.1题目 [题目链接]( 1.2、解题思路 题型&#xff1a;双…

nextjs 12 和 13的区别

Next.js 12和Next.js 13在多个方面存在显著的区别。以下是一些主要的差异点&#xff1a; 1、文件夹架构和路由&#xff1a; 在Next.js 12中&#xff0c;存在名为pages的文件夹&#xff0c;其中包含一些特定命名的文件&#xff0c;如_app.ts。而在Next.js 13中&#xff0c;文件…

词语排列组合

为什么会出现这个&#xff1f; 1. 我们已进入越来越复杂的世界 2. 任何遇见的每一件事情都有复杂度&#xff0c; 3. 从小 > 大&#xff0c;从 弱 > 强&#xff0c;从有限0 > 无限 4. 主要是今天&#xff0c;用查找替换&#xff0c;发现有好多的词语组合 5. 这个词语排…

【银河商学】大蓝短视频学习02——流量突围实战

【银河商学】大蓝短视频学习02——流量突围实战 内容大纲 找对标找准你的"竞争对手" 定形式选定适合你的视频形式 做内容选题决定命运 2s上热门 一、找对标 1. 为什么要找对标 标准答案,少走弯路99%的问题,都有标准答案。 找个懂得人问一问 秒上热门,快速起号预…

思维调试:为什么FormatMessage提示找不到资源?

在不调试的情况下解决下面的问题&#xff0c;说明你的思维调试能力又进阶了。 问题 我在调用 FormatMessage 函数加载一个插入的资源字符串&#xff0c;由于某种未知的原因&#xff0c;它没能按预期那样工作。 我要加载的字符串类似于这样的 “Blah blah blah %1. Blah blah …

QT中结构体和QbyteArray的转换,可加帧头帧尾

demo源码&#xff1a; #include <QApplication> #include <QDebug> #include <QByteArray>// 头 typedef struct tagEXT_HEADER {unsigned short type 0x5642; }EXT_HEADER;// 数据包格式 typedef struct tagMsgFormat {EXT_HEADER heade…