Python — это многоцелевой язык динамического программирования высокого уровня. Он предоставляет множество встроенных модулей и функций для выполнения различных типов задач. Помимо этого, мы также можем создавать наши собственные модули, используя Python. Модуль похож на библиотеку на Java, C, C ++ и C #. Модуль обычно представляет собой файл, содержащий функции и операторы. Функции и операторы модулей обеспечивают определенные функции. Модуль Python сохраняется с расширением .py. В этой статье мы научимся создавать собственные модули Python.
Модуль обычно используется для разделения большой функциональности на небольшие управляемые файлы. Мы можем реализовать наши наиболее часто используемые функции в отдельном модуле, а позже мы можем вызывать и использовать его везде. Создание модуля способствует повторному использованию и экономит много времени.
Чтобы создать модуль Python, откройте скрипт Python, напишите несколько операторов и функций и сохраните его с расширением .py. Позже мы можем вызывать и использовать эти модули где угодно в нашей программе.
Давайте создадим новый модуль с именем «MathOperation». Этот модуль содержит функции для выполнения сложения, вычитания, умножения и деления.
#Создание модуля MathOperation #модуль обеспечивает функции сложения, вычитания, умножения и деления #все функции принимают в качестве аргумента два числа #создание функции добавления def addition(num1,num2): return num1+num2 #создание функции вычитания def subtraction(num1,num2): return num1-num2 #создание функции умножения def multiplication(num1,num2): return num1*num2 #создание функции деления def division(num1,num2): return num1/num2
Теперь мы можем вызывать этот модуль где угодно, используя команду импорта, и мы можем использовать эти функции для выполнения связанных задач. Нет необходимости писать код снова и снова для выполнения операций сложения, вычитания, умножения и деления.
Давайте вызовем этот модуль в нашем другом скрипте Python с помощью команды import.
import MathOperation
#вызов функции сложения из модуля MathOperation
#функция вызывается с помощью имени модуля
print("Результат суммы: ",MathOperation.addition(10,4))
#вызов функции вычитания
print("Результат вычитания: ",MathOperation.subtraction(100,34))
#вызов функции умножения
print("Результат умножения: ",MathOperation.multiplication(4,3))
#вызов функции деления
print("Результат деления: ",MathOperation.division(200,5))
Мы также можем объявить переменные в наших самостоятельно созданных модулях Python, присвоить значения этим переменным и вызвать их в нашем скрипте Python. Модули также могут содержать словари, списки и т. д.
#создание переменных
num1 = 10
num2 = 20
#создание списка учащихся
student = ['AndreyEx','Max','Alex','Term']
#создание студенческого словаря
std_dict = {'name':'AndreyEx','age':40,'email':'andr@andreyex.ru'}
Теперь давайте вызовем переменные и объекты в другом скрипте Python.
#импорт модуля
import MathOperation
#вызов переменной num1
print("Значение num1 равно:",MathOperation.num1)
#вызов переменной num2
print("Значение num1 равно:",MathOperation.num2)
#вызов списка студентов
print("Значение num1 равно:",MathOperation.student)
#список студентов
print(MathOperation.student[0])
print(MathOperation.student[1])
print(MathOperation.student[2])
print(MathOperation.student[3])
#печать студенческого словаря
print(MathOperation.std_dict)
#вызов элемента студенческого словаря
print(MathOperation.std_dict['name'])
print(MathOperation.std_dict['age'])
print(MathOperation.std_dict['email'])
Результат показывает, что мы успешно получили доступ к переменным и функциям из модуля «MathOperation».
Python предоставляет встроенную функцию dir (), которая перечисляет имена всех функций и переменных, присутствующих в конкретном модуле. Давайте воспользуемся функцией dir (), чтобы перечислить имена функций и переменных модуля «MathOperation».
Это наши функции и переменные, созданные в нашем модуле «MathOperation».
#создание модуля MathOperation
#модуль обеспечивает функции сложения, вычитания, умножения и деления
#все функции принимают в качестве аргумента два числа
#создание функции добавления
def addition(num1,num2):
return num1+num2
#создание функции вычитания
def subtraction(num1,num2):
return num1-num2
#создание функции умножения
def multiplication(num1,num2):
return num1*num2
#создание функции деления
def division(num1,num2):
return num1/num2
#создание переменных
num1 = 10 num2 = 20
#создание списка учащихся
student = ['AndreyEx','Max','Alex','Term']
#создание студенческого словаря
std_dict = {'name':'AndreyEx','age':40,'email':'andr@andreyex.ru'}
Теперь давайте вызовем функцию dir () в нашем скрипте Python.
#импорт модуля import MathOperation #использование функции dir() print(dir(MathOperation))
Хотя Python предоставляет множество встроенных модулей и функций для выполнения некоторых конкретных задач, мы также можем создавать наши собственные модули Python. Модуль Python содержит функции и переменные. Модули Python сохраняются с расширением .py. В этой статье объясняется создание ваших собственных модулей Python с помощью простых примеров.
map() — это встроенная функция в Python, которая применяет функцию ко всем элементам в данной итерации. Это позволяет писать простой и чистый код без использования циклов.
Содержание
map()
Функция map() принимает следующий вид:
map(function, iterable, ...)
Он принимает два обязательных аргумента:
function — функция, которая вызывается для каждого элемента iterable .
iterable — один или несколько объектов, поддерживающих итерацию. Большинство встроенных объектов в Python, таких как списки, словари и кортежи, являются повторяемыми.
В Python 3 map() возвращает объект карты с размером, равным переданному итерируемому объекту. В python 2 функция возвращает список.
Давайте рассмотрим пример, чтобы лучше объяснить, как работает функция map() . Допустим, у нас есть список строк, и мы хотели бы преобразовать каждый элемент в списке в верхний регистр.
Один из способов сделать это — использовать традиционный цикл for :
directions = ["north", "east", "south", "west"]
directions_upper = []
for direction in directions:
d = direction.upper()
directions_upper.append(d)
print(directions_upper)
['NORTH', 'EAST', 'SOUTH', 'WEST']
С функцией map() код будет намного проще и гибче.
def to_upper_case(s):
return s.upper()
directions = ["north", "east", "south", "west"]
directions_upper = map(to_upper_case, directions)
print(list(directions_upper))
Мы используем конструктор list() для преобразования возвращенного объекта карты в список :
['NORTH', 'EAST', 'SOUTH', 'WEST']
Если функция обратного вызова проста, более питоническим способом является использование лямбда-функции:
directions = ["north", "east", "south", "west"]
directions_upper = map(lambda s: s.upper(), directions)
print(list(directions_upper))
Вот еще один пример, показывающий, как создать список квадратных чисел от 1 до 10:
squares = map(lambda n: n*n , range(1, 11))
print(list(squares))
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
range() генерирует последовательность целых чисел.
map() с несколькими итерациями
Вы можете передать столько итераций, сколько захотите, в функцию map() . Количество требуемых входных аргументов, которые принимает функция обратного вызова, должно быть таким же, как количество итераций.
В следующем примере показано, как выполнить поэлементное умножение двух списков:
def multiply(x, y):
return x * y
a = [1, 4, 6]
b = [2, 3, 5]
result = map(multiply, a, b)
print(list(result))
[2, 12, 30]
Тот же код, но с использованием лямбда-функции, будет выглядеть так:
a = [1, 4, 6]
b = [2, 3, 5]
result = map(lambda x, y: x*y, a, b)
print(list(result))
Когда предоставляется несколько итераций, размер возвращаемого объекта равен самому короткому итерируемому.
Давайте посмотрим на пример, когда итерируемые объекты имеют разную длину:
a = [1, 4, 6]
b = [2, 3, 5, 7, 8]
result = map(lambda x, y: x*y, a, b)
print(list(result))
Лишние элементы (7 и 8) игнорируются:
[2, 12, 30]
Функция Python map() принимает итерируемый объект вместе с функцией и применяет эту функцию к каждому элементу в итерируемом объекте.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
При работе с файлами в каталогах в Python всегда рекомендуется использовать абсолютные пути. Однако, если вы работаете с относительными путями, вам необходимо понимать концепцию текущего рабочего каталога и то, как найти или изменить текущий рабочий каталог. Абсолютный путь указывает расположение файла или каталога, начиная с корневого каталога, а относительный путь начинается с текущего рабочего каталога.
Когда вы запускаете сценарий Python, в качестве текущего рабочего каталога устанавливается каталог, из которого выполняется сценарий.
Модуль os python обеспечивает переносимый способ взаимодействия с операционной системой. Модуль является частью стандартной библиотеки Python и включает методы поиска и изменения текущего рабочего каталога.
Содержание
Метод getcwd() модуля os в Python возвращает строку, содержащую абсолютный путь к текущему рабочему каталогу. Возвращенная строка не включает завершающий символ косой черты.
os.getcwd()
Чтобы использовать методы модуля os, вы должны импортировать модуль в верхней части файла.
Ниже приведен пример, показывающий, как распечатать текущий рабочий каталог:
# Import the os module
import os
# Get the current working directory
cwd = os.getcwd()
# Print the current working directory
print("Current working directory: {0}".format(cwd))
# Print the type of the returned object
print("os.getcwd() returns an object of type: {0}".format(type(cwd)))
Результат будет выглядеть примерно так:
Current working directory: /home/linuxize/Desktop
os.getcwd() returns an object of type: <class 'str'>
os.path.realpath(__file__) . Он вернет строку, содержащую абсолютный путь к запущенному скрипту.
Чтобы изменить текущий рабочий каталог в Python, используйте метод chdir() .
os.getcwd(path)
Метод принимает один аргумент — путь к каталогу, в который вы хотите перейти. Аргумент path может быть абсолютным или относительным.
Вот пример:
# Import the os module
import os
# Print the current working directory
print("Current working directory: {0}".format(os.getcwd()))
# Change the current working directory
os.chdir('/tmp')
# Print the current working directory
print("Current working directory: {0}".format(os.getcwd()))
Результат будет выглядеть примерно так:
Current working directory: /home/linuxize/Desktop
Current working directory: /tmp
Аргумент, передаваемый методу chdir() должен быть каталогом, в противном случае NotADirectoryError исключение NotADirectoryError . Если указанный каталог не существует, возникает исключение FileNotFoundError . Если у пользователя, от имени которого выполняется сценарий, нет необходимых разрешений, возникает исключение PermissionError .
# Import the os module
import os
path = '/var/www'
try:
os.chdir(path)
print("Current working directory: {0}".format(os.getcwd()))
except FileNotFoundError:
print("Directory: {0} does not exist".format(path))
except NotADirectoryError:
print("{0} is not a directory".format(path))
except PermissionError:
print("You do not have permissions to change to {0}".format(path))
Чтобы найти текущий рабочий каталог в Python, используйте os.getcwd() , а для изменения текущего рабочего каталога используйте os.chdir(path) .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
При работе с файлами в каталогах в Python всегда рекомендуется использовать абсолютные пути. Однако, если вы работаете с относительными путями, вам необходимо понимать концепцию текущего рабочего каталога и то, как найти или изменить текущий рабочий каталог. Абсолютный путь указывает расположение файла или каталога, начиная с корневого каталога, а относительный путь начинается с текущего рабочего каталога.
Когда вы запускаете сценарий Python, в качестве текущего рабочего каталога устанавливается каталог, из которого выполняется сценарий.
Модуль os python обеспечивает переносимый способ взаимодействия с операционной системой. Модуль является частью стандартной библиотеки Python и включает методы поиска и изменения текущего рабочего каталога.
Метод getcwd() модуля os в Python, возвращает строку, содержащую абсолютный путь к текущему рабочему каталогу. Возвращенная строка не включает завершающий символ косой черты.
os.getcwd()
Чтобы использовать методы модуля os, вы должны импортировать модуль в верхней части файла.
Ниже приведен пример, показывающий, как распечатать текущий рабочий каталог:
# Импорт модуля os
import os
# Получить текущий рабочий каталог
cwd = os.getcwd()
# Печать текущего рабочего каталога
print("Текущий рабочий каталог: {0}".format(cwd))
# Выведите тип возвращаемого объекта
print("os.getcwd() возвращает объект типа: {0}".format(type(cwd)))
Результат будет выглядеть примерно так:
Текущий рабочий каталог: /home/AndreyEx/Desktop os.getcwd() возвращает объект типа: <class 'str'>
Чтобы изменить текущий рабочий каталог в Python, используйте метод chdir().
os.getcwd(path)
Метод принимает один аргумент — путь к каталогу, в который вы хотите перейти. Аргумент path может быть абсолютным или относительным.
Вот пример:
# Импорт модуля os
import os
# Печать текущего рабочего каталога
print("Текущий рабочий каталог: {0}".format(os.getcwd()))
# Изменение текущего рабочего каталога
os.chdir('/tmp')
# Печать текущего рабочего каталога
print("Текущий рабочий каталог: {0}".format(os.getcwd()))
Результат будет выглядеть примерно так:
Текущий рабочий каталог: /home/Andreyex/Desktop Текущий рабочий каталог: /tmp
Аргумент, предоставленный методу chdir(), должен быть каталогом, в противном случае возникает исключение NotADirectoryError. Если указанный каталог не существует, возникает исключение FileNotFoundError. Если у пользователя, под которым выполняется сценарий, нет необходимых разрешений, возникает исключение PermissionError.
# Импорт модуля os
import os
path = '/var/www'
try:
os.chdir(path)
print("Текущий рабочий каталог: {0}".format(os.getcwd()))
except FileNotFoundError:
print("Каталог: {0} не существует".format(path))
except NotADirectoryError:
print("{0} не каталог".format(path))
except PermissionError:
print("У вас нет прав на изменение {0}".format(path))
Чтобы найти текущий рабочий каталог в Python, используйте os.getcwd(), а для изменения текущего рабочего каталога используйте os.chdir(path).
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Python включает ряд последовательных типов данных, которые позволяют хранить коллекции данных организованным и эффективным способом. Основные типы последовательностей — это списки, кортежи и объекты диапазона.
В этой статье рассматриваются списки Python. Мы покажем вам, как создать список, разрезать и отсортировать список, добавить или удалить элементы из списка и т. Д.
Списки представляют собой изменяемые последовательности, что означает, что они могут быть изменены после создания. Списки являются одним из наиболее часто используемых типов данных в Python и обычно используются для хранения коллекций элементов одного типа.
Содержание
Списки обычно создаются путем помещения элементов в квадратные скобки [] , разделенных запятыми. В них может быть любое количество предметов, которые могут быть разных типов. Вот пример:
L = ['orange', 'white', 'green']
Квадратные скобки без элементов между ними обозначают пустой список:
L = []
Хотя списки Python обычно однородны, у вас могут быть элементы со смешанными типами данных:
L = [1, 'white', 6.5]
Вы также можете объявить вложенные списки, в которых один или несколько элементов также являются списками:
L = [1, 2, ['red', 'blue']]
Несколько элементов могут иметь одно и то же значение:
L = [1, 2, 3, 2, 2, 1]
Списки также могут быть построены с использованием понимания list() конструктора list() и других встроенных функций, таких как sorted() .
На элемент списка можно ссылаться по его индексу. Индексы являются целыми числами и начинаются от 0 до n-1 где n — количество элементов:
L = ["a", "b", "c", "d"]
0 1 2 3
В Python индексы заключаются в квадратные скобки:
L[index]
Например, для доступа ко второму элементу списка вы должны использовать:
colors = ['orange', 'white', 'green']colors[1]
'white'
Если вы ссылаетесь на несуществующий индекс, IndexError исключение IndexError :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
Для доступа к элементам во вложенном списке используйте несколько индексов:
L = [1, 2, ["red", "blue"]]L[2][1]
'blue'
Python также позволяет вам получать доступ к элементам списка, используя отрицательные индексы. Последний элемент обозначается как -1 , второй последний элемент — как -2 и так далее:
L = ["a", "b", "c", "d"]
-4 -3 -2 -1
Например, чтобы получить доступ ко второму элементу с конца, вы должны использовать:
colors = ['orange', 'white', 'green']colors[-2]
'white'
В Python вы можете разрезать список, используя следующую форму:
L[start:stop:step]
Результатом нарезки списка является новый список, содержащий извлеченные элементы, а исходный список не изменяется.
Все следующее является допустимым синтаксисом Python:
L[:] # copy whole list
L[start:] # slice the list starting from the element with index "start" to the end of the list.
L[:stop] # slice the list starting from the begging up to but not including the element with index "stop".
L[start:stop] # slice the list starting from the element with index "start" up to but not including the element with index "stop".
stop"
L[::step] # slice the list with a stride of "step"
Ниже приведен базовый пример того, как разрезать список, начиная с элемента с индексом 1 и заканчивая элементом с индексом 4, но не включая его:
fruits = ['Apple', 'Peach', 'Lemon', 'Strawberry', 'Grape']fruits[1:4]
['Peach', 'Lemon', 'Strawberry']
Чтобы изменить значение определенного элемента в списке, обратитесь к его порядковому номеру:
L[index] = value
Вот пример, показывающий, как обновить значение последнего элемента списка:
colors = ['orange', 'white', 'green']colors[-1] = "blue"print(colors)
['orange', 'white', 'blue']
Если элемент с данным индексом существует, значение обновляется. В противном случае IndexError исключение IndexError :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
Вы также можете обновить часть списка новыми значениями:
colors = ['orange', 'white', 'green']colors[1:3] = ['red']print(colors)
['orange', 'red']
Замещающий блок может иметь меньшее, большее или такое же количество элементов, как и список. Это позволяет расширять или сжимать список.
Тип данных списка имеет два метода, которые позволяют добавлять элементы в список : append() и insert() .
Метод append() добавляет элемент в конец списка. Синтаксис метода append() следующий:
L.append(element)
«Element» — это элемент, который нужно добавить в список. Это может быть любой тип данных, включая список. Вот пример:
colors = ['orange', 'white', 'green']colors.append('red')print(colors)
['orange', 'white', 'green', 'red']
Метод insert() рекламирует элемент в определенной позиции в списке и имеет следующий синтаксис:
L.insert(index, element)
«Index» — это позиция, в которую вы хотите вставить элемент, а «element» — это элемент, который нужно добавить в список. В следующем примере показано, как добавить элемент в список на первой позиции:
colors = ['orange', 'white', 'green']colors.insert(0, 'red')print(colors)
['red', 'orange', 'white', 'green']
Метод extend() позволяет расширить список несколькими элементами. Он принимает единственный аргумент и имеет следующий синтаксис:
L.extend(list)
Элементы «списка» добавляются в конец «L». Вот пример:
colors = ['orange', 'white', 'green']colors.extend(['blue', 'black'])print(colors)
['orange', 'white', 'green', 'blue', 'black']
Метод remove() принимает один аргумент и удаляет из списка первый элемент со значением, соответствующим аргументу:
L.remove(element)
colors = ['orange', 'white', 'orange', 'green']colors.remove('orange')print(colors)
['white', 'orange', 'green']
Если элемент с данным значением не существует, возникает исключение ValueError :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list
Метод pop() принимает один аргумент и удаляет элемент с индексом, соответствующим аргументу, из списка:
L.pop(element)
Аргумент является необязательным. По умолчанию используется значение «-1», которое является последним элементом списка. Возвращаемое значение метода — удаленный элемент. Вот пример:
colors = ['orange', 'white', 'green']colors.pop(1)print(colors)
'white'
['orange', 'green']
Ключевое слово del в сочетании с обозначением среза позволяет удалить более одного элемента. Например, чтобы удалить первые два элемента из списка, вы должны использовать следующее:
colors = ['orange', 'white', 'orange', 'green']del colors[0:2]print(colors)
['orange', 'green']
Чтобы удалить все элементы, используйте метод clear() , который очищает список и не принимает никаких аргументов:
colors = ['orange', 'white', 'green']colors.clear()print(colors)
[]
Встроенная функция len() возвращает общее количество элементов объекта.
Чтобы узнать длину списка, передайте его в качестве аргумента функции len() :
len(L)
Вот пример:
colors = ['orange', 'white', 'green']num = len(colors)print(num)
3
Чтобы перебрать все элементы в списке, используйте цикл for :
colors = ['orange', 'white', 'green']for color in colors:print(color)
orange
white
green
Если вам нужны индексы, в вашем распоряжении несколько методов. Наиболее распространенные способы — комбинировать функции range() и len() или использовать встроенную функцию enumerate() .
В приведенном ниже примере показано, как получить индекс и значение каждого элемента в списке:
colors = ['orange', 'white', 'green']for i in range(len(colors)):print("Index {} : Value {}".format(i, colors[i]))
Index 0 : Value orange
Index 1 : Value white
Index 2 : Value green
Вместо использования шаблона range(len(...)) вы можете использовать функцию enumerate() для enumerate() списка более питоническим способом:
colors = ['orange', 'white', 'green']for index, value in enumerate(colors):print("Index {} : Value {}".format(index, value))
Index 0 : Value orange
Index 1 : Value white
Index 2 : Value green
Чтобы проверить, существует ли элемент в списке, вы можете использовать операторы in и not in :
colors = ['orange', 'white', 'green']print('orange' in colors)
Результатом будет True или False :
True
Вот еще один пример с использованием оператора if :
colors = ['orange', 'white', 'green']if 'blue' not in colors:print('no')else:print('yes')
Результатом будет True или False :
no
Объекты списка принимают следующие методы:
append(x) — добавляет элемент в конец списка.
clear() — удаляет все элементы из списка.
copy() — возвращает частичную копию списка.
count(x) — возвращает количество раз, когда «x» появляется в списке.
extend(iterable) — добавляет «итерабельность» в конец списка.
index(x) — возвращает позицию первого вхождения элемента со значением ‘x’.
insert(i, x) — добавляет элемент в заданную позицию.
pop(i) — удаляет элемент из заданной позиции.
remove() — удаляет элемент с заданным значением.
reverse() — переворачивает элементы списка .
sort() — sort() элементы списка.
В этой статье мы обсудили, как создавать списки и работать со списками в Python.
Тип данных списка включает ряд полезных методов.
Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии