Практичне програмування Python для неінженерів - eduCBA

Зміст:

Anonim

Джерело зображення: pixabay.com

Ласкаво просимо до мого наступного блогу про програмування Python. Я знову тут, щоб дати вам кілька захоплюючих порад щодо Python. Але цього разу це не ґрунтується на злому, ламанні чи порушенні безпеки. Йдеться про використання програмування python для наших щоденних завдань. Отже, давайте почнемо.

Що таке програмування? Не хвилюйся. Я не тут, щоб дати вам типове визначення Програмування. Частина, про яку я сьогодні поговорю тут, - це використання програмування у повсякденному житті та те, як воно допомагає нам автоматизувати речі.

Програмування Python для неінженерів

Стомлюючі завдання

Усі в нашому житті не є інженером програмного забезпечення. Але все ж у кожного є свої речі, з якими їм потрібно розібратися. Але програмування - це одне, що може полегшити багато речей. У всіх нас у щоденному розкладі дуже багато справ. І замість того, щоб ми слідкували за цим, ми можемо дозволити машині подбати про ці речі. Ми можемо автоматизувати наші завдання під рукою за допомогою простого програмування. Хоча там є багато комерційних програм, але ми не можемо витратити гроші на кожну річ. Крім того, вони не будуть відповідати нашим персональним потребам. Крім того, створення власної програми - це зовсім інший рівень. Найкращою мовою, про яку я зараз думаю, є програмування Python. Дозвольте розповісти, як.

Python v / s Світ

Якщо ви маєте певні знання з програмування раніше, особливо C або C ++, то, можливо, ви знаєте, наскільки нудно створити програму, а потім налагодити її, щоб зробити її чистою програмою. Але це не так з Python. І навіть на відміну від Java, Assembly, JavaScript або будь-якої іншої мови, python не має цих важко запам'ятовуються синтаксисів.

Python надзвичайно зручний у користуванні та має визначений спосіб робити речі. На відміну від ruby, що є ще однією конкуренцією для програмування python, де ruby ​​є надто зручним у користуванні та має багато способів зробити один python, python цього не пропонує. Програмування Python має відступи та код, прочитаний користувачем.

Один з найкращих прикладів, про які я можу придумати, це такий. Раз у раз або для деяких людей у ​​нас є звичка завантажувати відео з ютубу раз у раз. Отже, ми можемо безперечно завантажувати ці відео, завантажуючи з Інтернету якесь випадкове програмне забезпечення та використовуючи його. Але іноді це не так просто. Більшість програмного забезпечення в Інтернеті заповнені троянами та вірусами.

Отже, ви не можете просто залежати від них. Бог знає, яка логічна бомба насправді проникла в це програмне забезпечення. Отже, замість того, щоб пережити людство через всю цю неприємність, ми маємо програмування пітона, щоб врятувати себе від усіх цих клопотів. Я знайшов це десь в Інтернеті дуже давно і використовую його з тих пір. Завдяки цьому ви можете просто скачати відео на YouTube з простою командою.

Тож ось як це йде:

Крок 1: Встановіть Python, pip і переконайтесь, що ви вибрали змінні середовища при установці, щоб ви могли викликати python з командного рядка з будь-якого місця.

Крок 2. Використовуйте цю команду для завантаження модуля youtube

>>>pip install youtube-dl

Крок 3: Готово. Це воно. Ні кроку 3. Тепер, коли вам потрібно завантажити будь-яке відео, просто скористайтеся цією командою в командному рядку та завантажте своє відео:

>>>youtube-dl (OPTIONS) URL (URL…)
Тепер у вас може бути точне уявлення про те, про що я говорив. Хіба це вкрай просто, а не завантажувати будь-яке програмне забезпечення з троянців з інтернету?

Зауважте лише, що youtube-dl - це невелика програма командного рядка для завантаження відео з YouTube.com та ще кількох сайтів. Для цього потрібен інтерпретатор Python, версії 2.6, 2.7 або 3.2+, і він не залежить від платформи. Він повинен працювати у вашому вікні Unix, в Windows або Mac OS X. Ви також можете спробувати >>> youtube-dl –help і перевірити необхідні кроки, наприклад, якщо ви хочете завантажити його з https чи http або з іншого порту або щось схоже.

Рекомендовані курси

  • Курси програмування XML
  • Курс сертифікації іспитів CCNA
  • Курс сертифікації в UNIX та Linux OS
  • Навчання програмуванню HTML 5

Робота: Бажаючи з днем ​​народження, режим GEEK ON

Тепер, якщо вам не набридає цей блог, і ви все ще читаєте це, я вийду на трохи вищий рівень. Давайте припустимо, що ви людина, яка є видовищем у вашій групі друзів, і вони постійно розповідають, як вам нудно, і ви інвестуєте 16 годин із своїх 24 годин на день на комп’ютері. Потім, це один із способів виявити, наскільки ви можете бути казковими. Тепер я буду припускати, що ви вже знаєте біти і байти програмування python, і я буду рухатись вперед.

Скажімо, у вас на цьому тижні день народження вашого друга, і вам потрібно зробити щось прискіпливо, що вразить усіх вас друзів. Потім спочатку давайте скласти список того, що там є, коли ви йдете на день народження. Будуть пісні торти, свічки та дні народження, бажаючі з днем ​​народження. Тож давайте створити віртуальний торт, відтінок якого має ефект еквалайзера, що відповідає пісні "З днем ​​народження", яка відтворюється на задньому плані. Тут торт матиме свічки з полум’ям, що мерехтять полум’ям.

Також у нас буде вишуканий показ повідомлення з днем ​​народження. Перше, що нам потрібно зробити, - це імпортувати деякі модулі, щоб вони працювали правильно. Отож, тут йдеться (і просто пам’ятайте, що це все один фрагмент коду, який потрібно розмістити в одному файлі xyz.py)

>>>import scipy.io.wavfile as wavfile
>>>import numpy as np
>>>import pylab as pl
>>>import time
>>>import os
>>>import sys
>>>import subprocess
>>>from scipy import mean
>>>from random import randint


Тепер давайте написати код для файлу хвилі / mp3, який слід запустити, коли код буде виконаний.

>>>FILE = "Song.mp3"
>>>rate, data = wavfile.read(FILE)
>>>t_total = len(data(:, 0))/rate
>>>display_rate = 1500 #number of frames processed in one iteration
>>>sample_size = 120
>>>max_display = 90
>>>data_length = len(data) #total number of frames
>>>_min = min((abs(x) for x in data(:, 0))) #max amplitude in the wav
>>>_max = max((abs(x) for x in data(:, 0))) #min amplitude in the wav
>>>correction = 0.645

Примітка. Все, що написано червоним кольором або починається з # тега, - це коментарі. Такі значення, як значення коригування, довжина пісні будуть відрізнятися від людини до людини залежно від обраної пісні та інших матеріалів. Можливо, вам доведеться переробити ці речі відповідно до вашого вибору пісні.

Тепер приходить частина торта. Ось фрагмент коду, який я написав для торта. Ви можете змінити графік відображення та розмір торта залежно від того, як повинен виглядати торт.

>>>cols = int(subprocess.Popen("tput cols", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.readlines()(0)) #columns in terminal
>>>display_char = "8"
>>>cake_size = 50


Тепер нам потрібно встановити торт на полум’я, щоб він виглядав так, як горить свічка.

flame_flutter_rate = 50
FLAMES = ( " . ", ". ", " ." ) current_flame = ""


os.system("tput civis") #hide cursor

Тепер, якщо ви перебуваєте на mac, вам може знадобитися відкрити itunes або якийсь інший програвач, щоб запустити пісню. Отже, якщо ви перебуваєте на комп'ютері mac, коментуйте нижче командний код os.system. (Просто видаліть хеш # тег)

#os.system("open "+FILE)

for _f in range(data_length/display_rate):

# fluttering effect to candle flames
if _f%flame_flutter_rate == 0:
current_flame = (" "*(cols/2 - cake_size/2))+((" "+FLAMES(randint(0, 2))+" ")*(cake_size/5))
print current_flame

# candles
print (" "*(cols/2 - cake_size/2))+(" | "*(cake_size/5))
# cake top layer
print (" "*(cols/2 - cake_size/2))+("-"*cake_size)

bucket = () mug = ()
# mug contains the current frame samples (absolute values) of given sample_size
# average of mugs are put into bucket

for value in data(:, 0)(_f*display_rate+1:(_f+1)*display_rate):
mug.append(abs(value))

if len(mug) == sample_size:
bucket.append(mean(mug))
mug = ()

bucket = ( (float)((x - _min) * max_display)/(_max - _min) for x in bucket )

# print the equalizer from the bucket
for value in bucket:
print (" "*(cols/2 - cake_size/2))+"| "+("8"*(value%(cake_size-2)))+(" "*(cake_size-value-2))+"|"

# bottom crust of the cake
print (" "*(cols/2 - cake_size/2))+("-"*cake_size)

# print happy birthday message
os.system("figlet -c -f small Happy Birthday Chetan!")

# sleep to match with the audio
"" "
ПРИМІТКА: корекцію потрібно примножити на час сну
Це пов’язано з декількома факторами, такими як час, необхідний для пробудження від сну, тип використовуваного терміналу
ЗМІНІТЬ ЗНАЧЕННЯ ЦІННОСТІ виправлення, щоб відповідати вашій потреби
"" "
time.sleep(((float)(display_rate * t_total) / data_length)*correction)

# clear screen
if _f != data_length/display_rate-1:
os.system("clear")

raw_input()

Примітка: Цей код був написаний на python 2.7.9. Можливо, вам доведеться внести деякі зміни, якщо ви використовуєте python v3.4 / більш рання або остання.

Зараз це кілька прикладів, які я роблю, коли мені нудно. Просто змініть ім’я, зробіть кілька змін для кожної іншої людини. Таким чином, це не тільки робить програмування пітона цікавим, але й може виконувати щоденні завдання.

Ви навіть можете створити свій власний список справ або блокнот чи щось подібне. Тепер ви можете подумати, що там є "n" кількість програм, які роблять те саме, то навіщо писати свою. Причиною цього є налаштування. Купуючи або завантажуючи програмне забезпечення, ви не знаєте, що таке вихідний код, або якщо вам потрібні деякі власні налаштування, можливо, вам навіть знадобиться придбати програмне забезпечення. Але програмування python настільки надзвичайно легко зрозуміти та написати, що нічого не потрібно купувати.

Крім того, щоб сказати правду, я спершу почав автоматизувати свої щоденні завдання за допомогою програмування python, але пізніше я настільки зацікавився, що почав вивчати все, що стосується цього, і тепер мій профіль роботи такий же; для створення програм у Python.

Це був би кінець цього блогу, але перш ніж я закінчу це, я дам вам декілька пунктів, щоб ви могли піти і перевірити якісь цікаві матеріали з автоматизації, які люди зробили з python, і я впевнений, що ви здивуєтеся, коли побачите що люди робили за допомогою простого програмування. Існує також книга під назвою "Автоматизація нудних продуктів із Python". Обов’язково перевірте це.

Отже, ось мій список:

  1. Перейменування декількох файлів простим кодом (я кажу про файли більше 100200 або навіть 1000)
  1. Автоматизація сценаріїв на роботі (якщо ви системний інженер)
  1. Створення RSS-зчитувача (тому що використання вбудованого - занадто основне)
  1. Створення телефонної книги, захищеної паролем (надзвичайно просто)
  1. Створення блокнота, захищеного паролем, для збереження паролів та особистих документів (включаючи зображення та документи)
  1. Завантаження mp3-файлів за допомогою інтелектуального пошуку (Завантаження mp3-файлів із подібними іменами безпосередньо та випадковим чином з Інтернету)

Рекомендовані статті

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

  1. Ключові відмінності Python vs JavaScript
  2. ТОП Найдивовижніші запитання та відповіді щодо інтерв'ю Python
  3. Кар'єра в Python
  4. 10 важливих корисних порад щодо програмування Python
  5. Ефективність Python vs Ruby - з’ясуйте відмінності