Архив метки: Python

Функция Python map ()

map() — это встроенная функция в Python, которая применяет функцию ко всем элементам в данной итерации. Это позволяет писать простой и чистый код без использования циклов.

Функция 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() принимает итерируемый объект вместе с функцией и применяет эту функцию к каждому элементу в итерируемом объекте.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-10-18T16:23:42
Python

Как получить и изменить текущий рабочий каталог в Python

При работе с файлами в каталогах в Python всегда рекомендуется использовать абсолютные пути. Однако, если вы работаете с относительными путями, вам необходимо понимать концепцию текущего рабочего каталога и то, как найти или изменить текущий рабочий каталог. Абсолютный путь указывает расположение файла или каталога, начиная с корневого каталога, а относительный путь начинается с текущего рабочего каталога.

Когда вы запускаете сценарий Python, в качестве текущего рабочего каталога устанавливается каталог, из которого выполняется сценарий.

Модуль os python обеспечивает переносимый способ взаимодействия с операционной системой. Модуль является частью стандартной библиотеки 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

Чтобы изменить текущий рабочий каталог в 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) .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-10-16T08:24:27
Python

Как получить и изменить текущий рабочий каталог в Python

При работе с файлами в каталогах в Python всегда рекомендуется использовать абсолютные пути. Однако, если вы работаете с относительными путями, вам необходимо понимать концепцию текущего рабочего каталога и то, как найти или изменить текущий рабочий каталог. Абсолютный путь указывает расположение файла или каталога, начиная с корневого каталога, а относительный путь начинается с текущего рабочего каталога.

Когда вы запускаете сценарий Python, в качестве текущего рабочего каталога устанавливается каталог, из которого выполняется сценарий.

Модуль os python обеспечивает переносимый способ взаимодействия с операционной системой. Модуль является частью стандартной библиотеки 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'>


Если вы хотите найти каталог, в котором находится сценарий, используйте os.path.realpath(__file__). Он вернет строку, содержащую абсолютный путь к запущенному скрипту.

Изменение текущего рабочего каталога в Python

Чтобы изменить текущий рабочий каталог в 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).

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-10-14T12:11:50
Python

Списки Python

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]

  • Первый аргумент указывает индекс, с которого начинается извлечение. Когда используется отрицательный индекс, он указывает смещение от конца списка. Если этот аргумент опущен, нарезка начинается с индекса 0.
  • Второй аргумент указывает индекс, до которого следует завершить извлечение; результат не включает элемент «стоп». Когда используется отрицательный индекс, он указывает смещение от конца списка. Если этот аргумент опущен или превышает длину списка, нарезка переходит в конец списка.
  • Третий аргумент является необязательным и указывает шаг нарезки. Когда аргумент «шаг» не используется, по умолчанию он равен 1. Когда используется отрицательное значение, срез принимает элементы в обратном порядке.

Результатом нарезки списка является новый список, содержащий извлеченные элементы, а исходный список не изменяется.

Все следующее является допустимым синтаксисом 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

Списки Python

Объекты списка принимают следующие методы:

  • append(x) — добавляет элемент в конец списка.
  • clear() — удаляет все элементы из списка.
  • copy() — возвращает частичную копию списка.
  • count(x) — возвращает количество раз, когда «x» появляется в списке.
  • extend(iterable) — добавляет «итерабельность» в конец списка.
  • index(x) — возвращает позицию первого вхождения элемента со значением ‘x’.
  • insert(i, x) — добавляет элемент в заданную позицию.
  • pop(i) — удаляет элемент из заданной позиции.
  • remove() — удаляет элемент с заданным значением.
  • reverse()переворачивает элементы списка .
  • sort()sort() элементы списка.

Выводы

В этой статье мы обсудили, как создавать списки и работать со списками в Python.

Тип данных списка включает ряд полезных методов.

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии



2020-10-13T18:22:42
Python

Цикл while в Python

Циклы — одна из фундаментальных концепций языков программирования. Циклы удобны, когда вы хотите повторить определенный блок кода несколько раз, пока не будет выполнено заданное условие.

В Python есть две основные конструкции цикла: цикл for и while .

В этом руководстве рассматриваются основы циклов while в Python. Мы также покажем вам, как использовать предложение else и операторы break и continue .

Python while Loop

В while цикл выполняет свои операторы неизвестное число раз до тех пор , как данное условие имеет значение true .

Python во while цикла имеет следующий вид:

while EXPRESSION:

    STATEMENT(S)


Оператор while начинается с ключевого слова while , за которым следует условное выражение.

EXPRESSION оценивается перед выполнением операторов. Если условие true , выполняется STATEMENT(S) . В противном случае, если условие оценивается как false , цикл завершается, и управление программой передается следующей инструкции.

Блок STATEMENT(S) начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.

Давайте посмотрим на следующий пример кода, который увеличивает и печатает текущее значение переменной i если оно меньше пяти:

i=0

while i < 5:

    i += 1

    print('number:', i)


Цикл вторника повторяется, пока i меньше или равно пяти. Он выдаст следующий результат:

number: 1

number: 2

number: 3

number: 4

number: 5


Python поддерживает стандартные операции сравнения:

  • a == b — Истинно, если a и b равны.
  • a != b — Верно, если a и b не равны.
  • a > b — Истинно, если a больше b .
  • a >= b — Истинно, если a равно или больше b .
  • a < b — Истинно, если a меньше b .
  • a <= b — Истинно, если a равно или меньше b .

Чтобы отрицать условное выражение, используйте логический оператор not :

i=0

while not i >= 5:

    i += 1

    print('number:', i)


break и continue утверждения

break и continue заявления позволяют контролировать while выполнение цикла.

Оператор break завершает текущий цикл и передает управление программой оператору, который следует за завершенным циклом. Наиболее распространенная ситуация — использовать break для завершения цикла при выполнении определенного условия.

В следующем примере выполнение цикла прерывается, когда текущий повторяемый элемент равен 2 .

i=0

while i < 5:

    i += 1

    if i == 2:

        break

    print('number:', i)


Number: 1


Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла.

В следующем примере, как только текущий повторяемый элемент равен 2 оператор continue заставит выполнение вернуться к началу цикла и продолжить следующую итерацию.

i=0

while i < 5:

    i += 1

    if i == 2:

        continue

    print('number:', i)


number: 1

number: 3

number: 4

number: 5


else пункт

В отличие от других языков, в Python, то в while петля имеет опциональный else условие:

while EXPRESSION:

    STATEMENT(S)

else:

    STATEMENT(S)


Операторы внутри предложения else выполняются только тогда, когда выражение EXPRESSION значение false . Если возникает исключение или цикл завершается оператором break , оно не выполняется.

Вот пример:

i=0

while i < 5:

    i += 1

    print('number:', i)

else:

    print('Loop completed.')


number: 1

number: 2

number: 3

number: 4

number: 5

Loop completed.


Теперь Лью посмотрим , что происходит , когда вы break из петли:

i=0

while i < 5:

    i += 1

    if i == 2:

        break

    print('number:', i)

else:

    print('Loop completed.')


Оператор внутри предложения else не выполняется, потому что выражение не имеет значения false :

Number: 1


else пункт с в while цикла не часто используется. Одна из распространенных ситуаций — это когда вы ожидаете выхода из цикла, и если цикл продолжает выполняться до тех пор, пока условие не станет false , вы можете выполнить некоторый оператор или функцию.

Бесконечный цикл while

Бесконечный цикл — это цикл, который повторяется бесконечно и никогда не завершается, пока программа не завершится. Если условие всегда истинно, вы получаете бесконечный цикл.

Бесконечные циклы обычно используются для того, чтобы программа ожидала возникновения какого-либо внешнего события. Обычно в Python бесконечный цикл создается с помощью while True: вместо True вы также можете использовать любое другое выражение, которое всегда возвращает true .

Вот пример бесконечного в while цикл , который будет продолжать предложит ввести «Да»:

while True:

    i = input('Please enter 'Yes': ')

    if i.strip() == 'Yes':

        break


В while цикл выше будет работать , пока вы не введете «Да»:

Please enter 'Yes': 3

Please enter 'Yes': l

Please enter 'Yes': lin

Please enter 'Yes': No

Please enter 'Yes': Yes


Другой способ прервать бесконечный цикл — нажать CTRL+C

При написании бесконечных циклов убедитесь, что вы используете оператор break для выхода из цикла в какой-то момент.

Выводы

В while цикл многократно выполняет свои заявления до тех пор , данное условие имеет значение true .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-10-11T21:45:14
Python

Как выучить Python (шаг за шагом) к 2021 году. Часть 2

Шаг 4. Работайте над проектами Python самостоятельно

После того, как вы завершили несколько структурированных проектов, пришло время работать над проектами самостоятельно, чтобы продолжить лучше изучать Python. Вы по-прежнему будете обращаться к ресурсам и концепциям обучения, но вы будете работать над тем, над чем хотите работать. Прежде чем вы погрузитесь в работу над собственными проектами, вы должны почувствовать себя комфортно при отладке ошибок и проблем с вашими программами. Вот некоторые ресурсы, с которыми вам следует ознакомиться:

  • StackOverflow  — сайт сообщества вопросов и ответов, где люди обсуждают проблемы программирования.
  • Google  — наиболее часто используемый инструмент каждого опытного программиста. Очень полезно при попытке исправить ошибки.

 

Как только у вас будет четкое представление о проблемах отладки, вы можете начать работу над своими собственными проектами. Вы должны работать над тем, что вас интересует. Например, я работал над инструментами для автоматической торговли акциями очень скоро после того, как научился программированию.

Вот несколько советов по поиску интересных проектов:

  • Расширьте проекты, над которыми вы работали ранее, и добавьте больше функций.
  • Посещайте встречи Python  в вашем кругу и найдите людей, которые работают над интересными проектами.
  • Найдите пакеты с открытым исходным кодом, чтобы внести свой вклад.
  • Посмотрите, не ищут ли местные некоммерческие организации разработчиков-добровольцев.
  • Найдите проекты, созданные другими людьми, и посмотрите, сможете ли вы их расширить или адаптировать. Github  — хорошее место для их поиска.
  • Просмотрите сообщения в блогах других людей, чтобы найти интересные идеи для проектов.
  • Подумайте об инструментах, которые сделают вашу повседневную жизнь проще, и создайте их.

Не забывайте начинать с малого. Часто бывает полезно начать с очень простых вещей, чтобы обрести уверенность. Лучше начать с небольшого проекта, чем закончить тот огромный проект, который никогда не будет выполнен.

Также полезно найти других людей, с которыми можно поработать для большей мотивации.

Если вы действительно не можете придумать какие-либо хорошие идеи для проектов, вот некоторые из них в каждой области, которую мы обсуждали:

 

Идеи проектов по науке о данных/машинному обучению

  • Карта, отображающая результаты голосования.
  • Алгоритм, предсказывающий погоду там, где вы живете.
  • Инструмент, предсказывающий фондовый рынок.
  • Алгоритм автоматического суммирования новостных статей.

 

Идеи проектов мобильных приложений

  • Приложение для ежедневного отслеживания пройденного расстояния.
  • Приложение, которое отправляет вам уведомления о погоде.
  • Чат на основе местоположения в реальном времени.

 

Идеи игрового проекта Python

  • Мобильная игра, основанная на местоположении, в которой вы захватываете территорию.
  • Игра, в которой вы программируете на решение головоломок.

 

Аппаратные средства/датчики/идеи проектов роботов

  • Датчики, которые контролируют температуру вашего дома и позволяют вам контролировать ваш дом удаленно.
  • Более умный будильник.
  • Беспилотный робот, который обнаруживает препятствия.

 

Идеи проекта автоматизации работы

  • Скрипт для автоматизации ввода данных.
  • Инструмент для сбора данных из Интернета.

 

Ключ в том, чтобы выбрать что-то и сделать это. Если вы слишком зацикливаетесь на выборе идеального проекта, есть риск, что вы никогда его не сделаете.

 

Шаг 5. Продолжайте работать над более сложными проектами

Продолжайте увеличивать сложность и масштаб ваших проектов. Если вам полностью комфортно в том, что вы создаете, значит, пора попробовать что-то посложнее.

Вот несколько идей на тот момент:

  • Попробуйте научить новичка создавать собственный проект.
  • Можете ли вы расширить свой инструмент? Может ли он работать с большим объемом данных или может обрабатывать больше трафика?
  • Можете ли вы заставить вашу программу работать быстрее?
  • Сможете ли вы сделать свой инструмент полезным для большего числа людей?
  • Как бы вы коммерциализировали то, что сделали?

 

Идти вперед

В конце концов, Python постоянно развивается. Лишь несколько человек могут на законных основаниях утверждать, что полностью понимают язык, и они его создали.

Вам нужно будет постоянно учиться и работать над проектами. Если вы сделаете это правильно, то обнаружите, что оглядываете свой код 6 месяцев назад и думаете о том, насколько он ужасен. Если вы дойдете до этого момента, вы на правильном пути. Работа только над тем, что вас интересует, означает, что вы никогда не перестанете выгорать или скучать.

Python — действительно интересный и полезный язык для изучения, и мы думаем, что любой может достичь высокого уровня владения им, если найдет правильную мотивацию.

Надеюсь, эта статья была полезно в вашем путешествии. Если у вас есть какие-либо другие ресурсы,  сообщите нам об этом!

 

Общие вопросы о Python:

Трудно выучить Python?

Изучение Python, безусловно, может быть сложной задачей, и у вас, вероятно, будут моменты разочарования. Сохранение мотивации к продолжению обучения — одна из самых больших проблем.

Однако, если вы воспользуетесь пошаговым подходом, который мы описали здесь, вы обнаружите, что легко справиться с неприятными моментами, потому что вы будете работать над проектами, которые действительно вас интересуют.

 

Подходит ли Python для изучения в 2020 году?

Да. Python — популярный и гибкий язык, который профессионально используется в самых разных контекстах. Более того, навыки работы с данными Python могут быть действительно полезны, даже если у вас нет стремления стать специалистом по данным или программировать на полную ставку. Наличие некоторых навыков анализа данных с помощью Python может быть полезно для самых разных задач — если вы работаете с электронными таблицами, есть вероятность, что есть вещи, которые вы могли бы делать быстрее и лучше с небольшим Python.

 

Начало: Как выучить Python (шаг за шагом) к 2021 году



2020-10-07T12:20:58
Python