Datawhale聪明办法学Python(task3变量与函数)

一、课程基本结构

课程开源地址:课程简介 - 聪明办法学 Python 第二版

章节结构:

Chapter 0 安装 Installation
Chapter 1 启航 Getting Started
Chapter 2 数据类型和操作 Data Types and Operators
Chapter 3 变量与函数 Variables and Functions
Chapter 4 条件 Conditionals
Chapter 5 循环 Loop
Chapter 6 字符串 Strings

二、跟着视频学一点

本节课主要学习Python中的变量和函数,以及变量赋值和数据类型等内容。

一、变量

在Python中,变量是用来存储数据的容器,可以存储各种类型的数据,如数字、字符串、列表、元组、字典等。Python中的变量不需要事先声明,只需要直接赋值即可。例如:

x = 10 y = "Hello, World!"

在上面的代码中,我们分别定义了两个变量x和y,一个存储整数类型的数据,一个存储字符串类型的数据。Python中的变量名可以包含字母、数字和下划线,但是不能以数字开头。

Python中的变量赋值是一种动态的过程,变量的类型可以根据赋值的数据类型自动推断出来。例如:

x = 10 print(type(x)) # 输出<class 'int'> x = "Hello, World!" print(type(x)) # 输出<class 'str'>

在上面的代码中,我们先将变量x赋值为整数类型的数据10,然后输出变量x的类型,结果为int。接着,我们将变量x赋值为字符串类型的数据"Hello, World!",然后再次输出变量x的类型,结果为str。可以看到,Python中的变量类型是可以动态变化的。

二、函数

在Python中,函数是一种封装了一定功能的代码块,可以重复使用。Python中的函数定义使用关键字def,语法如下:

def function_name(parameters): # 函数体 return value

其中,function_name是函数名,parameters是函数的参数列表,函数体是函数的具体实现,return语句用于返回函数的结果。

例如,下面是一个简单的函数,用于计算两个数的和:

def add(x, y): result = x + y return result

在上面的代码中,我们定义了一个名为add的函数,它有两个参数x和y,函数体中计算了x和y的和,并将结果返回。

在Python中,函数的参数可以分为两种类型:位置参数和关键字参数。位置参数是指按照参数的位置进行传递的参数,例如:

def greet(name, age): print("Hello, my name is", name, "and I am", age, "years old.") greet("Alice", 25)

在上面的代码中,我们定义了一个名为greet的函数,它有两个位置参数name和age,函数体中输出了一句问候语。然后我们调用了这个函数,并传递了两个参数"Alice"和25,这两个参数按照位置进行传递。

关键字参数是指按照参数名进行传递的参数,例如:

def greet(name, age): print("Hello, my name is", name, "and I am", age, "years old.") greet(age=25, name="Alice")

在上面的代码中,我们定义了一个名为greet的函数,它有两个关键字参数name和age,函数体中输出了一句问候语。然后我们调用了这个函数,并使用关键字参数进行传递,这样可以不按照参数的位置进行传递,而是按照参数名进行传递。

三、变量赋值和数据类型

在Python中,变量赋值是一种非常重要的操作,它可以将数据存储到变量中,以便后续使用。Python中的变量赋值有以下几种方式:

直接赋值

直接赋值是最常见的一种方式,例如:

插入代码复制代码

x = 10 y = "Hello, World!"

在上面的代码中,我们分别将变量x和y直接赋值为整数类型的数据10和字符串类型的数据"Hello, World!"。

多重赋值

多重赋值是一种非常方便的方式,可以同时给多个变量赋值,例如:

x, y, z = 10, 20, 30

在上面的代码中,我们同时给变量x、y和z赋值为整数类型的数据10、20和30。

序列解包

序列解包是一种非常灵活的方式,可以将一个序列中的元素分别赋值给多个变量,例如:

a, b, c = [1, 2, 3]

在上面的代码中,我们将列表[1, 2, 3]中的元素分别赋值给变量a、b和c。

在Python中,数据类型是非常重要的概念,它决定了变量可以存储的数据类型。Python中的数据类型包括整数、浮点数、字符串、列表、元组、字典等。下面是一些常见的数据类型及其使用方法:

整数

整数是Python中最基本的数据类型之一,用于存储整数类型的数据。例如:

x = 10 y = -20

在上面的代码中,我们分别将变量x和y赋值为整数类型的数据10和-20。

浮点数

浮点数是Python中用于存储小数类型的数据,例如:

x = 3.14 y = -2.5

在上面的代码中,我们分别将变量x和y赋值为浮点数类型的数据3.14和-2.5。

字符串

字符串是Python中用于存储文本类型的数据,例如:

x = "Hello, World!" y = 'Python is awesome!'

在上面的代码中,我们分别将变量x和y赋值为字符串类型的数据"Hello, World!"和"Python is awesome!"。

列表

列表是Python中用于存储一组数据的数据类型,可以存储任意类型的数据,例如:

x = [1, 2, 3, 4, 5] y = ["apple", "banana", "cherry"]

在上面的代码中,我们分别将变量x和y赋值为列表类型的数据[1, 2, 3, 4, 5]和["apple", "banana", "cherry"]。

元组

元组是Python中用于存储一组数据的数据类型,与列表类似,但是元组是不可变的,即不能修改元组中的元素,例如:

x = (1, 2, 3, 4, 5) y = ("apple", "banana", "cherry")

在上面的代码中,我们分别将变量x和y赋值为元组类型的数据(1, 2, 3, 4, 5)和("apple", "banana", "cherry")。

字典

字典是Python中用于存储键值对数据的数据类型,例如:

x = {"name": "Alice", "age": 25, "city": "New York"} y = {"brand": "Ford", "model": "Mustang", "year": 1964}

在上面的代码中,我们分别将变量x和y赋值为字典类型的数据{"name": "Alice", "age": 25, "city": "New York"}和{"brand": "Ford", "model": "Mustang", "year": 1964}。

四、拓展知识

变量作用域

在Python中,变量的作用域是非常重要的概念,它决定了变量在哪些地方可以被访问。Python中的变量作用域分为全局作用域和局部作用域。全局作用域是指在整个程序中都可以访问的变量,局部作用域是指只能在函数内部访问的变量。例如:

x = 10 # 全局变量 def my_func(): y = 20 # 局部变量 print(x) # 可以访问全局变量x print(y) # 可以访问局部变量y my_func() print(x) # 可以访问全局变量x print(y) # 不能访问局部变量y

在上面的代码中,我们定义了一个全局变量x和一个函数my_func,在函数内部定义了一个局部变量y。在函数内部,我们可以访问全局变量x和局部变量y,但是在函数外部,我们只能访问全局变量x,不能访问局部变量y。

匿名函数

在Python中,可以使用lambda关键字定义匿名函数,例如:

add = lambda x, y: x + y print(add(10, 20)) # 输出30

在上面的代码中,我们使用lambda关键字定义了一个匿名函数,它有两个参数x和y,函数体中计算了x和y的和,并将结果返回。然后我们将这个匿名函数赋值给变量add,并调用它,输出结果为30。

内置函数

Python中有很多内置函数,可以直接使用,例如:

print(abs(-10)) # 输出10 print(max(1, 2, 3, 4, 5)) # 输出5 print(min(1, 2, 3, 4, 5)) # 输出1

在上面的代码中,我们分别使用了内置函数abs、max和min,它们分别用于计算绝对值、最大值和最小值。

三、章节总结

本文介绍了Python中的变量和函数,以及变量赋值和数据类型等内容。在Python中,变量是用来存储数据的容器,可以存储各种类型的数据,函数是一种封装了一定功能的代码块,可以重复使用。Python中的变量赋值有多种方式,数据类型包括整数、浮点数、字符串、列表、元组、字典等。在我们日常实际开发中,变量作用域、匿名函数和内置函数等也是非常重要的概念,需要深入学习和掌握。刚好又是压点打卡,这周下来都很充实,下周继续努力。

四、作业打卡

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NE555芯片

首先看一下NE555芯片的实物图以及电路符号&#xff0c;如下图所示。 NE555是使用很广泛且很受欢迎的芯片之一。上到航空航天火箭&#xff0c;下到电子玩具都能看到它的身影。 下图是它的内部结构图&#xff0c;可以更快的去学习并且上手使用这个芯片。最上面是3个5k的电阻&am…

javaEE -17(13000字 CSS3 入门级教程)

一&#xff1a;CSS3 简介 CSS3 是 CSS2 的升级版本&#xff0c;它在 CSS2 的基础上&#xff0c;新增了很多强大的新功能&#xff0c;从而解决一些实际面临的问题&#xff0c;CSS3 在未来会按照模块化的方式去发展&#xff1a;https://www.w3.org/Style/CSS/current-work.html …

DS八大排序之冒泡排序和快速排序

前言 前两期我们已经对"插入排序"&#xff08;直接插入排序和希尔排序&#xff09; 和 "选择排序"&#xff08;直接选择排序和堆排序&#xff09;进行了详细的介绍~&#xff01;这一期我们再来详细介绍一组排序 &#xff1a;"交换排序"即耳熟能…

k8s-1.23版本安装

一、主机初始化 1、修改主机名 hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node32、主机名解析 echo 192.168.1.200 master >> /etc/hosts echo 192.168.1.201 node1 >>…

普冉(PUYA)单片机开发笔记(10): I2C通信-配置从机

概述 I2C 常用在某些型号的传感器和 MCU 的连接&#xff0c;速率要求不高&#xff0c;距离很短&#xff0c;使用简便。 I2C的通信基础知识请参见《基础通信协议之 IIC详细讲解 - 知乎》。 PY32F003 可以复用出一个 I2C 接口&#xff08;PA3&#xff1a;SCL&#xff0c;PA2&a…

时序预测 | Python实现XGBoost电力需求预测

时序预测 | Python实现XGBoost电力需求预测 目录 时序预测 | Python实现XGBoost电力需求预测预测效果基本描述程序设计参考资料预测效果 基本描述 该数据集因其每小时的用电量数据以及 TSO 对消耗和定价的相应预测而值得注意,从而可以将预期预测与当前最先进的行业预测进行比较…

linux redis-cluster ipv6方式

配置文件&#xff0c;具体字段的含义&#xff0c;可以参考其他文档。 1.单个文件的配置信息 redis_36380.conf requirepass Paas_2024port 36380tcp-backlog 511timeout 0tcp-keepalive 300daemonize yessupervised nopidfile /data/paas/apps/aicache-redis/redis_36380.p…

MyBatis Plus 大数据量查询优化

大数据量操作的场景大致如下&#xff1a; 数据迁移 数据导出 批量处理数据 在实际工作中当指定查询数据过大时&#xff0c;我们一般使用分页查询的方式一页一页的将数据放到内存处理。但有些情况不需要分页的方式查询数据或分很大一页查询数据时&#xff0c;如果一下子将数…

阿里5年经验之谈 —— 浅谈自动化测试方法!

导读 在当今快节奏的软件开发环境中&#xff0c;高质量的代码交付至关重要。而针对经过多次迭代&#xff0c;主要功能趋向稳定的产品&#xff0c;大量传统的重复性手动测试方法已经无法满足高效、快速的需求。为了提高测试效率保证产品质量&#xff0c;本文通过产品实践应用&a…

LeetCode(66)二叉树的最大深度【二叉树】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 二叉树的最大深度 1.题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7]…

DS考研真题总结——客观题(1)

开始整理真题中的客观小题&#xff0c;至于和算法有关的大题统一最后整理~ 定义背诵&#xff1a;数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效…

C语言----文件操作(二)

在上一篇文章中我们简单介绍了在C语言中文件是什么以及文件的打开和关闭操作&#xff0c;在实际工作中&#xff0c;我们不仅仅是要打开和关闭文件&#xff0c;二是需要对文件进行增删改写。本文将详细介绍如果对文件进行安全读写。 一&#xff0c;以字符形式读写文件&#xff…

JVM学习之JVM概述

JVM的整体结构 Hotspot VM是目前市面上高性能虚拟机代表作之一 它采用解释器与即时编译器并存的架构 在今天&#xff0c;Java程序的运行性能已经达到了可以和C/C程序一较高下的地步 Java代码执行流程 具体图为 JVM架构模型 Java编译器输入的指令流基本上是一种基于 栈的指令…

关于负载和驱动能力的问题总结

这两天重新接触到了驱动能力这个说法&#xff0c;之前也听过&#xff0c;但是一直不理解是怎么回事儿&#xff0c;也就没有深究&#xff0c;现在想来&#xff0c;这里面还是有点门道的。 驱动能力&#xff0c;说的是什么呢&#xff1f;应该就是带载能力&#xff0c;而带载能力&…

Linux 中的网站服务管理

目录 1.安装服务 2.启动服务 3.停止服务 4.重启服务 5.开机自启 6.案例 1.安装服务 网址服务程序 yum insatll httpd -y 查看所有服务 systemctl list-unit-files 2.启动服务 systemctl start httpd 查看服务进程&#xff0c;确认是否启动 ps -ef|grep httpd 3.停止…

Windows Linux - 关于IP地址看这一篇就够了

目录 &#x1f959;1 IP地址简介 &#x1f959;2 IP地址分类 &#x1f96a;分类方式1 &#x1f96a;分类方式2 &#x1f96a;特殊的IP地址 - 本机IP地址 &#x1f959;3 域名&#xff1a;便捷的记录IP地址 &#x1f959;4 常用命令 &#x1f959;5 查看网络IP和网关 &…

内网穿透工具,如何保障安全远程访问?

内网穿透工具是一种常见的技术手段&#xff0c;用于在没有公网IP的情况下将本地局域网服务映射至外网。这种工具的使用极大地方便了开发人员和网络管理员&#xff0c;使得他们能够快速建立起本地服务与外部网络之间的通信渠道。然而&#xff0c;在享受高效快捷的同时&#xff0…

windows电脑半夜突然睡眠自动唤醒的问题查找与治理

遇见几次了&#xff0c;半夜起来上厕所&#xff0c;发现休眠的电脑居然自己开了&#xff0c;还得跑过去把电脑再休眠&#xff0c;很烦。昨天晚上居然自动唤醒两次&#xff0c;忍无可忍了&#xff0c;于是开始查找原因。 查询原因如下&#xff0c;解决方面也在后面。 固件 S3 计…

深度学习记录--矩阵维数

如何识别矩阵的维数 如下图 矩阵的行列数容易在前向和后向传播过程中弄错&#xff0c;故写这篇文章来提醒易错点 顺便起到日后查表改错的作用 本文仅作本人查询参考(摘自吴恩达深度学习笔记)

Python学习路线 - Python语言基础入门 - 数据容器

Python学习路线 - Python语言基础入门 - 数据容器 数据容器入门为什么学习数据容器数据容器 数据容器&#xff1a;list(列表)列表的定义嵌套列表的定义列表的下标索引列表的下标(索引)列表的下标(索引) - 反向嵌套列表的下标(索引) 列表的常用操作列表的常用操作(方法)列表的查…