当前位置: 首页 > news >正文

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

四、作业打卡

相关文章:

  • Docker笔记:容器转换成镜像,导出导入镜像,数据拷贝,查看日志
  • digit函数
  • 一文搞懂OSI参考模型与TCP/IP
  • js-过滤制表符
  • iOS按钮控件UIButton使用
  • Docker 安装Apache Superset 并实现汉化和快速入门
  • 构建自己专属seata-server 镜像(分布式事务)?(第二篇)
  • Android:FragmentHostCallback
  • 从视频中截取指定帧图片
  • 什么是质量工程?
  • 电子取证中Chrome各版本解密Cookies、LoginData账号密码、历史记录
  • [pasecactf_2019]flask_ssti proc ssti config
  • MySQL的事务以及springboot中如何使用事务
  • Java研学-HTML
  • mysql 导入时遇到 的解决 Variable ‘time_zone‘ can‘t、‘character_set_client‘问题
  • [笔记] php常见简单功能及函数
  • 2017-08-04 前端日报
  • Create React App 使用
  • Elasticsearch 参考指南(升级前重新索引)
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • js算法-归并排序(merge_sort)
  • Linux快速复制或删除大量小文件
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • overflow: hidden IE7无效
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Redux 中间件分析
  • unity如何实现一个固定宽度的orthagraphic相机
  • 第2章 网络文档
  • 观察者模式实现非直接耦合
  • 聊聊redis的数据结构的应用
  • 你真的知道 == 和 equals 的区别吗?
  • 排序算法之--选择排序
  • 一道闭包题引发的思考
  • 字符串匹配基础上
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 如何在招聘中考核.NET架构师
  • 组复制官方翻译九、Group Replication Technical Details
  • ​力扣解法汇总946-验证栈序列
  • ​香农与信息论三大定律
  • #、%和$符号在OGNL表达式中经常出现
  • (13)Hive调优——动态分区导致的小文件问题
  • (Forward) Music Player: From UI Proposal to Code
  • (TOJ2804)Even? Odd?
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (南京观海微电子)——I3C协议介绍
  • (转)大道至简,职场上做人做事做管理
  • (转载)Linux网络编程入门
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Framework杂记
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 的程序集加载上下文
  • .Net的C#语言取月份数值对应的MonthName值
  • // an array of int