Python常见问题解答:常见Python问题的快速解答

作者 : IT 大叔 本文共5124个字,预计阅读时间需要13分钟 发布时间: 2020-09-1

Python常见问题解答:常见Python问题的快速解答插图

Python继续流行。同时,Web开发,数据科学和机器学习等领域的需求仍在不断增长,其中Python是这些领域中的通用编程语言

随着对Python的需求增加,无论是初学者还是高级程序员都需要更多资源来掌握这种按需语言。因此,我们整理了一份清单,列出了像您一样关于Python的开发人员最常见的问题。从for循环到文档再到GUI的所有内容。

今天,我们将介绍以下内容:

  • 什么是Python?
  • Python的历史是什么?
  • Python的主要功能是什么?
  • 我应该使用Python 2还是Python 3?
  • 如何安装Python?
  • 什么是最好的Python IDE?
  • 最好的Python资源是什么?
  • Python的基本概念是什么?
  • 局部和全局变量的规则是什么?
  • 在模块中使用导入的最佳实践是什么?
  • Python中的类是什么?
  • 如何使用字符串来调用函数或方法?
  • 如何在Python中删除文件
  • 我可以在Python中生成随机数吗?
  • 我可以在Python中读取或写入二进制数据吗?
  • 有哪些针对Python的GUI工具包?

通过动手项目掌握Python。

在完成这些课程之后,您就可以准备申请任何高薪的Python职位。

基础和历史

 

什么是Python?

Python是一种面向对象的,解释性的高级编程语言。除了面向对象的编程,Python还提供了过程和函数式编程等范例。它使用模块,异常,动态类型,数据类型和类。

这种语言既强大又清晰,它结合了许多系统类和库的接口。Python也可以用作需要可编程接口的应用程序的扩展语言。

Python的历史是什么?

Python由Guido Van Rossum于1980年代在荷兰的Centrum Wiskunde&Informatica创立。Python最初是作为ABC语言的继承者创建的,该语言将能够进行异常处理并与Amoeba操作系统进行接口。

在2018年7月12日之前,他是Python项目的唯一负责人。在2019年1月,核心开发人员选举Brett Cannon,Nick Coghlan,Barry Warsaw,Carol Willing和Van Rossum领导该项目。

Python 2.0于2000年10月16日发布,具有新功能,例如循环检测垃圾收集器和对Unicode的支持。Python 3.0于2008年12月3日发布。

Python的主要功能是什么?

  • 易于学习和使用:由于Python的语法简单明了且通常类似于英语,因此Python被认为是一种易于学习的语言。Python采用奖励分号和大括号来定义代码块。作为高级实现,它是初学者推荐的编程语言。
  • 富有表现力: Python能够仅使用几行代码即可执行复杂的任务。例如,一个hello世界仅仅是一行:print("Hello World)。尽管Python仅需要一行执行,但是像Java或C这样的语言却需要更多行。
  • 解释语言: Python是一种解释语言,表示Python程序逐行执行。解释型语言的一个优点是调试容易且可移植。
  • 跨平台语言: Python可以在Widows,Linux,UNIX,macOS等操作系统上平等运行,从而使该语言具有可移植性。这使工程师可以使用一个程序在竞争平台上创建软件。
  • 免费和开放源代码: Python是免费的,并向公众开放,您可以在python.org上下载它。它拥有一个庞大的全球社区,致力于通过专门的团队来创建更多的python软件包和功能。
  • 面向对象的语言: Python是一种使用类和对象的面向对象的编程语言。它还允许诸如继承多态性和封装之类的功能。这使程序员更容易编写可重用的代码。

我应该使用Python 2还是Python 3?

尽管有许多版本的Python,但主要的比较是Python 2与Python3。Python3最初于2008年12月发布,旨在纠正Python 2引入的一些基本设计缺陷。

Python 3的指导原则是:“通过消除旧的做事方式来减少功能重复。” Python 2的创建方式支持执行同一任务的多种方式。

Python 2:

  • 仍然根深蒂固于许多公司的软件中
  • 许多适用于Python 2的较早的库都不兼容转发
  • 默认情况下,字符串存储为ASCII

Python 3:

  • 到2020年将取代Python 2
  • 严格针对Python 2创建了越来越多的库
  • 文本字符串默认为Unicode

现在,很明显,Python 3是最受欢迎的选择,因为Python软件基金会不再支持Python 2。有了这一变化,整个社区已在很大程度上转向了Python 3,这意味着没有理由学习Python 2。

如何安装Python?

Python需要大约25 MB的磁盘空间,因此请确保您有足够的空间。安装后,Python需要额外的90 MB空间。

  1. 您可以在此处下载Python 。
  2. 点击“下载Python 3.8.5”
  3. 向下滚动并单击“ [您的操作系统] 64位安装程序”。
  4. 单击按钮后,按照安装程序的说明进行操作,就可以完成!

什么是最好的Python IDE?

IDE(集成开发环境)是专用于软件开发的程序。在这种情况下,我们正在寻找专用于python开发的IDE。IDE的某些功能包括:

  • 设计用于处理代码的编辑器
  • 构建,执行和调试工具
  • 某种形式的源代码控制

适用于Python环境的良好IDE具有某些重要功能:保存和重新加载代码文件,在环境中运行代码,调试支持,语法突出显示和自动代码格式化。

General IDEs with Python support:

  • Eclipse + PyDev
  • Sublime Text
  • Atom

Python-specific editors and IDEs:

  • PyCharm
  • Spyder
  • Thonny

我推荐PyCharm,它提供了一些惊人的功能,例如类型检查,代码检查,自动重构,在较大的项目中轻松导航,与调试器和版本控制集成。清单继续。

学习Python的最佳资源是什么?

学习Python的最好方法是动手实践。Python非常直观,因此专注于编码挑战将提高您的技能。您可以在GitHub,Python官方网站或在线课程上获得有关这些想法的想法。

编程问题

Python的基本概念是什么?

分号

让我们首先从Python开始,不像大多数编程语言那样,不使用分号来结束行。换行足以使解释器检测到新命令。

在使用该print()方法的示例中,我们可以看到一个示例。

print('First command')
print('Second command')

缩进

大多数语言都会使用大括号来定义代码块的范围,但是Python的解释器会通过缩进简单地确定这一点。这意味着您必须特别小心代码中的空格,这会破坏您的应用程序。下面是一个例子。

def my_function():
    print('Hello world')

注释

要注释代码中的某些内容,您只需要使用一个井号即可#。下面是一个示例。

# this is a comment that does not influence the program flow
def my_function():
    print('Hello world')

变量

使用python,您可以在程序中存储和操作数据。变量存储数据,例如数字,用户名,密码等。要创建(声明)变量,可以使用=符号。

name='Bob'

age=32

请注意,在Python中,例如,您无需告诉程序变量是字符串还是整数。这是因为Python具有动态类型,解释器会在其中自动检测数据类型。

数据类型

要在Python中存储数据,我们已经确定您需要使用变量。不过,每个变量都会有一个数据类型。数据类型的示例包括字符串,整数,布尔值和列表。

一个布尔类型只能持有的价值TrueFalse

my_bool = True
print(type(my_bool))

my_bool = bool(1024)
print(type(my_bool))

一个整数是三个数值的类型,包括浮法和复杂之一。整数是一个正数或负数。

my_int = 32
print(type(my_int))

my_int = int(32)
print(type(my_int))

字符串是最常见的数据类型中的一个。

my_city = "New York"
print(type(my_city))

#Single quotes have exactly
#the same use as double quotes
my_city = 'New York'
print(type(my_city))

#Setting the variable type explicitly
my_city = str("New York")
print(type(my_city))

运算符是可以在您的值和变量中使用的符号,以执行比较和数学运算。

算术运算符:

  • +:加法
  • -:减法
  • *:乘法
  • /:部门
  • **:求幂
  • %:模,给你除法的余数

比较运算符:

  • ==:相等
  • !=:不相等
  • >: 比...更棒
  • <: 少于
  • >=:大于或等于
  • <=:小于或等于

局部和全局变量的规则是什么?

在Python中,函数内引用的变量是隐式全局的。如果为变量分配了函数体内的值,则除非您明确将其声明为全局变量,否则它是局部的。

在模块中使用导入的最佳实践是什么?

通常,不要使用from modulename import *。这将使导入者的名称空间混乱,这使短绒更难检测未定义的名称。

在文件顶部导入模块,这样可以清楚地知道您的代码需要哪些模块。每行使用一次导入。

通常,优良作法是按以下顺序导入模块:

  1. 标准库模块
  2. 第三方库模块
  3. 本地开发的模块

仅在需要解决诸如避免循环导入或尝试减少模块初始化时间之类的问题时,才应将导入移动到本地范围。

Python中的类是什么?

本质上,Python中的所有内容都是一个对象,它具有属性和方法。类是一个对象构造函数,充当创建对象的蓝图。

在这里,我们创建一个以MyClass属性X 命名的类。然后,我们创建一个p1对象并打印X的值。

class MyClass:
  x = 5

p1 = MyClass()
print(p1.x)

创建类时,将创建一种新的对象类型,该对象允许该类型的新实例。每个类都将具有其唯一的属性。与其他编程语言相比,Python的类合并使用了最少的语法和语义。

如何使用字符串来调用函数或方法?

有多种技术可以实现此目的,但是最好的方法是使用将字符串映射到函数的字典。使用这种方法,字符串不需要与函数名称匹配。这也是用于模拟案例构造的主要技术:

def a():
    pass

def b():
    pass

dispatch = {'go': a, 'stop': b}  # Note lack of parens for funcs

dispatch[get_input()]()  # Note trailing parens to call function

如何在Python中删除文件

  1. 打开“ Python文件”窗口。
  2. 输入以下编码
import os
os.remove("ChangedFile.csv")
print("File Removed!")

这个任务看起来很简单。您要做的就是os.remove()使用文件名和路径进行调用。Python默认为当前目录。

  1. 运行该应用程序,您应该看到该File Removed!消息。

如何在Python中生成随机数?

在Python中生成随机数,可以使用该randint()函数。

# Program to generate a random number between 0 and 9

# importing the random module
import random

print(random.randint(0,9))

我可以在Python中读取或写入二进制数据吗?

对于复杂和非常规的数据格式,应使用该struct模块。这使您可以获取包含二进制数据的字符串并将其转换为Python对象,反之亦然。

在下面的示例中,代码从文件中读取两个2字节整数和一个4字节大端格式的整数:

f = open(filename, "rb")  # Open in binary mode for portability
s = f.read(8)
x, y, z = struct.unpack(">hhl", s)

有哪些针对Python的GUI工具包?

  • Tkinter Python的标准构建包括tkinter,这是最容易安装和使用的。您可以在此处了解更多信息
  • Kivy: Kivy是用于桌面操作系统和移动设备的跨平台GUI库,它使用Python和Cithon编写。它是MIT许可下的免费开源软件。
  • Gtk +: Python的GObject自省绑定允许您编写GTK + 3应用程序。
  • wxWidgets: wxWidgets是用C ++编写的免费且可移植的GUI。wxPython是wxwidgets的Python绑定,通过纯Python扩展提供了众多功能,而其他绑定则没有。
免责声明:
1. 本站资源转自互联网,源码资源分享仅供交流学习,下载后切勿用于商业用途,否则开发者追究责任与本站无关!
2. 本站使用「署名 4.0 国际」创作协议,可自由转载、引用,但需署名原版权作者且注明文章出处
3. 未登录无法下载,登录使用金币下载所有资源。
IT小站 » Python常见问题解答:常见Python问题的快速解答

常见问题FAQ

没有金币/金币不足 怎么办?
本站已开通每日签到送金币,每日签到赠送五枚金币,金币可累积。
所有资源普通会员都能下载吗?
本站所有资源普通会员都可以下载,需要消耗金币下载的白金会员资源,通过每日签到,即可获取免费金币,金币可累积使用。

发表评论