大型转码连续剧之——辣条自学Python勇闯数据科学(二)Python的基本元素

各位大佬好,欢迎收看大型转码连续剧之——自学Python勇闯数据科学的第二集。 

今天和大家一起学一下Python的基本元素

四、Python的基本元素

在开始学习之前,辣条先用ChatGPT了解了一下Python的基本元素:

其实辣条看的课程中,两位老师都是基本按照这些大纲进行教学的,这也将是辣条笔记的大纲。

★ 1. 保留字(Reserved Words)

辣条在这里首先记下的是我们篇(一)中的老朋友“保留字”,因为这是Python中为数不多保留特殊意义的词汇。对于Python来说,程序中出现的这些词汇,它们有且仅有一个含义。一共30个,还记得有哪些吗?

辣条很好奇这些保留词一般都是做什么用处,哪怕当前学不到,我也想看看他们简单的功能与意义,GhatGPT帮我解释并陈述了一下:

# False, True, None: 这些是Python中的布尔值,分别表示假、真和空值。
# and, or, not: 用于布尔逻辑运算,分别表示与、或、非。
# if, elif, else: 用于条件语句,控制程序的执行流程。
# while, for, break, continue, pass: 用于循环和控制循环流程的关键字。
# def, return: 用于定义函数及返回函数值。
# class, is, in: 用于定义类、比较对象、测试成员资格。
# try, except, finally, raise: 用于异常处理。
# import, from, as, with: 用于导入模块、别名设置和上下文管理。
# global, nonlocal: 用于声明全局变量和非局部变量。
# lambda: 用于创建匿名函数。

当辣条编写程序时,保留字就像是编程语言的“关键词”,它们具有特殊含义,并且用于实现语言中的基本功能和语法规则。Python中的这些保留字是被保留的,因为它们有特定的任务和用途。

为什么Python要设定这些保留字呢?

(1)确保语言结构清晰:保留字帮助Python语言保持一致性和可读性。它们标识了重要的语言结构,例如条件语句、循环和函数定义。

(2)避免命名冲突:Python将一些常见的词汇保留为关键字,以防止它们被误用为变量名或函数名,避免混淆和错误。

(3)提高语言表达能力:保留字确保Python语言具有丰富的表达能力,可以实现复杂的编程逻辑和任务。

简而言之,保留字是Python语言中的基本构建块,它们帮助我们编写清晰、准确和功能强大的代码。

★ 2. 函数(Functions)

在说到“保留字”时,有一个保留字引起了辣条的注意:'def'。它在Python中用于定义函数,后面紧跟函数名以及函数的参数列表和函数体。这个保留字告诉Python解释器,接下来要定义一个函数。那么在这里辣条就要深入了解什么是Python中的函数了。

在Python中,函数是一种用于封装可重复使用代码的工具。函数由一组语句组成,可以接受输入参数并返回输出结果。通过使用函数,你可以将程序分解为更小的可管理和可重用的部分,从而提高代码的可读性、可维护性和重用性。

在Python中,函数可以按照不同的标准进行分类,以下是一些常见的分类方式:

(1)内置函数(Built-in Functions):Python提供了大量的内置函数,这些函数无需额外导入模块即可直接使用,例如print()、input()、type()等。

其实,print()函数是在编程中最常用的函数,它是调试代码、显示程序输出结果和与用户交互的主要手段之一。

# print()函数是将指定对象打印到标准输出设备
# 例如:将'Hello 辣条'打印出来
>>> print ('Hello 辣条')
Hello, 辣条

有时候我们希望获取用户通过键盘输入的值。Python提供了一个内置函数叫input(),用来获取键盘输入。当调用这个函数时,程序会暂停运行,等待用户的输入。当用户按下时,程序就会恢复运行,input()函数会以字符串形式返回用户输入的值。(关于字符串的解释,属于“数据类型”,我们随后讲)这个函数的理解可能稍微有点麻烦,我们举个例子:

>>> name = input("请输入你的名字")
>>> print("你好" , name)

当我们运行上面这两行代码时,程序会先说出一句话:“请输入你的名字”,这就是上文中说到的“程序调用了这个函数,暂停运行,等待你的输入”。这时候你输入的内容就是对程序“请输入你的名字”的反馈,也就是‘name’就会被定义为你输入的内容,也就是我们上问说的“会以字符串形式返回用户输入的值”。这时候程序就不再暂停,进入第二行代码,使用我们前文学到的print()函数将”你好 , name“以字符串的形式输出。

关于type()函数,它的目的是在我们疑惑自己这段值是什么数据类型时,可以使用这个函数,相当于一个解释器,解释数据类型。 (具体数据类型的解释我们随后讲)

# Hello, World!的数据类型是什么?
# 它是‘str’,“字付串”数据类型
>>> type('Hello, World!')
<class 'str'>

# 24的数据类型是什么?
# 它是‘int’,“浮点数”数据类型
>>> type(24)
<class 'int'>

在我们学习Python的过程中会接触到其他很多不同的内置函数,除了以上三种还有其他的,我们就不一一讲解了,随着学习会逐渐认识,在这里我们借助ChatGPT把常用的所有内置函数列出来:

(2)用户自定义函数(User-defined Functions):程序员可以自行定义函数来解决特定问题或执行特定任务。使用def关键字可以定义用户自定义函数。

>>> def A():
>>>     print('Apple')
# 在这里我们看到print前有空格,这是嵌套原理,具体我们后文详解

在这里,我们利用定义函数def把A()这个函数定义为print('Apple'),从此之后,在这个程序中输入A()这个函数,就会运行print('Apple')。

>>> A()
Apple

(3)此外,还有匿名函数、递归函数、高阶函数、生成器函数、装饰器函数、闭包函数等,这些都是辣条目前接触不太到的,希望以后学到这里可以进一步了解。

★ 3. 变量(Variables

变量是用于存储数据值的标识符,它们允许码农在程序执行期间引用和操作数据。具有的特点:

(1)动态类型:Python是一种动态类型语言,变量的类型由赋给它的值决定

(2)变量名规则:可以包含字母(区分大小写)数字下划线,但必须以字母或下划线开头。

Dr. Chuck:Variable names are places where you're asking Python to allocate a bit of memory and stick something in it and you're choosing the label. (变量名是你让Python分配一点内存,并放点东西进去,然后你用标签标记它。 )

(3)赋值:要给变量赋值要使用等号(=)进行赋值操作,将右侧的值赋给左侧的变量

(4)数据类型:变量可以存储各种数据类型,包括整数、浮点数、字符串、列表、元组、字典等。

# 举个例子 🌰

# 定义变量并赋值
x = 24
name = '辣条'

# 修改变量的值
x = 48
name = '烦躁的辣条'

# 输出变量的值
print(x)        # 输出:48
print(name)     # 输出:'烦躁的辣条'

★ 4. 数据类型(Data Types)

数据类型指的是变量所表示的数据的种类或类型。在为变量分配内存时,要根据赋给变量的值推断其数据类型

(1)整数(int):表示整数值。

# 举例
x = 1

(2)浮点数(float):表示带有小数点的数值。

# 举例
flo = 3.14

(3)字符串(str):表示文本数据,用单引号或双引号括起来。

# 举例
name = 'Eminem'

(4)此外还有其他的几个类型,但是课程上没有进行深入教学,辣条认为这是保护初学者,那我就只把它们提在这里,等以后课程详解的时候再细谈:列表(list)、元组(tuple)、字典(dict)、集合(set)、布尔值(bool)、空值(NoneType)。

当我们不知道一个值是什么类型的时候,我们可以借用前文中的type()函数进行返回类型。

★ 5. 运算符(Operators)

运算符是编程语言中用于执行各种操作的符号或特殊关键字。它们可以用于执行算术、逻辑、赋值等操作,以便在程序中进行数据处理和控制流程。

Python中的运算符按照优先级进行排列,优先级高的运算符会先被执行,而优先级低的会在之后被执行。下面是Python中常见运算符的优先级排列,从高到低:

-括号:(),括号用于控制运算符的优先级。

-指数:**,指数运算符表示乘方。

-正负号:+x-x,用于表示正数和负数。

-算术运算符:*/%(求余数)//(求整除商)

-算术运算符:+-

-比较运算符:<<=>>===!=

-逻辑运算符:not(非)and(与)or(或);并且not高于and高于or。

注:短路逻辑——从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。在Python中,短路逻辑通常与逻辑运算符 andor 结合使用。

对于 and 运算符,如果第一个条件为 False,则整个表达式的值为 False,Python 不会计算第二个条件。

对于 or 运算符,如果第一个条件为 True,则整个表达式的值为 True,Python 不会计算第二个条件。

# 短路逻辑示例
>>> a = 5
>>> b = 0

# 使用or运算符
>>> result = (a != 0) or (1/b) 
# 当a不等于0时,整个表达式已经可以确定结果为True,不会计算1/b
>>> print(result) 
# 输出为True

# 使用and运算符
>>> result = (a == 0) and (1/b) 
# 当a等于0时,整个表达式已经可以确定结果为False,不会计算1/b
>>> print(result) 
# 输出为False

在第一个示例中,因为a不等于0,所以第一个条件为True,Python解释器不会计算第二个条件(1/b)的值,因为在or运算中,只要有一个条件为True,整个表达式就为True。

在第二个示例中,因为a不等于0,所以第一个条件为False,Python解释器不会计算第二个条件(1/b)的值,因为在and运算中,只要有一个条件为False,整个表达式就为False。

★ 6. 异常处理(Exception Handling)

在Python中,异常处理是一种机制,用于在程序执行期间检测和处理错误或异常情况,以确保程序的稳定性和可靠性。异常处理允许程序员识别和处理可能导致程序中断或异常行为的情况,从而使程序能够优雅地处理这些问题并继续执行。一般会用到的关键字和语句为try、except、finally、raise等。

异常处理这部分的内容需要详细展开,辣条在明天的内容中和大家一起深入学习~

★ 7. 控制结构(Control Structures)

Python的控制结构是编程语言中用于控制程序执行流程的语法结构。它们允许程序根据条件执行不同的代码块或重复执行特定的代码块。Python中常见的控制结构包括:

条件语句(Conditional Statements):使用 ifelifelse 关键字来根据条件执行不同的代码块。条件语句允许程序根据不同的情况选择性地执行不同的代码。

循环结构(Loop Structures):使用 forwhile 关键字来重复执行特定的代码块,直到满足某个条件为止。循环结构允许程序在需要时重复执行相同的操作,直到满足特定条件为止。

控制结构使得程序可以根据需要在不同的条件下执行不同的操作,或者重复执行特定的操作,从而实现复杂的逻辑和功能。掌握控制结构是编写有效、灵活和易于理解的Python代码的关键之一。

控制结构这部分的内容需要详细展开,辣条在明天的内容中和大家一起深入学习~

8. 数据结构(Data Structures)

Python中的数据结构是用于组织和存储数据的方式。Python提供了多种内置的数据结构,常用的包括:

-列表(List):有序可变序列,可以存储任意类型的数据,并且可以通过索引进行访问和修改。

-元组(Tuple):有序不可变序列,类似于列表,但是元组的元素不可修改。

-字典(Dictionary):无序的键值对集合,可以用来存储和获取键值对,键必须是唯一的且不可变的。

-集合(Set):无序的唯一元素集合,可以进行集合运算(交集、并集、差集等)。

-字符串(String):不可变的字符序列,可以通过索引访问字符串中的字符,也支持许多字符串操作方法。

-其他:Python还提供了一些其他数据结构,例如队列(Queue)、堆栈(Stack)等,以及一些在collections模块中定义的数据结构,例如默认字典(defaultdict)、有序字典(OrderedDict)等。

这些数据结构可以根据不同的需求选择合适的来组织和处理数据,使得编程更加高效和灵活。

辣条学到这里认为内容比较晦涩难懂了,两位老师也没有在他们的课程中就这部分进行详细的讲授,因此辣条只在这里带大家简单了解一下它们,以后的学习过程中一定会进一步认识的。

9. 面向对象编程(OOP) 

Python中的面向对象编程(OOP)是一种编程范式,它将程序看作是一组对象的集合,每个对象都可以包含数据(属性)和操作数据的方法(函数)。面向对象编程将数据和操作数据的方法封装在一起,使得代码更加模块化、灵活和易于维护。

这部分也属于后期学习的内容,辣条只在这里带大家简单了解一下它们,以后的学习过程中一定会进一步认识的。

10. 文件操作

Python的文件操作是指使用Python语言对文件进行读取、写入、修改等操作的过程。Python提供了内置的文件操作函数和方法,使得对文件的操作变得简单和方便。

主要的文件操作包括:

-打开文件(Open File): 使用内置的 open() 函数来打开一个文件,指定文件路径和打开模式(读取、写入、追加等)。

-读取文件(Read File): 使用文件对象的 read()readline()readlines() 方法来读取文件内容。

-关闭文件(Close File): 使用文件对象的 close() 方法关闭文件。关闭文件可以释放资源并确保写入的数据被完全写入文件。

# 打开文件
>>> file = open('example.txt', 'r')  # 'r'表示只读模式

# 读取文件内容
>>> content = file.read()
>>> print(content)

# 关闭文件
>>> file.close()

-写入文件(Write to File): 使用文件对象的 write() 方法将数据写入文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会覆盖原有内容。

# 打开文件
>>> file = open('output.txt', 'w')  # 'w'表示写入模式

# 写入内容
>>> file.write('Hello, world!\n')
>>> file.write('This is a test.\n')

# 关闭文件
>>> file.close()

-文件定位(File Positioning): 使用文件对象的 seek() 方法可以移动文件指针到文件中的特定位置,从而实现对文件的随机访问。

 文件操作是Python中常见的任务之一,它使得处理文件数据变得简单和灵活,可以用于读取文本文件、处理日志、生成报告等各种应用场景。属于Python的便捷操作技能,难度不大。

11. 模块和库

在Python中,模块(Module)和库(Library)是组织和共享代码的重要方式,它们有着以下含义:

模块(Module):模块是一个包含Python代码的文件,文件名以 .py 结尾。每个Python脚本文件都可以作为一个模块,模块可以包含函数、类、变量等定义。通过导入(import)模块,可以在其他Python脚本中使用该模块中定义的功能。

# datetime 模块:
>>> import datetime

# 获取当前日期和时间
>>> now = datetime.datetime.now()
>>> print("Current date and time:", now)

库(Library):库是一组相关联的模块的集合,它们被打包在一起以便于共享和重用。Python标准库就是一个库的示例,它包含了丰富的模块,涵盖了各种功能,例如文件 I/O、数据结构、网络通信、数学运算等。除了标准库之外,还有许多第三方库可供使用,这些库由Python社区开发并共享,用于扩展Python的功能和解决各种问题。

# 导入NumPy库(用于数值计算):
>>> import numpy as np

# 创建一个一维数组
>>> arr = np.array([1, 2, 3, 4, 5])
>>> print("Array:", arr)

通过使用模块和库,可以将代码组织成逻辑上相关的单元,并通过导入的方式在不同的程序中重用。这种代码复用的方式使得开发更加高效,同时也促进了代码的可维护性和可扩展性。 

今天辣条把Python的基本元素学习了一遍,笔记中大部分都是Python最为基础但也是最为重要的知识点。明天辣条就异常处理和控制结构进行进一步学习与整理,这部分内容是编程中同样基础而又重要的概念,它们直接影响着程序的健壮性和可靠性。在实际编程中,合理地运用异常处理和控制结构能够帮助我们更好地理解和处理问题,编写出更加健壮、清晰的代码。

现在是2024年2月25日18:50。

今天的笔记就写到这里,明天辣条会加把劲,继续学习Python,继续更新~

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值