当前位置:首页 > 文章列表 > 文章 > python教程 > Python 基本介绍

Python 基本介绍

来源:dev.to 2024-11-22 10:52:23 0浏览 收藏

你在学习文章相关的知识吗?本文《Python 基本介绍》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

Python 基本介绍

什么是python?

python 将自己描述为一种“解释性、交互式、面向对象的编程语言”,还支持“面向对象编程之外的多种编程范式,例如过程式编程和函数式编程”。


为什么要创建python?

python 的诞生是为了将 modula-3 和 abc 编程语言的优势结合成一种独立的编程语言。 python 将整体语法和用于异常的语义归功于 modula-3 语言,但 abc 语言和代理 set 语言也有类似的灵感。


为什么选择python?

python 将自己描述为“一种高级通用编程语言,可以应用于许多不同类别的问题”。 python 标准库涵盖了开发人员的多个关注点:

string processing internet protocols software engineering operating system interfaces
regular expressions http unit testing system calls
file comparisons ftp logging file systems
unicode smtp, xml-rfc, & more profiling tcp/ip sockets

比较 python 和 javascript

首先,我们最好了解为什么有这么多编程语言可供开发人员使用。简单的答案是,虽然许多编程语言可以执行类似的过程,但有些语言能够更好地处理这些执行。根据 linsi tuttle 在 wgu(西部州长大学)网站上的文章:

每种编程语言都是针对特定应用而设计的,并且具有独特的优点和局限性。根据项目的不同,一种语言在速度效率、多功能性或可扩展性方面可能比另一种语言更适合。

考虑到这一点,让我们看看 estefania cassingena navone 在她比较 python 和 javascript 的文章中的观察结果:

python javascript
it is widely used in scientific and specialized applications. it is widely used for web development, user-facing functionalities, and servers.
used in data science, artificial intelligence, machine learning, computer vision and image processing. used in web development, especially for making interactive and dynamic content for web applications.
it can be used for web development; python is typically used for back-end development. it can be used to develop both the back-end and front-end of the application.

来自 python 3 的示例

函数调用

我认为我们最好以简单的事情为基础。让我们从基础开始,如何使用 python 将消息记录到控制台?


print("hello world!");


这会向我们的控制台输出一个非常基本的内容,虽然现在可能没用,但在我们继续学习语言的同时,它肯定可以对故障排除很有用!


# output => "hello world!"



变量和数据类型

根据python,变量在使用之前不需要声明,也不需要声明类型。尤其重要的是要知道,在 python 中,每个变量都是一个对象。

一开始可能很难理解这一点,所以让我们来看看一些变量声明和赋值。


first_name = 'jolly' # string with single quotes
last_name = "roger" # string with double quotes

height = 6 # integer number
age = 36.253256 # float number

is_liar = true # boolean

# concatenation example
print(first_name + " " + last_name + " sails the high seas!")

# interpolation example
print("at %d years old he stands at %d feet tall!" %(age, height))


请注意,在上面的示例中,我们避免使用驼峰式命名法,而是使用蛇形命名法。这样做主要是因为python 的官方风格指南在许多示例中使用了snake_case。如果您对更多样式建议感兴趣,可以在此处查看文档。

现在让我们快速看一下我们的输出,因为我们在 print 语句的两种用法中所做的事情略有不同。这就是我们的输出:


# output => "jolly roger sails the high seas!"
# output => "at 36 years old, he stands at 6 feet tall!"


+ 运算符期望提供给它的数据类型匹配。换句话说,如果 + 运算符带有数字,那么它将尝试计算这些数字。如果 + 运算符与字符串一起使用,那么它将尝试将两个项目连接成一个字符串。

在第一个示例中,我们本质上执行了字符串连接。这很棒,而且它会起作用,因为在这种情况下,+ 运算符用于相同数据类型(字符串)的项目。然而,在第二个示例中,这不起作用!

在第二个示例中,我们要完成字符串插值。为此,我们可以在字符串中创建占位符 (%s %d %f),然后我们可以按顺序将参数传递给这些占位符 %('cat', 3, 4.56231)。


代码块和缩进

在 javascript 中,我们通常通过使用大括号 {...} 来指示代码块的开始,大括号包含一组要执行的代码。然而,python 处理这个概念的方式有点不同……这就是其他语言的良好习惯可以提供帮助的地方。


x = 1

if x == 1:
    print("x is 1.")


在这种情况下,python 使用 缩进 来了解代码块何时开始和结束。标准缩进要求标准 python 代码使用四个空格。如果我们在没有缩进的情况下编写此行,我们将收到错误 indentationerror: expected an indented block 。


条件语句和表达式

让我们尝试将代码块的新知识应用到变量和数据类型部分中的示例。在这种情况下,我们有一个未使用的布尔值,我们现在要实现它。


first_name = 'jolly' # string with single quotes
last_name = "roger" # string with double quotes

height = 6 # integer number
age = 36.253256 # float number

is_liar = true

if is_liar:
    print("%s %s lied to you!" %(first_name, last_name))
else:
    print(first_name + " " + last_name + " sails the high seas!")
    print("at %d years old he stands at %d feet tall!" %(age, height))


现在我们已经创建了一个代码块,并且此代码块仅在表达式为真时执行。在此示例中 is_liar 指向 true 的值,因此我们的输出将是:


# output => "jolly roger lied to you!"


还需要注意的是,python 能够进行条件链接。 if 语句后可以跟一个或多个 elif 语句,也可以跟一个简单的 else 语句。


循环

在python中,有两种循环或迭代的方式:for循环和while循环。在这种情况下,我们可以从一个使用 range 函数的简单示例开始。


for item in range(1, 11):
    print(item)


在此示例中,range() 函数表示循环的开始和停止条件。这是因为 range() 函数返回一个列表数据结构(在 javascript 中,您会将此结构称为数组)。如果我们继续了解这些知识,我们可以重新构建我们如何形象化这个问题:


for item in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(item)


  1. 函数 range(1, 11) 返回一个列表。
  2. 列表指向 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]。
  3. 对于该列表中的每个项目,我们尝试 print() 它。

考虑控制流语句也很重要,它可以用来改变代码的评估和执行顺序。两个常见的语句是 continue 和 break 语句。让我们将其中之一集成到我们的循环中。


for item in range(1, 11):
    if item % 2 == 0: # if the item is even
        continue      # continue to next iteration
    else:
        print(item)   # else print the item


在这种情况下,我们使用 continue 语句继续下一次迭代,但前提是当前项是偶数。否则,我们会点击 else 块并打印该数字! continue 语句和break 语句有时是可选的。如果您担心无限循环,请考虑实现这些语句。关于这一点,让我们看一下 while 循环!


count = 0
while true:
    print(count)
    count += 1
    if count >= 5:
        break


在这种情况下,我们技术上声明了一个可以无限迭代的循环。然而,在这种情况下,我们适当地包含了一个基本案例。每当count变量大于或等于5时,我们通过break语句退出整个循环。

如果我们在这个例子中没有break语句,我们将创建一个无限循环。我们可以重组或以其他方式重新设计我们的代码,这样就不需要break语句了。如果我们想完成同样的事情,我们可以像这样重新设计我们的代码:


count = 0
while (count < 5):
    print(count)
    count += 1


最终我们取得了相同的结果,我们只是不得不重新思考我们的方法。 python 提供了多种解决问题的方法,因此通常可以通过多种不同的方式获得相同的结果。


功能

啊,可重用的代码,我亲爱的。 python 将函数描述为“一种将代码划分为有用块的便捷方法,使我们能够对代码进行排序、使其更具可读性、重用它并节省更多时间”。考虑到这一点,让我们开始讨论如何制作一些可重用的代码!


def describe_me(name = none, age = none, hobbies = none):
    # code for the function would be here!


在上面的示例中,我们使用 def 关键字来指示我们正在定义一个新函数。该函数将被称为describe_me,它可以接受三个参数:

  1. 字符串
  2. 数字(浮点数或整数)
  3. 兴趣爱好列表

请注意,当我们定义这三个参数时,我们还为它们分配了 none 值。我们实际上在这里所做的是将默认值设置为 none,这样如果没有提供参数,那么我们的代码仍然会尝试执行。让我们在下面的示例中继续扩展这个函数。


def describe_me(name = none, age = none, hobbies = none):
    if (name and age):
        print('my name is %s and i am %d years old.' %(name, age))
    elif (name):
        print('my name is %s.' %(name))


太好了,现在我们已经建立了两个条件表达式来查看我们正在处理哪些数据。我们的第一个条件检查是否为名称参数和年龄参数提供了参数;如果它解析为 true,则一条消息将打印到控制台。如果提供了姓名参数,但没有提供年龄,则会打印一条替代消息。

到目前为止,我们所做的一切都是有效的,但我们仍然没有解决爱好参数的使用方式。让我们看看如果我们添加一个循环来迭代爱好集合会是什么样子。


def describe_me(name = none, age = none, hobbies = none):
    if (name and age):
        print('my name is %s and i am %d years old.' %(name, age))
    elif (name):
        print('my name is %s.' %(name))

    if (hobbies and (type(hobbies) is list)):
        for hobby in hobbies:
            if (type(hobby) is str):
                print('%s is a hobby of mine.' %hobby)

describe_me('jolly roger', 36, ['sailing', 2, 'treasure-hunting', 3, 4, true])


我们在这里扩展了我们的代码,但它到底在做什么?现在我们正在检查 hobbies 参数是否收到了参数,并且我们还在检查以确保该参数是一个列表。如果第一次检查解析为 true,那么我们尝试执行代码块内的所有内容,这应该输出以下消息:


# output => 'my name is jolly roger and i am 36 years old.'
            'sailing is a hobby of mine.'
            'treasure-hunting is a hobby of mine.'



课程

类本质上是一个模板,您可以重用它来创建新的对象实例。如果您不熟悉类的概念,那么这可能听起来真的令人困惑,但我们将在此前提下进行扩展。


class car:
    year = 0
    make = ''
    model = ''


让我们首先定义 car 类对象的内容,在本例中,它有几个变量,这些变量被初始化为我们想要存储在其中的数据类型。那么使用这个基本模板,我们如何创建一个作为 car 类实例的新对象?


my_car = car()

my_car.year = 2007
my_car.make = 'toyota'
my_car.model = 'camry'


我们首先创建一个变量 my_car,它等于 car 类的新实例。创建新对象后,我们将其中的变量重新分配为我们想要的值。然而,我们当前的问题是我们必须单独打印每个变量的值。


print(my_car)        # => <__main__.car object at 0x7f9940979f10>

print(my_car.year)   # => 2007
print(my_car.make)   # => toyota
print(my_car.model)  # => camry


让我们通过向 car 类添加一些额外的功能来完成此任务。我们将向该类添加一个新方法,该方法在调用时将打印实例的年份、品牌和型号。


class Car:
    year = 0
    make = ''
    model = ''
    def describe_me(self):
        print(self.year)
        print(self.make)
        print(self.model)


太好了,现在我们已将此功能添加到我们的 car 类中。那么这对我们意味着什么呢?现在我们可以创建遵循我们的汽车模板的对象的许多实例!需要注意的是,您可以通过几种不同的方式来定义类,因此不要觉得您在这里受到太多限制!


结论

我希望这个介绍能让您了解 python 和其他语言之间的差异。我仍在学习很多关于 javascript 和全栈开发的知识,所以不幸的是我没有花那么多时间在 python 上。然而,我认为作为开发人员探索适合您的工具包的选项是一件好事!

如果您想了解更多有关python的信息,您可以查看文档以深入研究概念。如果您正在寻找适合初学者的教程,那么我强烈建议您查看 learn python 组织网站。

好了,本文到此结束,带大家了解了《Python 基本介绍》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
告别噪音:选择和使用电脑耳机的全方位指南告别噪音:选择和使用电脑耳机的全方位指南
上一篇
告别噪音:选择和使用电脑耳机的全方位指南
2025 年部分节假日安排公布:全体公民假日增加 2 天,调休后上班一般不超 6 天
下一篇
2025 年部分节假日安排公布:全体公民假日增加 2 天,调休后上班一般不超 6 天
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • SEO标题魔匠AI:高质量学术写作平台,毕业论文生成与优化专家
    魔匠AI
    SEO摘要魔匠AI专注于高质量AI学术写作,已稳定运行6年。提供无限改稿、选题优化、大纲生成、多语言支持、真实参考文献、数据图表生成、查重降重等全流程服务,确保论文质量与隐私安全。适用于专科、本科、硕士学生及研究者,满足多语言学术需求。
    16次使用
  • PPTFake答辩PPT生成器:一键生成高效专业的答辩PPT
    PPTFake答辩PPT生成器
    PPTFake答辩PPT生成器,专为答辩准备设计,极致高效生成PPT与自述稿。智能解析内容,提供多样模板,数据可视化,贴心配套服务,灵活自主编辑,降低制作门槛,适用于各类答辩场景。
    30次使用
  • SEO标题Lovart AI:全球首个设计领域AI智能体,实现全链路设计自动化
    Lovart
    SEO摘要探索Lovart AI,这款专注于设计领域的AI智能体,通过多模态模型集成和智能任务拆解,实现全链路设计自动化。无论是品牌全案设计、广告与视频制作,还是文创内容创作,Lovart AI都能满足您的需求,提升设计效率,降低成本。
    32次使用
  • 美图AI抠图:行业领先的智能图像处理技术,3秒出图,精准无误
    美图AI抠图
    美图AI抠图,依托CVPR 2024竞赛亚军技术,提供顶尖的图像处理解决方案。适用于证件照、商品、毛发等多场景,支持批量处理,3秒出图,零PS基础也能轻松操作,满足个人与商业需求。
    37次使用
  • SEO标题PetGPT:智能桌面宠物程序,结合AI对话的个性化陪伴工具
    PetGPT
    SEO摘要PetGPT 是一款基于 Python 和 PyQt 开发的智能桌面宠物程序,集成了 OpenAI 的 GPT 模型,提供上下文感知对话和主动聊天功能。用户可高度自定义宠物的外观和行为,支持插件热更新和二次开发。适用于需要陪伴和效率辅助的办公族、学生及 AI 技术爱好者。
    37次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码