Практическо Python програмиране за неинженери - eduCBA

Съдържание:

Anonim

Източник на изображението: pixabay.com

Добре дошли в следващия ми блог за Python Programming. Отново съм тук, за да ви дам някои пристрастяващи съвети относно Python. Но този път, това не се основава на хакерство, фрапиране или разбиване на сигурността. Това е използването на python програмиране за ежедневните ни задачи. Така че, нека започнем.

Какво е програмиране? Не се притеснявайте. Не съм тук, за да ви дам типичното определение за програмиране. Частта, за която днес ще говоря, е използването на програмиране в ежедневния ни живот и как ни помага да автоматизираме нещата.

Програмиране на Python за неинженери

Досадни задачи

Всеки в нашия живот не е софтуерен инженер. Но все пак всеки има своите неща, с които трябва да се справи. Но програмирането е едно нещо, което може да улесни много неща. Всички имаме много задачи в ежедневния си график. И вместо да следим това, можем да оставим машината да се грижи за тези неща. Можем да автоматизираме задачите си под ръка, като използваме просто програмиране. Въпреки че има много търговски софтуер, но не можем да харчим пари за всяко нещо. Освен това те няма да са според нашите собствени персонализирани нужди. Освен това създаването на собствена програма е съвсем различно ниво. Най-добрият език, за който се сещам досега, е програмирането на Python. Нека ви кажа как.

Python v / s Светът

Ако преди това имате известни познания в програмирането, особено C или C ++, може би знаете колко е досадно да създадете програма и след това да отстраните грешки, така че да я направите чиста програма. Но това не е така с Python. И дори за разлика от Java, Assembly, JavaScript или друг език, python няма тези трудно запомнящи се синтаксиси.

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

Един от най-добрите примери, за които се сещам, е това. От време на време или за някои хора имаме навик да изтегляме видеоклипове от youtube от време на време. Така че със сигурност можем да изтеглим тези видеоклипове, като изтеглим някакъв случаен софтуер от мрежата и го използваме. Но понякога не е толкова лесно. Повечето софтуерни продукти в мрежата са пълни с троянски коне и вируси.

Така че не можете просто да зависите от тях. Бог знае, каквато вид логическа бомба всъщност е проникнато в този софтуер. Така че, вместо да превеждаме човечеството през цялата тази беда, ние имаме програмиране на питони, за да спасим себе си от всички тези проблеми. Открих това някъде в мрежата много отдавна и го използвам оттогава. Чрез това можете лесно да изтеглите видеоклипове в 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 Mode 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 по-долу. (Просто премахнете hash # tag)

#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 / по-рано или по-късно.

Сега това са няколко примера, които правя, когато се отегчавам. Просто променете името, направете няколко промени за всеки друг човек. Така че това не само прави програмирането на python интересно, но и може да върши ежедневните ви задачи.

Можете дори да създадете свой списък със задачи или тефтерче или нещо подобно. Сега може да си помислите, че има "n" брой програми, които правят същото, тогава защо пишете своя собствена. Причината за това е персонализирането. Когато купувате или изтегляте софтуер, не знаете какъв е изходният код или ако се нуждаете от някои собствени персонализиране, може дори да се наложи да закупите софтуера. Но Python програмирането е толкова изключително лесно за разбиране и писане, че не е нужно да купувате нищо.

Освен това, да ви кажа истината, първо започнах да автоматизирам ежедневните си задачи, използвайки програмиране на python, но по-късно се заинтересувах толкова, че започнах да научавам всичко свързано с това и сега профилът ми за работа е същият; за създаване на програми в Python.

Това ще бъде края на този блог, но преди да приключа с това, ще ви дам някои точки, така че можете да отидете и да проверите някои готини неща за автоматизация, които хората са правили с python и съм сигурен, че ще се изненадате, когато видите какво са правили хората с просто програмиране. Има и книга, наречена „Автоматизиране на скучни неща с Python“. Не забравяйте да проверите това.

И така, тук идва моят списък:

  1. Преименуване на няколко файла с прост код (говоря за файлове повече от 100 200 или дори 1000)
  1. Автоматизиране на скриптове по време на работа (Ако сте системен инженер)
  1. Създаване на RSS четец (защото използването на вграден такъв е твърде мейнстрийм)
  1. Създаване на защитен с парола телефонен указател (изключително просто)
  1. Създаване на защитен с парола бележник за запазване на пароли и лични документи (включително изображения и документи)
  1. Изтегляне на mp3 файлове с помощта на интелигентно търсене (Изтегляне на mp3 файлове с подобни имена директно и произволно от интернет)

Препоръчителни статии

Ето няколко статии, които ще ви помогнат да получите повече подробности за практическото програмиране на Python, така че просто преминете през линка.

  1. Ключови разлики от Python срещу JavaScript
  2. ТОП Най-невероятни въпроси и отговори за интервю от Python
  3. Кариера в Python
  4. 10 важни полезни съвета относно програмирането на Python
  5. Python vs Ruby Performance-Find the разликите