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中的变量赋值有多种方式,数据类型包括整数、浮点数、字符串、列表、元组、字典等。在我们日常实际开发中,变量作用域、匿名函数和内置函数等也是非常重要的概念,需要深入学习和掌握。刚好又是压点打卡,这周下来都很充实,下周继续努力。

四、作业打卡

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

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

相关文章

Cortex-M4内核结构

Cortex-M4内核结构 1. 内核Core 2. 三阶流水线 3. 内核工作模式 4. 总结 Cortex-M4内核结构 Cortex-M4处理器是ARMv7-M架构的一种实现&#xff0c;它是一种32位精简指令集(Reduced Instruction Set Computing, RISC)的处理器&#xff0c;有一个三阶的指令流水线&#xff0c;依…

飞天使-docker知识点4-harbor

文章目录 Harbor安装完成harbor 官方建议方式之后查看 images配置docker 使用harbor 仓库上传下载镜像docker 镜像结合harbor 运行 Harbor Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器&#xff0c;由 vmware 开源&#xff0c;其通过添加一些企业必需的功…

C++初阶-list类的模拟实现

list类的模拟实现 一、基本框架1.1 节点类1.2 迭代器类1.3 list类 二、构造函数和析构函数2.1 构造函数2.2 析构函数 三、operator的重载和拷贝构造3.1 operator的重载3.2 拷贝构造 四、迭代器的实现4.1 迭代器类中的各种操作4.1 list类中的迭代器 五、list的增容和删除5.1 尾插…

Visual Studio 2022封装C代码为x64和x86平台动态库

1.引言 本文介绍如何使用Visual Studio 2022将C语言函数封装成x64和x86平台上使用的动态链接库(dll文件)并生成对应的静态链接库(lib文件)&#xff0c;以及如何在C程序中调用生成的dll。 程序下载&#xff1a; 2.示例C语言程序 假设需要开发一个动态链接库&#xff0c;实现复…

for-each循环优先于传统的for循环

在大多数情况下&#xff0c;使用 for-each 循环&#xff08;也称为增强型 for 循环&#xff09;比传统的 for 循环更加简洁和方便。它提供了一种更直观的方式来遍历集合或数组中的元素。以下是一个例子&#xff0c;展示了 for-each 循环优于传统 for 循环的情况&#xff1a; i…

AI智能配音助手微信小程序前后端源码支持多种声音场景选择

大家好今天给大家带来一款配音小程序 &#xff0c;这款小程序支持多种不同声音和场景的选择更人性化&#xff0c; 比如说支持各地区的方言,英文,童声呀等等、 另外也支持男声女声的选择,反正就是模板那些非常的多 当然啦音量,语调,语速那些都是可以DIY跳转的哟,所以说这一款小程…

python每日学11:xpath的使用与调试

背景&#xff1a;最近在使用selenium 模拟浏览器作一些常规操作&#xff0c;在使用selenium的过程中接触到的一种定位方法&#xff0c;叫xpath, 这里说一下使用心得。 首先&#xff0c;我觉得如果只是简单使用的话是不用详细了解具体的语法规则的。 一、xpath怎么用&#xff1…

树莓派(Raspberry Pi)4B密码忘记了,怎么办?

树莓派长时间不用&#xff0c;导致密码忘记了&#xff0c;这可咋整&#xff1f; 第1步&#xff1a;取出SD卡 将树莓派关机&#xff0c;移除sd卡&#xff0c;使用读卡器&#xff0c;插入到你的电脑。 第2步&#xff1a;编辑 cmdline.txt 在PC上打开SD卡根目录&#xff0c;启动…

【星环云课堂大数据实验】kafka消息发布与订阅

文章目录 一、Kafka概述二、实验环境三、实验准备四、实验目的五、实验步骤5.1、创建Kafka Topic5.2、Kafka消息发布5.3、Kafka消息订阅 六、实验感悟 一、Kafka概述 Kafka是由Apache软件基金会开发的一个开源流处理平台&#xff0c;由Scala和Java编写。该项目的目标是为处理实…

内存的管理、扩充、存储保护、地址转换、分配和回收

一、 内存的存储保护 1.1 上、下限寄存器方式&#xff1a; 上、下限寄存器&#xff08;Limit Registers&#xff09;&#xff1a;这是一种硬件级别的内存保护机制。每个进程都有一对上、下限寄存器&#xff0c;用于定义该进程能够访问的内存范围。上限寄存器存储进程能够访问的…

【Android12】WindowManagerService架构分析

Android WindowManagerService架构分析 WindowManagerService(以下简称WMS) 是Android的核心服务。WMS管理所有应用程序窗口(Window)的Create、Display、Update、Destory。 因为Android系统中只有一个WMS&#xff08;运行在SystemServer进程&#xff09;&#xff0c;可以称其为…

快宝技术:连接无代码开发,API集成提升电商营销和用户运营效率

无代码开发&#xff1a;创新的启航 快宝技术自2012年成立至今&#xff0c;一直是无代码开发领域的佼佼者。通过无代码开发平台&#xff0c;快宝技术旨在降低技术门槛&#xff0c;并使非技术人员能够轻松创建和部署应用程序。这不仅使得快递末端软件开发变得高效和便捷&#xf…

vue3.0项目搭建

一、安装vue3脚手架 卸载vue2脚手架 npm uninstall -g vue-cli清除缓存 npm cache clen --force安装最新脚手架 npm install -g vue/cli查看脚手架版本 vue -V 二、构建项目 创建项目 vue create 项目名选择配置 自定义配置&#xff0c;回车 上下键选择Linter / Formatter&a…

DC-2靶场

DC-2 下载地址&#xff1a;DC and Five86 Series Challenges - Downloads​编辑https://www.five86.com/downloads.html DC-2环境配置&#xff1a;解压后在vm虚拟机点击左上方文件-->打开-->选择解压后的DC-2。把kali和DC-2的网路适配器都改成NAT模式 flag1 首先进行主…

【教程】从零开始的ORB-SLAM3的安装与配置

引言 最近项目需求需要接触vslam&#xff0c;博主选择从ORB-SLAM3下手并且记录下安装的基本流程。不得不说&#xff0c;这安装流程就像二大娘的裹脚布。 大致环境前提&#xff1a;Ubuntu20.04 一、ORB-SLAM3的源码下载 1、首先&#xff0c;为了方便管理文件&#xff0c;我们…

面向对象三大特征之二:继承

继承的快速入门 什么是继承&#xff1f; Java中提供了一个关键字extends&#xff0c;用这个关键字&#xff0c;可以让一个类与另一个类建立起父子关系 继承的特点 子类能继承父类的非私有成员&#xff08;成员变量、成员方法&#xff09; 继承后对象的创建 子类的对象是由…

MyBatis Plus 大数据量查询优化

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

RTX 40 SUPER发布时间定了!价格也有了

快科技12月16日消息&#xff0c;NVIDIA RTX 40 SUPER系列显卡基本确定将在2024年1月8日正式发布&#xff0c;也就是CES 2024大展期间&#xff0c;随后在1月中下旬陆续解禁上市。 RTX 4070 SUPER 1月16日解禁公版/原价丐版&#xff0c;1月17日解禁高价高配版&#xff0c;上市开…

测试架构师必备技能-Nginx安装部署实战

Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的免费开源Web和 反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。在高并发访问的情况下&#xff0c;Nginx是Apache服务器不错的替代品。官网数据显示每秒TPS高达50W左右。本文为读者朋…