Программирование с нуля python: Самоучитель Python | Python 3 для начинающих и чайников
Содержание
Python 3 для начинающих и чайников
Основные модули в Python 3. Описание модулей и перевод документации к ним.
Формат CSV (Comma Separated Values) является одним из самых распространенных форматов импорта и экспорта электронных таблиц и баз данных. CSV использовался в течение многих лет до того, как был стандартизирован в RFC 4180. Запоздание четко определенного стандарта означает, что в данных, создаваемых различными приложениями, часто существуют незначительные различия. Эти различия могут вызвать раздражение при обработке файлов CSV из нескольких источников. Тем не менее, хотя разделители, символы кавычек и некоторые другие свойства различаются, общий формат достаточно универсален. Значит, возможно написать один модуль, который может эффективно манипулировать такими данными, скрывая детали чтения и записи данных от программиста.
Читать далее…
Модуль shutil содержит набор функций высокого уровня для обработки файлов, групп файлов, и папок. В частности, доступные здесь функции позволяют копировать, перемещать и удалять файлы и папки. Часто используется вместе с модулем os.
Читать далее…
Представьте, что вы написали какую-либо программу, а теперь хотите проверить, правильно ли она работает. Что вы для этого сделаете? Скорее всего, вы запустите её несколько раз с различными входными данными, и убедитесь в правильности выдаваемого ответа.
А теперь вы что-то поменяли и снова хотите проверить корректность программы. Запускать ещё несколько раз? А если потом снова что-то поменяется? Нельзя ли как-то автоматизировать это дело?
Оказывается, можно. В Python встроен модуль unittest, который поддерживает автоматизацию тестов, использование общего кода для настройки и завершения тестов, объединение тестов в группы, а также позволяет отделять тесты от фреймворка для вывода информации.
Читать далее…
Модуль subprocess отвечает за выполнение следующих действий: порождение новых процессов, соединение c потоками стандартного ввода, стандартного вывода, стандартного вывода сообщений об ошибках и получение кодов возврата от этих процессов.
Читать далее…
Модуль fractions предоставляет поддержку рациональных чисел.
Читать далее…
Модуль cmath – предоставляет функции для работы с комплексными числами.
Читать далее…
Модуль glob находит все пути, совпадающие с заданным шаблоном в соответствии с правилами, используемыми оболочкой Unix. Обрабатываются символы «*» (произвольное количество символов), «?» (один символ), и диапазоны символов с помощью []. Для использования тильды «~» и переменных окружения необходимо использовать os.path.expanduser() и os.path.expandvars().
Читать далее…
Операция присваивания не копирует объект, он лишь создаёт ссылку на объект. Для изменяемых коллекций, или для коллекций, содержащих изменяемые элементы, часто необходима такая копия, чтобы её можно было изменить, не изменяя оригинал. Данный модуль предоставляет общие (поверхностная и глубокая) операции копирования.
Читать далее…
Модуль functools — сборник функций высокого уровня: взаимодействующих с другими функциями или возвращающие другие функции.
Читать далее…
os.path является вложенным модулем в модуль os, и реализует некоторые полезные функции для работы с путями.
Читать далее…
1 из 3123
Категории
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
Полезные материалы
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Мы в соцсетях
как освоить Python с нуля за 30 минут?
Прочитав статью, вы познакомитесь с особенностями языка Python, основными типами данных, условными операторы, циклами и работой с файлами. В заключении приведена подборка литературы и каналов на YouTube, а также бесплатных курсов.
***
Установка Python
Python в Ubuntu предустановлен. Чтобы узнать версию Python, откроем терминал комбинацией клавиш Ctrl + Alt + T
и введем следующую команду:
python3 --version
Для Windows нужно скачать Python с официального сайта и установить как обычную программу.
Установка редактора кода
Для работы нам понадобится редактор кода (IDE). Самые популярные:
- PyCharm
- Atom
- Visual Studio Code
- Sublime Text
Для установки Atom в Ubuntu введем в терминале:
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - sudo sh -c 'echo "deb [arch=amd64] https://packagecloud. io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list' sudo apt-get update sudo apt-get install atom
Рис. 1. Страница установки Atom для Windows
Для Windows скачаем Atom с официального сайта. После установки редактора кода установим для него плагин run-python-simply
(есть и другие) для запуска Python. Два способа установки:
- Перейдем на страничку плагина и нажмем кнопку
Install
. - Откроем Atom, перейдем во вкладку
File
→Settings
→Install
, введем в поле поискаrun-python-simply
и установим его.
Создание проекта
Создадим проект, в котором будем хранить код и другие файлы. Для этого перейдем во вкладку File
→ Add Project Folder
и выберем любую свободную папку.
Онлайн-редакторы кода
Если под рукой только смартфон, воспользуемся бесплатными онлайн-редакторами кода:
- repl. it
- onlinegdb.com
- tutorialspoint.com
- paiza.io
- onecompiler.com
1. Синтаксис
Python использует отступы, чтобы обозначить начало блока кода:
if 3 > 1: print("Три больше единицы") # Три больше единицы
Python выдаст ошибку, если вы пропустите отступ:
if 3 > 1: print("Три больше единицы") # Ошибка: IndentationError: expected an indented block
Рекомендуется использовать отступ, равный четырем пробелам.
2. Hello, World
Создадим файл example.py
, где example
– имя файла, .py
– расширение, которое означает, что программа написана на языке программирования Python.
Напишем в example. py
следующую строчку:
print('Hello, World') # Hello, World
У нас установлен плагин run-python-simply
и запустить код мы можем двумя способами:
- перейти во вкладку
Packages
→Run Python Simply
→Toggle F5
; - или нажать на клавишу
F5
.
После запуска кода появится окно терминала с результатом или ошибкой.
В нашем случае в терминале отобразится фраза Hello, World
.
Здесь:
print()
– функция, выводящая на экран фразу Hello, World
.
'Hello, World'
– строка (заключена в кавычки).
Также можно использовать переменную word
, которой присвоим значение 'Hello, World'
:
word = 'Hello, World' print(word) # Hello, World
Python – язык с динамической типизацией, то есть нам не нужно заранее объявлять тип переменной, является ли она строкой, числом и так далее.
О функциях поговорим в конце статьи, сейчас разберемся со строками и другими типами данных.
3. Типы данных
3.1. Строки
Строка – упорядоченная последовательность символов, заключенная в одинарные или двойные кавычки:
"Cat and dog" # пример записи строки 'Cat and giraffe'
Операции со строками
Изменение регистра первого символа к верхнему регистру с помощью метода title()
:
string = 'cat' print(string.title()) # Cat
Преобразование всех символов к верхнему и нижнему регистру методами upper()
и lower()
соответственно:
string = 'cat' print(string.upper()) # CAT string = 'DOG' print(string.lower()) # dog
Объединение строк (конкатенация). Строки объединяются с помощью знака сложения +
:
first_animal = 'cat' second_animal = 'dog' all_animals = first_animal + ',' + ' ' + second_animal print(all_animals) # cat, dog
Повторение строки:
animal = 'Cat' print(animal * 5) # CatCatCatCatCat
Вычисление длины строки. Чтобы определить длину строки воспользуемся встроенной функцией len()
(сокращённое от англ. length):
animal = 'Cat' print(len(animal)) # 3
Рис. 2. Доступ к элементу строки по индексу в Python
Индексация начинается с 0
. В нашем случае символ C
имеет индекс 0
, a
– 1
, t
– 2
.
Для получения элемента по индексу воспользуемся квадратными скобками []
:
animal = 'Cat' print(animal[0]) # C
В предыдущем примере по индексу мы получали один элемент строки. По срезу можно получить несколько элементов:
animal = 'CatDog' print(animal[1:3]) # at print(animal[0:6:2]) # Cto – выводится нулевой элемент и каждый второй после него
Как формируется срез:
list_name[start:stop:step]
, где start
– начало среза, stop
– конец среза, step
– шаг среза.
Получим с помощью среза последний элемент:
animal = 'CatDog' print(animal[-1]) # g
Все элементы, кроме первого:
animal = 'CatDog' print(animal[1:]) # atDog
Все элементы, кроме последнего:
animal = 'CatDog' print(animal[0:5]) # CatDo print(animal[:5]) # CatDo print(animal[:-1]) # CatDo
Создание копии строки через срез:
animal = 'CatDog' animal_copy = animal[:] print(animal_copy) # CatDog
Методом replace()
заменим символы в строке:
animal = 'CatDog' print(animal. replace('Cat', 'Dog')) # DogDog
В скобках метода replace()
указана дополнительная информация: Cat
– элемент, подлежащий замене на элемент Dog
.
Для удаление пробелов слева и справа применяется метод strip()
, только справа – rstrip()
, только слева – lstrip()
:
animal = ' CatDog ' print(animal.strip()) # CatDog print(animal.rstrip()) # CatDog – здесь остался пробел слева print(animal.lstrip()) # CatDog – здесь остался пробел справа
Преобразование строки в список индивидуальных символов:
animal = 'CatDog ' print(list(animal)) # ['C', 'a', 't', 'D', 'o', 'g', ' ']
3.2. Числа
Целые числа (int) не имеют дробной части:
print(25 + 0 - 24) # 1
Число с плавающей точкой (float) имеет дробную часть:
print(2. 8 + 4.1) # 6.8999999999999995
Операции над числами:
print(2 + 3) # Сложение: 5 print(5 - 4) # Вычитание: 1 print(5 * 5) # Умножение: 25 print(4 / 2) # Деление: 2.0 print(4 ** 4) # Возведение в степень: 256
Порядок операций. Выражение в скобках будет просчитываться в первую очередь:
print(3*4 + 5) # 17 print(3*(4 + 5)) # 27
Чтобы преобразовать число с плавающей точкой в целое воспользуемся функцией int()
, а для обратного преобразования – функцией float()
:
print(int(5.156)) # 5 print(float(4)) # 4.0
3.3. Списки
Список (англ. list) – набор упорядоченных элементов произвольных типов. Списки задаются квадратными скобками []
и содержат объекты любого типа: строки, числа, другие списки и так далее. Элементы можно менять по индексу.
Создадим список animals
и выведем его на экран:
animals = ['cat', 'dog', 'giraffe'] print(animals) # ['cat', 'dog', 'giraffe']
Обратимся к второму элементу списка:
animals = ['cat', 'dog', 'giraffe'] print(animals[1]) # dog
Чтобы изменить элемент списка, обратимся к нему по индексу и присвоим новое значение:
animals = ['cat', 'dog', 'giraffe'] print(animals) # ['cat', 'dog', 'giraffe'] animals[2] = 'orangutan' # меняем третий элемент print(animals) # ['cat', 'dog', 'orangutan'] animals[2] = ['orangutan'] print(animals) # ['cat', 'dog', ['orangutan']] – список внутри списка, вложенный список
Для добавления элемента в конец списка воспользуемся методом append()
:
animals = ['cat', 'dog', 'giraffe'] animals. append('tyrannosaurus') print(animals) # ['cat', 'dog', 'giraffe', 'tyrannosaurus']
Метод insert()
вставляет элемент по индексу:
animals = ['cat', 'dog', 'giraffe'] animals.insert(1, 43) print(animals) # ['cat', 43, 'dog', 'giraffe']
Число 43
вставляется на место с индексом 1
, остальные элементы сдвигаются вправо. Первый элемент остается на прежнем месте.
Для удаления элемента из списка, обратимся к элементу по индексу, используя команду del
:
animals = ['cat', 'dog', 'giraffe'] del animals[2] print(animals) # ['cat', 'dog']
Другой способ удаления – метод pop()
:
animals = ['cat', 'dog', 'giraffe'] animals.pop(2) print(animals) # ['cat', 'dog']
В двух предыдущих примерах мы удаляли элемент по его индексу. Теперь удалим элемент по его значению с помощью метода remove()
:
animals = ['cat', 'dog', 'giraffe'] animals.remove('dog') print(animals) # ['cat', 'giraffe']
Чтобы упорядочить список по алфавиту используем метод sort()
:
animals = ['giraffe', 'cat', 'dog'] animals.sort() print(animals) # ['cat', 'dog', 'giraffe']
Список в обратном порядке выводится методом reverse()
:
animals = ['cat', 'dog', 'giraffe'] animals.reverse() print(animals) # [giraffe', 'dog', 'cat']
Для определения длины списка воспользуемся функцией len()
:
animals = ['cat', 'dog', 'giraffe'] print(len(animals)) # 3
3.4. Кортежи
Рис. 3. Доступ к элементам кортежа по индексу в Python
Кортеж (англ. tuple), как и список хранит элементы, только в отличие от списка, элементы кортежа не изменяются. Кортеж задается круглыми скобками ()
:
animals = ('cat', 'dog', 'giraffe') print(animals[0]) # Получение элемента кортежа с индексом 0: cat
Одноэлементный кортеж задается с помощью запятой после первого элемента. Без запятой получим строку. Чтобы узнать какой тип данных мы получаем на выходе воспользуемся функцией type()
:
animals = ('cat',) print(animals) # ('cat',) print(type(animals)) # <class 'tuple'> – кортеж animals = ('cat') print(animals) # cat print(type(animals)) # <class 'str'> – строка
Конкатенация кортежей:
print(('cat',) + ('dog', 2)) # ('cat', 'dog', 2)
Повторение кортежа:
print(('cat', 'dog', 4) * 2) # ('cat', 'dog', 4, 'cat', 'dog', 4)
Срез кортежа:
animals = ('cat', 'dog', 'giraffe') print(animals[0:1]) # ('cat',) print(animals[0:2]) # ('cat', 'dog')
Чтобы создать список из элементов кортежа применим функцию list()
:
animals_tuple = ('cat', 'dog', 33) animals_list = list(animals_tuple) print(animals_list) # ['cat', 'dog', 33]
3.
5. Словари
Рис. 4. Устройство словаря в Python
Словарь – неупорядоченная коллекция произвольных элементов, состоящих из пар «ключ-значение». Словарь объявляется через фигурные скобки {}
: dictionary = {‘pets
‘: ‘cat
‘, ‘numbers
‘: (1, 2)
}, где pets
и numbers
– ключи, а cat
, (1, 2)
– значения. Если в списке мы получаем объект по его индексу, то в словаре по ключу.
Получим по ключам соответствующие значения из словаря dictionary
:
dictionary = {'pets': 'cat', 'numbers': (1, 2)} print(dictionary['pets']) # cat print(dictionary['numbers']) # (1, 2) print(dictionary['numbers'][1]) # 2
Чтобы добавить новую пару «ключ-значение» используем следующую запись словарь['новый_ключ'] = новое_значение
:
dictionary = {'pets': 'cat', 'numbers': (1, 2)} dictionary['dinosaur'] = 'tyrannosaurus', 'pterodactylus' print(dictionary) # {'pets': 'cat', 'numbers': (1, 2), 'dinosaur': ('tyrannosaurus', 'pterodactylus')}
Изменение существующего значения похоже на добавление нового значения словарь['существующий_ключ'] = новое_значение
:
dictionary = {'pets': 'cat', 'numbers': (1, 2)} dictionary['pets'] = 'dog' print(dictionary) # {'pets': 'dog', 'numbers': (1, 2)}
Командой del
можно удалить ключ со значением:
dictionary = {'pets': 'cat', 'numbers': (1, 2)} del dictionary['pets'] print(dictionary) # {'numbers': (1, 2)}
3.
6. Множества
Множества – неупорядоченные последовательности не повторяющихся элементов. Множество задается через фигурные скобки {}
:
animals_and_numbers = {'cat', 'dog', 99, 100} print(animals_and_numbers) # {'cat', 99, 100, 'dog'}
Операции над множествами:
animals_and_numbers = {'cat', 'dog', 99, 100} numbers = {555, 99} animals = {'cat', 'dog'} print(animals_and_numbers.union(numbers)) # {'cat', 99, 100, 'dog', 555} – добавляет в множество animals_and_numbers элементы множества numbers print(animals_and_numbers.intersection(numbers)) # {99} – возвращает множество, являющееся пересечением множеств animals_and_numbers и numbers print(animals_and_numbers.difference(numbers)) # {'cat', 'dog', 100} – Возвращает разность множеств animals_and_numbers и numbers print(animals_and_numbers.issuperset(animals)) # True – Возвращает True, если animals является подмножеством animals_and_numbers.
3.7. Файлы
С помощью функции open()
мы создаем файловый объект для работы с файлами. Создадим в папке с python-файлом текстовой файл example.txt
, напишем в нем слово test
, сохраним и закроем. Следующий код открывает и выводит на экран содержимое текстового файла example.txt
:
with open('example.txt', 'r') as file: for line in file: print(line)
Здесь:
example.txt
– путь к файлу и его имя. В нашем случае файл расположен в папке с выполняемой программой.
r
– режим работы «только чтение».
Попробуем дозаписать числа в конец файла:
numbers = ['0', '1', '2', '3'] with open('example.txt', 'a') as file: for number in numbers: file. write(number + '\n') 0 # в файл запишется последовательность чисел, каждое число с новой строчки 1 2 3
Здесь:
numbers
– список чисел.
a
– режим записи «в конец текстового файла».
\n
– перенос на новую строчку.
Без переноса строки результат будет следующий:
numbers = ['0', '1', '2', '3'] with open('example.txt', 'a') as file: for number in numbers: file.write(number) 0123 # результат записи без переноса строки
4. Ввод данных
Для ввода данных применяется функция input()
:
input_word = input('Введите какое-нибудь слово: ') print('Слово: ' + input_word)
5.
Условные инструкции
Рис. 5. Условный оператор if в Python
Оператор if
выполняет код в зависимости от условия. Проверим, если число три меньше пяти, то выведем на экран слово true
:
if 3 < 5: print('true') # true
Попробуем оператор if-else
. else
переводится как «в другом случае». Когда условие if
не выполняется, то идет выполнение кода после else
:
if 3 > 5: print('true') else: print('false') # false
elif
= else
+ if
– код выполняется, если предыдущее условие ложно, а текущее истинно:
number = 15 if number < 3: print('число меньше трех') elif 4 < number < 10: print('число в промежутке от 4 до 10') elif number > 10: print('число больше 10') # число больше 10
6.
Цикл while
Рис. 6. Цикл while в Python
Напишем цикл, который 5 раз выведет на экран слово hello
:
x = 0 while x < 5: print('hello') x += 1 # получаем пять раз слово hello hello hello hello hello hello
Здесь:
while
– обозначение цикла.
x < 5
– условие, которое записывается после while
. Каждый раз после выполнения цикла (после одной итерации) проверяется это условие. Если оно становится ложным, цикл прекращает работу.
print('hello')
– вывести на экран слово hello
.
x += 1
– это сокращенный способ записи x = x + 1
. То есть при каждой итерации значение x увеличивается на единицу.
Бесконечный цикл записывается с помощью while True
:
while True: print('hello') hello hello hello hello hello …
7. Цикл for
Рис. 7. Цикл for в Python
Цикл for
перебирает элементы последовательности:
numbers = ['0', '1', '2', '3'] for i in range(0, len(numbers)): print(numbers[i]) # на экран выводятся числа 0, 1, 2 и 3 0 1 2 3
Здесь:
i
– переменная, которая принимает значение из диапазона значений range(0, len(numbers))
.
range(0, len(numbers))
– последовательность чисел от 0
до значения длины списка numbers
.
print(numbers[i])
– тело цикла, выводит на экран i-й элемент списка numbers
.
Второй вариант записи:
numbers = ['0', '1', '2', '3'] for number in numbers: print(number) # идентичный результат 0 1 2 3
8. Функции
Функция выполняет одну конкретную задачу и имеет имя. Напишем функцию greeting()
, которая выводит на экран приветствие:
def greeting(): # объявление функции print('hello') # тело функции greeting() # запуск функции
Здесь:
def
– создает объект функции и присваивает ей имя greeting
. В скобках можно указать аргументы (см. следующий пример). В нашем случае аргументов нет и скобки пустые.
print('hello')
– выводит на экран слово hello
.
Напишем функцию summation()
, которая складывает два числа:
def summation (a, b): return print(a + b) summation(3, 8) # 11
Здесь:
a
и b
– аргументы функции.
return
возвращает значение функции.
9. Модули
Модуль – файл, содержащий функции, классы и данные, которые можно использовать в других программах.
from math import trunc print(trunc(3.9)) # 3
Здесь:
from math import trunc
– из встроенного в Python модуля math
импортируем функцию trunc
, которая отбрасывает дробную часть числа.
Это был импорт отдельной функции. Теперь импортируем весь модуль и обратимся к функции через модуль.имя_функции()
:
import math print(math.trunc(3.9)) # 3
10. Комментарии
Комментирование кода помогает объяснить логику работы программы. Однострочный комментарий начинается с хеш-символа #
:
a = 45 # комментарий к коду
Многострочный комментарий заключается с обеих сторон в три кавычки:
""" a = 45 b = 99 """
Литература
- «Изучаем Python», Марк Лутц
- «Программируем на Python», Майкл Доусон
- «Изучаем программирование на Python», Пол Бэрри
- «Начинаем программировать на Python», Тонни Гэддис
- «Простой Python. Современный стиль программирования», Билл Любанович
Шпаргалки
- Шпаргалка по Python3 (.pdf)
- Python Cheat Sheet (.pdf)
- Beginners Python Cheat Sheet (.pdf)
- Essential Python Cheat Sheet
- Python Conditions Cheat Sheet
Больше шпаргалок в нашей группе ВКонтакте.
YouTube-каналы и курсы
Бесплатные курсы на русском и английском языках в YouTube и на образовательных ресурсах:
На английском:
- Programming with Mosh
- freeСodeСamp.org
- Microsoft Developer
- Introduction To Python Programming (Udemy)
На русском:
- Python с нуля
- Python для начинающих
- Python с нуля от А до Я
- Программирование на Python (Stepik)
- Python: основы и применение (Stepik)
- Питонтьютор (онлайн-тренажер)
Python в «Библиотеке Программиста»
- подписывайтесь на тег Python, чтобы получать уведомления о новых постах на сайте;
- телеграм-канал «Библиотека питониста»;
- телеграм-канал для поиска работы «Python jobs — вакансии по питону, Django, Flask».
***
Мы кратко познакомились с основными понятиями Python: команды, функции, операторы и типы данных. У этого языка низкий порог вхождения, простой синтаксис, поэтому вероятность освоить его человеку, который никогда не занимался программированием – высокая (по моей субъективной оценке – 90%).
***
Курс «Python-разработчик»
Мне кажется, IT — это не для меня. Как понять, что я на правильном пути?
Вы сделали самое важное, что необходимо новичку в IT, — первый шаг. Самообучение требует огромной мотивации, желания и трудолюбия. Здорово, если всё это есть. В противном случае первые шаги могут стать последними.
Важно, чтобы обучение доставляло удовольствие, приносило пользу и было реальным стартом в новой профессии. На курсе онлайн-университета Skypro «Python-разработчик» начинающим айтишникам помогают мягко погрузиться в индустрию. Вы научитесь:
- писать код в Colab, PyCharm и GitHub;
- работать с базами данных SQLite, PostgreSQL, SQLAlchemy;
- использовать фреймворки Django, Flask;
- разрабатывать веб-сервисы и телеграм-боты.
У Skypro гарантия трудоустройства прописана в договоре, поэтому вам реально вернут деньги, если вы не устроитесь на работу в течение четырех месяцев после окончания обучения.
Круто, хочу узнать больше
Основное руководство по функциям Python на примерах
Резюме : в этом руководстве вы научитесь разрабатывать функции Python, используя ключевое слово def
.
Что такое функция
Функция — это именованный блок кода, который выполняет задание или возвращает значение.
Зачем вам нужны функции в Python
Иногда вам нужно выполнить задачу несколько раз в программе. И вы не хотите копировать код для одной и той же задачи повсюду.
Для этого вы заключаете код в функцию и используете эту функцию для выполнения задачи всякий раз, когда вам это нужно.
Например, всякий раз, когда вы хотите отобразить значение на экране, вам нужно вызвать функцию print()
. За кулисами Python запускает код внутри функции print()
для вывода значения на экран.
На практике вы используете функции для разделения большой программы на более мелкие и более управляемые части. Эти функции облегчат разработку, чтение, тестирование и сопровождение вашей программы.
Функция print()
— одна из многих встроенных функций в Python. Это означает, что эти функции доступны везде в программе.
В этом руководстве вы узнаете, как определять пользовательские функции Python.
Определение функции Python
Вот простая функция, которая показывает приветствие:
defgreet(): """ Показать приветствие пользователям """ print('Hi') Язык кода: Python (python)
В этом примере показана простейшая структура функции. Функция состоит из двух основных частей: определения функции и тела.
1) Определение функции
Определение функции начинается с ключевого слова def
и имени функции ( приветствие
).
Если функции нужна какая-то информация для выполнения своей работы, вам нужно указать ее в круглых скобках ()
. Функция приветствия
в этом примере не нуждается в какой-либо информации, поэтому ее круглые скобки пусты.
Определение функции всегда заканчивается двоеточием ( :
).
2) Функциональный блок
Все строки с отступом, следующие за определением функции, составляют тело функции.
Текстовая строка, заключенная в тройные кавычки, называется строкой документации. Он описывает, что делает функция. Python использует строку документации для автоматического создания документации для функции.
Строка print('Hi')
является единственной строкой фактического кода в теле функции. Функция welcome()
выполняет одну задачу: print('Hi')
.
Вызов функции
Если вы хотите использовать функцию, вам нужно ее вызвать. Вызов функции указывает Python выполнить код внутри функции.
Чтобы вызвать функцию, вы пишете имя функции, а затем информацию, необходимую для функции, в скобках.
В следующем примере вызывается функция greet()
. Так как функция Greeting()
не нуждается в какой-либо информации, вам нужно указать пустые круглые скобки следующим образом:0038
Если вы запустите программу, она отобразит приветствие на экране:
Привет Язык кода: Python (python)
Передача информации функциям Python
Предположим, вы хотите приветствовать пользователей по их именам . Для этого необходимо указать имя в скобках определения функции следующим образом:
defgreet(name): Язык кода: Python (python)
Имя
называется параметром функции или просто параметр.
Когда вы добавляете параметр в определение функции, вы можете использовать его как переменную внутри тела функции:
def приветствие(имя): print(f"Hi {name}") Язык кода: Python (python)
И вы можете получить доступ к параметру name
только в теле функции welcome()
, а не снаружи.
При вызове функции с параметром необходимо передать информацию. Например:
приветствие('Джон') Язык кода: Python (python)
Вывод:
Привет, Джон Язык кода: Python (python)
Значение, которое вы передаете в функцию, называется аргументом. В этом примере 'Джон'
является аргументом.
Также вы можете вызвать функцию, передав ей переменную:
first_name = 'Jane' приветствие(first_name) Язык кода: Python (python)
В этом примере переменная first_name
также является аргументом приветствия()
функция.
Параметры и аргументы
Иногда параметры и аргументы взаимозаменяемы. Важно различать параметры и аргументы функции.
Параметр — это часть информации, которая требуется функции. И вы указываете параметр в определении функции. Например, функция Greet()
имеет параметр с именем name
.
Аргумент — это часть данных, которую вы передаете в функцию. Например, текстовая строка 'John'
или переменная jane
является аргументом функции.
Возврат значения
Функция может выполнять задачу, подобную функции приветствия ()
. Или он может вернуть значение. Значение, которое возвращает функция, называется возвращаемым значением .
Чтобы вернуть значение из функции, вы используете оператор return
внутри тела функции.
возвращаемое значение Язык кода: Python (python)
Следующий пример изменяет welcome()
функция для возврата приветствия вместо его отображения на экране:
def приветствие(имя): return f"Hi {name}" Язык кода: Python (python)
Когда вы вызываете функцию Greeting()
, вы можете присвоить возвращаемое значение переменной:
приветствие = приветствие('Джон') Кодовый язык: Python (python)
И вывести на экран:
печать(приветствие) Кодовый язык: Python (python)
Новая функция greet()
лучше старой, потому что она не зависит от функции print()
.
Позже вы сможете повторно использовать функцию Greeting()
в других приложениях. Например, вы можете использовать его в веб-приложении, чтобы приветствовать пользователей после входа в систему.
Функции Python с несколькими параметрами
Функция может иметь ноль, один или несколько параметров.
В следующем примере определяется функция с именем sum()
, который вычисляет сумму двух чисел:
def sum(a, b): вернуть а + б итог = сумма (10,20) print(total) Язык кода: Python (python)
Вывод:
30 Язык кода: Python (python)
В этом примере функция sum()
имеет два параметра a
и b
и возвращает их сумму.
Если функция имеет несколько параметров, для их разделения необходимо использовать запятую.
При вызове функции необходимо передать все аргументы. Если вы передадите больше или меньше аргументов функции, вы получите ошибку.
В следующем вызове функции a будет равно 10, а b будет равно 20 внутри тела функции.
total = sum(10, 20) Язык кода: Python (python)
Сводка
- Функция Python — это многократно используемый именованный блок кода, который выполняет задачу или возвращает значение.
- Используйте ключевое слово
def
для определения новой функции. Функция состоит из определения функции и тела. - Функция может иметь ноль или более параметров. Если функция имеет один или несколько параметров, вам необходимо передать в нее такое же количество аргументов.
- Функция может выполнять задание или возвращать значение. Используйте оператор
return
, чтобы вернуть значение из функции.
Считаете ли вы это руководство полезным?
Изучение Python 3 с нуля
ИНТЕРАКТИВНЫЙ КУРС
Новичок
80 уроков
Сертификат об окончании
Хотите обучить свою команду?
Предоставьте своим инженерам возможность быстрее раскрыть свой потенциал.
Обзор курса
Изучите Python 3 бесплатно с помощью этого интерактивного курса и освойте самый популярный язык программирования в мире.
Присоединяйтесь к нам в интерактивном путешествии по синтаксису и функциональности Python. Курс начинается с изучения основных строительных блоков …Показать еще
Содержание курса
1
Введение
3 Уроки
Что такое Python? Пишем наш первый тест по коду
2
Типы данных и переменные
18 Les sons
Что такое типы данных и переменные?NumbersBooleansStringsThe None Ключевое слово Показать все 18 Уроки
3
Условные операторы
7 Уроки
Что такое условные операторы?Утверждение ifУтверждение if-elseУтверждение if-elif-elseВикторина Показать все 7 уроков
4
Функции
14 уроков
Что такое функции? 0002 Циклы
12 уроков
Что такое циклы? LoopNested for LoopsThe break and continue Ключевое словоThe while Loop Показать все 12 уроков
Экзамен Python I
Оценка
6
Структуры данных
17 Уроки
Что такое структуры данных?СпискиОбщие операции со спискамиПонимание списковКортежи Показать все 17 уроков
7
Библиотеки
4 урока
Что такое стандартная библиотека Python?Популярные модулиPyPIConclusion
8
Приложение
5 уроков
Python IDEУстановка Python: LinuxУстановка Python: WindowsУстановка Python: macOSВыполнение кода Python
Экзамен Python II
Оценка
АВТОР(Ы) КУРСА
Образовательный
Как вы научитесь
Практическая среда программирования
Вы не станете лучше плавать, наблюдая за другими. Кодирование ничем не отличается. Практикуйтесь, когда вы учитесь, в среде живого кода внутри вашего браузера.
В 2 раза быстрее, чем видео
Видео сдерживают вас. В среднем видеоурок произносится со скоростью 150 слов в минуту, а вы можете читать со скоростью 250. Вот почему наши курсы основаны на тексте.
Настройка не требуется
Немедленно приступайте к обучению, вместо того, чтобы возиться с SDK и IDE. Это все в облаке.
Прогресс, который вы можете показать
Встроенные тесты позволяют проверить свои навыки. Сертификаты об окончании позволяют их показать.
Среда для практического программирования
Вы не станете лучше плавать, наблюдая за другими. Кодирование ничем не отличается. Практикуйтесь, когда вы учитесь, в среде живого кода внутри вашего браузера.
В 2 раза быстрее, чем видео
Видео сдерживают вас. В среднем видеоурок произносится со скоростью 150 слов в минуту, а вы можете читать со скоростью 250. Вот почему наши курсы основаны на тексте.