Архив метки: 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

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

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

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

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

from django.http import HttpResponse

def index(request):

    return HttpResponse("Здравствуй, мир. Вы находитесь в индексе опросов.")

 

Приведенный выше код взят из руководства по Django, популярной среде разработки веб-сайтов на Python. Опытные программисты часто бросают вам фрагменты, подобные приведенным выше. «Это просто!» — обещают они.

Но даже несколько, казалось бы, простых строк кода могут сбивать с толку. Например, почему некоторые строки имеют отступ? Что django.http? Почему некоторые вещи указаны в скобках? Понять, как все сочетается, когда вы мало знаете Python, может быть очень сложно.

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

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

Это то, что приводит к угасанию вашей мотивации и к тому, что вы просто отказываетесь от всего этого. Нам нравится думать об этом как об «скучном обрыве». Вы должны быть в состоянии взобраться на «скалу скуки», чтобы попасть в «страну интересных вещей, над которыми вы работаете» (лучшее название еще не принято).

Изучение синтаксиса Python не должно быть таким.

После того, как мы несколько раз столкнулись с «обрывом скуки» и ушли, мы нашли способ, который нам больше подошел. На самом деле, мы думаем, что это лучший способ изучить Python.

Что сработало, так это сочетание изучения основ и создания интересных вещей. Мы потратили как можно меньше времени на изучение основ, а затем сразу же погрузился в создание вещей, которые нас интересовали. В этой записи блога мы шаг за шагом расскажем, как воспроизвести этот процесс, независимо от того, почему вы хотите изучать Python.

 

Шаг 1. Определите, что мотивирует вас изучать Python

Прежде чем вы начнете изучать Python онлайн, стоит спросить себя, почему вы хотите его изучать. Это потому, что это будет долгий и иногда болезненный путь. Без достаточной мотивации вы, вероятно, не справитесь. Например, мы проспали уроки программирования в средней школе и колледже, когда нам нужно было запоминать синтаксис, а у нас не было мотивации. С другой стороны, когда нам нужно было использовать Python для создания веб-сайта для автоматической оценки эссе, мы не спали ночами, чтобы закончить его.

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

Выберите интересующую вас область, например:

  • Наука о данных/машинное обучение
  • Мобильные приложения
  • Сайты
  • Игры
  • Обработка и анализ данных
  • Оборудование/датчики/роботы
  • Скрипты для автоматизации вашей работы

 

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

 

Шаг 2. Изучите базовый синтаксис

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

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

Также небольшое примечание: изучайте Python 3, а не Python 2. К сожалению, многие ресурсы по «изучению Python» в Интернете по-прежнему преподают Python 2, но вам определенно следует изучить Python 3. Python 2 больше не поддерживается, поэтому ошибки и дыры в безопасности исправлены не будут!

 

Шаг 3. Создавайте структурированные проекты

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

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

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

 

Наука о данных/машинное обучение

  • Dataquest  — интерактивное обучение Python и науке о данных. Вы анализируете ряд интересных наборов данных, начиная от документов ЦРУ и заканчивая статистикой игроков в хоккее. В конечном итоге вы создаете сложные алгоритмы, включая нейронные сети и деревья решений.
  • Python для анализа данных — написано автором крупной библиотеки анализа данных Python, это хорошее введение в анализ данных в Python.
  • Документация Scikit-learn — Scikit-learn — основная библиотека машинного обучения Python. Здесь есть отличная документация и руководства.
  • CS109  — это Гарвардский класс, в котором преподается Python для науки о данных. У них есть в Интернете некоторые из их  проектов и другие материалы.

 

Мобильные приложения

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

 

Игры

  • Codecademy  — проведет вас через создание пары простых игр.
  • Учебники Pygame  — Pygame — популярная библиотека Python для создания игр, и это список руководств для нее.
  • Создание игр с Pygame  — книга, которая научит вас создавать игры на Python.
  • Изобретайте свои собственные компьютерные игры с помощью Python  — книги, в которой рассказывается, как создать несколько игр с помощью Python.

 

Скрипты для автоматизации вашей работы

  • Автоматизируйте скучные вещи с помощью Python  — узнайте, как автоматизировать повседневные задачи с помощью Python.

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

 

Продолжение: Как выучить Python (шаг за шагом) к 2021 году. Часть 2



2020-10-05T13:40:18
Python