Python编程入门指南

对于想要学习C++、JavaScript、R或任何其他编程语言的人来说,Python是一个不错的选择。本文将跳过那些重复的基础概念,直接展示Python中这些概念的实现,让能够立即开始编码。

目录

  • “Hello World”示例
  • 如何在系统中安装和使用Python(非常简单)
  • Python基础(文章的核心)
  • Python面向对象编程(可以跳过)
  • 如何继续学习

1. “Hello World”示例

这里不是简单的“Hello World”。要求用户输入他的名字,并个性化地问候他。

name = input("请输入名字:") print(f"好,{name}!")

在Python中,input()函数用于在屏幕上提示输入并返回键入的内容,而print()函数用于在屏幕上打印内容。不需要声明“main”函数或包含任何库。习惯于Python编程的简洁性。

2. 安装和设置

安装Python非常简单。如果使用的是Linux,Python应该已经包含在系统中。只需尝试运行python --version来检查它以及版本。如果Python尚未安装,请访问下载适合操作系统的Python版本。

要运行Python脚本,只需输入python scriptname.py。可以使用任何文本编辑器编辑脚本,但如果想要更舒适的体验,推荐使用免费的。确保点击正确的链接(在右侧)下载社区版。

另一个学习Python的好方法是使用。可以将其视为一个增强版的交互式解析器。虽然它需要一些时间来设置和习惯,但在这里不会涵盖它。如果希望写一篇关于Jupyter Notebook的文章,请留言。

3. Python基础

现在准备好开始学习了。将展示一个(无意义的)代码片段,展示Python的基本元素。如果想知道“该如何再次定义一个函数?”,可以将其作为参考。将在代码片段之后详细介绍每个部分。

# 这是一个注释 # 一些变量 num_var = 1 str_var = "好" list_var = [1, "2", 3.5, 3+5] arr_bool = not True and 3 != 4 # 控制结构 if num_var == 1: print("num_var = 1") elif num_var != 2 and not num_var > 7: print("num_var 不是 2") else: num_var = 0 # 循环 - 打印 list_var 的元素三次 for i in range(3): for j in list_var: print(j) while num_var < 2: num_var += 1 # 函数定义 def root(x, y=2): return x**(1 / y) print(root(2)) # 1.414... print(root(8,3)) # 2.0 # 数组操作 my_list = [1, 2, 3, 4, 5] print(my_list[0]) # 1 print(my_list[2:4]) # [3,4]

让从注释开始。只需使用##之后的所有内容都被视为注释。

接下来是变量。不需要以任何方式声明它们,Python会自动决定使用哪种类型。代码片段显示了int/float、数组(在Python中称为list)和布尔值。为了完整性,还有更高级的类型,如复数、集合和字典,这里不会涵盖。

变量上典型的操作符包括基本的+,-,/,*和更高级的%(模除)、//(整数除法)、**(幂函数)。布尔函数使用“and”、“or”、“not”等词。逻辑比较是==, !=, <, >, <= 和 >=

接下来是一个简单的条件语句if。会注意到没有括号,这是一个非常不寻常的景象。Python如何知道哪部分属于什么?它通过使用缩进来代替括号。条件满足后执行的代码在“:”之后开始,在缩进块之后结束。因此,保持适当的缩进级别非常重要!再次强调:缩进代替了括号。

if可以有elif(else if)和else部分。

循环:可以循环遍历所谓的“可迭代对象”。不要纠结于技术术语,基本上,可以使用for i in range(x)通过执行x次来执行一个语句。请注意,i将从“0”开始,以x-1结束。

不过,可以使用列表代替。Python在这里让生活变得非常简单。代码片段显示了一个循环,它打印列表的项三次。

while循环非常直观。

让继续函数声明:

def root(x, y=2):

定义了一个带有两个参数x和y(默认值为2)的函数,并返回x的y次根。可以通过简单地使用root()来调用函数。

基础知识的最后一部分展示了列表的使用。如果想访问列表的单个元素,请使用方括号和索引号。请记住从0开始计数。也可以访问列表的一部分。这有点违反直觉,因为listname[a:b]返回从第a个元素开始到第b个元素之前的元素列表。这经常会导致一些混淆和难以发现的错误。

以上就是Python基础知识的全部内容——现在可以编写第一个脚本,并稍微尝试使用Python。请继续关注面向对象编程和一些学习建议。

如果在面向对象编程(OOP)领域,那么是的,Python也可以做到这一点。这里再次是一个代码片段:

# 类定义 class Pet: # 类变量 sound = "发出一些声音" # 类构造函数 def __init__(self, name, animal): self.name = name + " the " + animal # 类方法 def make_noise(self): return self.name + " " + self.sound # 创建一个对象 peter = Pet('Peter', 'turtle') print(peter.name) # 打印 "Peter the turtle" print(peter.make_noise()) # "Peter the turtle 发出一些声音" # 子类 class Dog(Pet): sound = "barks" # 调用超类 def __init__(self, name): super().__init__(name, "dog") spike = Dog("Spike") print(spike.make_noise()) # Spike the dog barks

在这里,定义了一个名为Pet的类,创建了一个从Pet继承的子类Dog,并展示了一些类方法和变量。

让从class Pet:开始。这与之前看到的函数定义语法相同。如果使用参数class Dog(Pet):,这个类被定义为子类,声明其父类作为参数。

任何缩进的代码都被视为属于类的代码(记住,缩进代替了括号)。所以“sound”是一个只在类中可用的变量,即一个属性。

暂时跳过构造函数__init__,从类方法make_noise(self)开始。可能想知道“self”是什么意思。它引用调用此方法的对象。所以self.soundself.name指的是属性的sound和name。

方法__init__是构造函数。假设熟悉基本的OOP,所以在这里只想提一下,这个方法在创建对象时被调用。使用self.name和name可能有点令人困惑,但请记住self.name指的是与对象一起存储的属性,而name指的是调用方法时传递的参数。

可以通过object = class(parameters)创建一个对象,在这种情况下peter = Pet('Peter', 'turtle')。这调用了构造函数并返回了新对象。

要访问属性,请调用object.property,如peter.name。请注意,与C++等语言不同,Python中没有区分私有和公共属性。

调用方法类似于object.method(parameters),参见peter.make_noise()

现在让创建一个子类:class Dog(Pet)继承了父类的属性和方法。当然可以覆盖任何属性和方法。要调用超类方法,使用“super()”,如:super().__init__(name, "dog")

这是Python面向对象编程功能的简短介绍,让开始使用。当然,还有更多功能,如重载、静态方法、多重继承等,但这至少是另一篇文章的内容。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485