使用Python编程 | Python入门

0 点赞
Garry's Mod
转载

不沉闷的Python编程指南 简介 你好,读者!很高兴你决定点击这份指南,来学习一些新东西 :3 在这份指南中,你将学习编程领域的新知识,也就是——你将学习Python编程语言。 这份指南非常适合新手,以及那些已经对这门编程语言有一定了解的人。这份指南会比较长,所以你可以先给自己泡杯茶!

Python 简介 Python 是一种高级、解释型编程语言,具有动态类型和自动内存管理功能。它以代码的可读性和对多种编程范式的支持而闻名,包括过程式、面向对象和函数式编程。 如果你是新手,那么所有这些范式、面向对象编程(OOP)、自动类型化等概念对你来说可能都是新的。您不必为此费心,这些我们将在后续章节中讨论。

简单来说,Python是一种易于读写的编程语言。它支持多种编程方法,并且能自动管理内存。Python的特点: 语法简洁易懂(简单,非常适合新手) 标准库丰富(无需外部库即可使用大量功能) 跨平台性(可在不同操作系统上运行) 活跃的社区(几乎总能找到帮助) Python的安装 如前所述,Python是一种跨平台的编程语言。这意味着可以在Python上进行跨平台(更准确地说是跨操作系统)编程。 Windows:访问Python官方网站下载最新版本的Python。运行安装程序时,务必勾选“Add Python to PATH”选项,然后按照安装向导的指示操作。 macOS:通常,macOS已预装Python。macOS有两种下载方式:1. 通过官方网站:访问Python官方网站下载适用于macOS的最新版本Python。运行安装程序,务必勾选【Add Python to PATH】选项。按照安装程序的指示操作。2. 通过Homebrew:brew install python。Linux在Linux系统上,Python通常也是预装的。使用你所使用的发行版的包管理器。例如,对于Ubuntu:sudo apt update,sudo apt install python3。不知道你们怎么样,但我个人更喜欢在Linux系统上编写代码。

IDE选择 IDE是您编写代码的环境。 有许多专门用于编写Python代码的IDE: PyCharm - 优秀的免费IDE,专门用于编写Python代码。 Spyder - 同样是免费的Python IDE,但专为数据科学设计。 Thonny - 也是免费的Python IDE,界面简单,适合初学者。其他编写代码的方式 此外,Python代码不仅可以在专用的集成开发环境(IDE)中编写,还可以在简单的文本编辑器中进行。 例如,Windows系统上的记事本,或者Linux系统上的命令行编辑器Nano,都可以用来编写Python代码。但也有更专业的文本编辑器,例如: Visual Studio Code——出色的跨平台文本编辑器,支持扩展功能,几乎可以用于编写任何编程语言的代码。 Notepad++——同样是文本编辑器,相对更简单,但功能也很丰富! 附:文本编辑器与集成开发环境(IDE)的区别在于,文本编辑器通常不绑定特定的编程语言。在本指南中,我将使用Visual Studio Code编写代码,但建议你使用PyCharm。 第一个程序 我们不会立即深入Python语言的细节,而是先编写第一个程序,在控制台输出“Hello World!”。 打开你的IDE,创建一个hello.py文件(你可以创建任意名称的文件,只要结尾是.py(英文)即可)。 顺便说一下,所有的Python代码文件都以.py结尾。打开您创建的文件,将以下代码重新编写并插入其中: print("Hello world!") 这就是我们的程序! 要运行它,可以通过以下几种方法: 如果您使用的是IDE,例如PyCharm: 只需点击右上角的Run按钮(箭头图标)。 如果您使用的是文本编辑器,例如VSC: 打开终端(控制台)。 导航到包含您代码文件的目录(文件夹)。 输入命令python hello。py(或python3 hello.py)(hello.py是你创建的文件) 之后,你应该会在控制台(或调试窗口,如果你使用IDE的话)中看到一行: Hello world! 如果你看到了这行字,且整个过程没有出现错误,那么恭喜你,为自己感到骄傲吧,你写出了你的第一个Python程序!

详细解析将在下一章进行。 第一章程序解析 在本章中,我们将详细解析上一章中的程序和代码。 在本章开头,我让大家创建一个hello.py文件。 在这个文件中,hello只是一个名称,关键是文件名必须是英文且没有任何空格,你可以随意命名,无论是main.py还是sus.py都可以。 关键要记住: 好的做法: 文件名中只包含英文字母。 没有空格。根据文件名可以了解代码的功能。 文件名不宜过长。 例如:main.py、hello.py、tensor.py、vector.py、math.py 不好的命名方式: 不是英文命名(如меин.py) 包含空格(如hello world.py) 名称过长(如myFirstProgramHelloWorld.py) 没有反映程序功能(如文件名为hello.py,但代码是用于加法运算的) .py是Python代码文件的扩展名。实际上,不一定非要将文件扩展名设为这样,仍然可以通过控制台用Python来运行它。例如,你可以创建一个名为main的文件(不带.py),在里面写下代码print("Hello world!"),然后尝试在控制台中运行:python main,你的代码仍然可以正常工作。但实际上,除非打开文件查看,否则无法知道这是什么类型的文件,尤其是在团队协作时。因此,.py是表明该文件包含Python代码的标识。代码解析:我们现在来进行代码解析! 这里我们将分析以下代码 print("Hello world!") 这段代码的作用是在控制台输出"Hello world!"(我想这是很明显的)。 这里的print()是一个用于在控制台输出信息的函数。 括号内的内容是函数的参数,也就是print()函数将要处理的数据。 不同的函数会接收不同的数据,但print()函数专门接收需要在控制台输出的数据,这就是该函数的全部功能。“Hello world!”——这是需要输出的数据。 在Python中,所有数据都有其数据类型,虽然它们通常不像C++那样显式定义,而是由解释器为我们完成。 具体来说,“Hello world!”的数据类型是string(字符串)。 现在不必纠结所有细节!只需记住print()会输出某些数据即可!

只需记住,存在函数及其参数,还有数据类型,所有这些我们都会在本指南中讲解! 最重要的解析内容! print() - 函数。 "Hello world!" - 要输出的数据,类型为字符串。 基本概念 正如我所说,在Python中有函数、参数和数据类型。 但这些都只是冰山一角。 首先我们来讲解数据类型。数据类型 在Python中存在数据类型,尽管它们不像C++、C或其他语言那样直接声明,而是由解释器自动确定。Python中有几种基本数据类型: 数字:int(整数)、float(浮点数)、complex(复数,即普通数字和带小数点的数字) 字符串:str(字符串,例如"Hello world") 布尔值:bool(布尔(逻辑)值,要么是True,要么是False) 列表:list 元组:tuple 字典:dict 集合:set 示例: # 数字 x = 10 # int y = 3.14 # float z = 2 + 3j # complex # 字符串 name = "Python" # 布尔值 is_active = True # 列表 fruits = ["苹果", "香蕉", "樱桃"] # 元组 coordinates = (10.0, 20.0) # 字典 person = {"имя": "阿列克谢", "возраст": 30} # 集合 unique_numbers = {1, 2, 3, 4, 5} 不同的数据类型用于不同的任务,所有这些我们稍后都会讲解。 而且不需要一下子都记住!! 变量变量 - 就是内存单元,它们只是存储数据。 我们几乎所有时间都要和这些变量打交道。正如我所说,变量存储着特定的值,我们可以通过调用这些变量来获取其中存储的值,并对该值本身或变量进行操作。 变量操作: 我们可以对变量执行以下几种操作,即: 创建变量并为其赋值。 获取变量的值。 替换变量的值。在Python中不能创建没有值的变量,例如像C++中的int x;那样! 要声明变量,只需写成: <变量名> = <值> 这就是声明变量的基本语法。 请务必记住! 不能使用关键字(保留字)作为变量名,例如if、else、class等。 不能使用内置函数和模块的名称作为变量名,例如print、str、int等。 变量不能以数字开头!(变量名首字母不能是数字),但可以在其他位置包含数字。 变量名不能包含点、空格等特殊符号,但可以包含下划线“_”。 变量声明示例: x = 5; # 整数 catName = "Tofca" # 字符串 pi = 3.14 # 浮点数 附:你好,托夫卡 :3

Python运算符支持多种类型: 算术运算符:+、-、*、/、//、%、**(分别为加法、减法、乘法、除法、整除、取余、幂运算) 比较运算符:==、!=、>、<、>=、<=(分别为等于、不等于、大于、小于、大于等于、小于等于) 逻辑运算符:and、or、not(分别为逻辑与、逻辑或、逻辑非) 赋值运算符:=、+=、-= 等(变量赋值) 示例: a = 5 b = 2 # 算术运算符 print(a + b) # 7 print(a ** b) # 25 # 比较 print(a > b) # True,如果a大于b # 逻辑运算 print(a > 3 and b < 5) # True 控制结构 这里我们融入逻辑并进行逻辑思考……

Используются для выполнения различных блоков кода в зависимости от условий. (Условия по типу: выполнить этот код, если a равен b) P.s. забыл сказать, все в коде, что идет после #, это коментарий, он не выполняется программой, там можно оставлять заметки. Пример: age = int(input("Введите ваш возраст: ")) # функция для ввода через консоль if age &gt; 18: # проверяем, если возраст (age) больше 18, то выполняем код ниже print("Вам можно певко))") # код сработает, если условие строкой выше вернет True elif age == 18: # elif (else if) срабатывает, если прошлое условие вернуло False print("Да, вам можно певко, но иногда, когда вам 18, не продают") else: # если все прошлые условия вернули False, то мы с помощью else переходим к этому блоку кода в любом случае print("ВАМ НЕЛЬЗЯ, НАЙН, ПЛОХО!!!") Тернарный операторТернарный оператор в Python позволяет сократитьусловную конструкцию, которые состоят и- простых условий. За счет них, можно записать условные конструкции компакино, в одну строку. Пример простого условия ii condition: result = 1 else: result = 0/code] Мы можем сократить это условие до одной строки, используя тернарный оператор: result = 1 if condition else 0 Этот код делает то же самое, что и предыдущий, но записан гораздо компактнее. Условие с вложенными тернарными операторамиТакже, питон позволяет нам использовать тернарные оператор, для вложенных условных конструкций! Это может быть полезно, когда нужно обработать несколько вариантов результата. Пример: x = 10 result = "Positive" if x &gt; 0 else "Negative" if x &lt; 0 else "Zero" print(result) В этом примере мы проверяем, положительное ли число, отрицательное или равно нулю, и записываем соответствующий результат. Сокращение условий с выводом в printЧасто бывает полезно применять тернарный оператор непосредственно в функции print для более компактных и чистых выводов. Например: print(1 if True else 0) Или для вывода более сложных условий: x = -5 print("Positive" if x &gt; 0 else "Negative" if x &lt; 0 else "Zero") # Вывод: Negative Как видно, тернарный оператор позволяет сократить код, улучшив его читабельность и упрощая обработку условий. ЦиклыВ циклах мы выплняем один и тот же код (в рамках цикла) определённое (иногда неопределённое) количество раз. Есть несколько стандартных цикла: for - используется для перебора элементов в коллекции. while - выполняет блок кода, пока условие истинно. Примеры: Цикл for fruits = ["яблоко", "банан", "вишня"] # просто коллекция с какими то данными for fruit in fruits: print(fruit) Теперь разберём: fruits = ["яблоко", "банан", "вишня"] - просто содержит в себе какие то данные for fruit in fruits: - цикл for, с помошью него мы перебираем элементы поочерёдно, каждый цикл мы берём элемент, помещаем его в переменную fruit (её можно назвать как угодно), и после выполнения кода в цикле переходим к следующему элементу в коллекции. print(fruit) - здесь мы берем нашу переменную fruit, и выводим в консоль её значение. Цикл while count = 0 while count &lt; 5: print(count) count += 1; # увеличивает count на 1, можно записать как count = count + 1 или count++ Теперь разберём: count = 0 - это нас счетчик. while count &lt; 5: - цикл while, с условием, что он будет работать пока переменная count &lt; 5. print(count) - выводим значение переменной count. count += 1 - увеличиваем наш счетчик на единицу. В целом, это вся основная логика условных операторов, и циклов. Функции Функции позволяют организовать код в переиспользуемые блоки, то есть, можно организовать и оптимизировать код с помощью функций. Основной синтаксис функций: def &lt;имя функции&gt;(аргументы) : &lt;тело функции&gt; return &lt;значение&gt; # не обязательно А теперь разберём по частям: Имя функции - имя, по которой мы будет к ней обращаться. Аргументы - данные, с которыми будет работать функция, в целом, можно обойтись и без них. Тело функции - основной код функции. return &lt;значение&gt; - значение, которое будет возвращать функция. В целом, она может ничего и не возвращать. Пример функции def add(a, b): return a + bфункция для сложения 2 чисел def greet(name): print(f"Привет, {name}!")Принимает значение name и выводит в консоль сообщение с приветствием. Ещё прошу обратить внимание на строку f"Привет, {name!}", а именно на знак "f" перед строкой. Это - модификатор для нашей строки, с помощью него мы можем в текст вставить фигурные скобки {}, и передать туда значение, которое потом выведется c cообщением. Списки и генераторы Списки в Python — это один из самых универсальных типов данных. Они позволяют хранить коллекции элементов, с которыми можно легко работать. Однако ещё более мощным инструментом являются генераторы списков. Пример простого списка: numbers = [1, 2, 3, 4, 5] Однако намного эффективнее создавать списки с помощью генераторов. Например, если нам нужно создать список квадратов чисел: squares = [x**2 for x in range(1, 6)] print(squares) Вывод: Вывод: [1, 4, 9, 16, 25] Генератор списка позволяет сократить количество кода и сделать его более читабельным. Использование map Функция map позволяет применить заданную функцию ко всем элементам итерируемого объекта (списка, множества, и т. д.). Это помогает избежать явных циклов и ускоряет код. Пример использования map: numbers = [1, 2, 3, 4, 5] squares = list(map(lambda x: x**2, numbers)) print(squares) Вывод: [1, 4, 9, 16, 25] Здесь мы применяем лямбда-функцию, которая возводит числа в квадрат, ко всем элементам списка numbers. Работа с модулями и пакетами Питон поддерживает работу с модулями и пакетми (иногда их называют библиотеками) Модули позволяют разделять код на отдельные файлы и переиспользовать его. Так же, с помощью менеджера пакета pip можно скачивать и использовать чужие модули и пакеты в своих проектах. Чтобы работать с модулем, его нужно импортировать ключевый словом import. import math print(math.sqrt(16)) # 4.0 Данный код вернёт корень числа 16. Давайте разберём подробнее: Сначала мы импортируем модуль math, с использвоанием ключевого слова import. Потом мы выводим корень из числа 16, для этого мы обращаемся к модулю math и берем оттуда функцию извлечения корня из числа (sqrt), и передаем туда число, из которого мы хотим извлечь корень. Также, мы можем испортировать из модуля только отдельные функции: from math import pi, sin print(pi) # 3.141592.... print(sin(pi / 2)) # 1 Давайте разберём этот код: Из модуля math мы импортируем функцию sin и переменную pi (число пи). Выводим число пи. Выводим синус половины числа пи. Ещё вы можете создать свой модуль! Создайте файл main.py и myModule.py в одной директории. Напишите код в myModule.py def greet(name): print(f"Hello, {name}!") Теперь вы можете импортировать этот модуль! Для этого откройте main.py, и напишите следующее: import myModule myModule.greet("Tofca") Примите мои поздравления, вы создали Свой модуль, и импортировали его!

数据结构 这里将简要快速地介绍,因为这些结构都是数组。 列表 可变的有序集合。 fruits = ["苹果", "香蕉", "樱桃"] fruits.append("橙子") # 在末尾添加新元素 print(fruits) # ['苹果', '香蕉', '樱桃', '橙子'] 元组 不可变的有序集合。 coordinates = (10.0, 20.0) print(coordinates[0]) # 10.0 附:0是元素的索引,在编程中计数总是从0开始!字典person = {"имя": "阿列克谢", "возраст": 30} print(person["имя"]) # 阿列克谢 # 添加新元素 person["город"] = "莫斯科" print(person) 集合无序的唯一元素集合。 unique_numbers = {1, 2, 3, 2, 1} print(unique_numbers) # {1, 2, 3} # 集合运算 a = {1, 2, 3} b = {3, 4, 5} print(a.union(b)) # {1, 2, 3, 4, 5} print(a.intersection(b)) # {3} 面向对象编程(ООП) 面向对象编程(缩写面向对象编程(ООП)是一种编程方法,用于对具有构造函数和继承功能的对象进行建模。简单来说,你可以创建一个对象,该对象会有自己的变量、方法(函数)和构造函数。例如,你可以创建一个交通工具类,它包含重量、生产年份、名称等参数,以及启动该交通工具等函数。基于这个对象,可以派生出汽车、飞机和轮船等子类,它们都将继承父类的字段和函数,但同时也可以拥有各自独特的函数和参数。无法识别或无法翻译,已删除。无法识别或无法翻译,已删除。

实践 实践是掌握编程的关键。以下是一些项目创意: 计算器:创建一个用于执行算术运算的控制台应用程序。 待办事项列表:一款能够添加、删除和查看任务的任务管理应用。 网络爬虫:使用BeautifulSoup库从网站上收集数据。 博客:使用Django或Flask框架创建一个网络应用程序。游戏:开发一个简单的游戏,例如“猜数字”或“井字棋”。 算法:编写一个用于简单排序数字数组的函数,例如冒泡排序。 结束 这份指南虽然比较长,但希望您能喜欢! 如果您对这个主题感兴趣,我可以发布更多关于更专业主题的指南。希望这份指南能让你满意,也希望你能从中有所收获。这里呈现的所有内容,都是我五年来在Python编程方面积累的个人知识。当然,这些知识仅仅是冰山一角,还有非常非常多的内容可以分享,但本指南仅介绍理解这门语言所必需的基础知识。无论如何,感谢您阅读这份指南!

其他指南: