Top.Mail.Ru

Python. Начало.

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

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

Где используется Python?

  • Компания Google использует Python в своей поисковой системе и оплачивает труд создателя Python — Гвидо ван Россума
  • Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения
  • Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на Python
  • NSA использует Python для шифрования и анализа разведданных
  • Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка
  • Популярная программа BitTorrent для обмена файлами в пиринговых сетях написана на языке Python
  • Популярный веб-фреймворк App Engine от компании Google использует Python в качестве прикладного языка программирования
  • NASA, Los Alamos, JPL и Fermilab используют Python для научных вычислений.

В этой статье я познакомлю вас c самыми азами этого языка. Итак, сначала надо скачать идешку, можно отсюда: https://www.python.org/downloads. Качаем, ставим, запускаем. Открывается такая от форма:

Команды языка Python можно вводить непосредственно в консоли:

Саму программу можно написать либо во встроенном, либо в каком-то ином редакторе (да хоть в блокноте). Открывается встроенный редактор через «File -> Open» если вы открываете существующий файл, или через «File -> New File» если хотите создать новый файл. Запускаем через «Run -> Run module»:

Существуют, конечно, и более продвинутые идеешки, например, Visual Studio 2015, в котором Python еще и .NET (дот нэт) поддерживает. Но для обучения хватит и этого простого интерпретатора.

Теперь попробуем написать простейшее консольное приложение:

print ('Как Вас зовут?') # Выводит текст
name = input () # Запрашивает данные у пользователя и забивает в ячейку 'name'
print ('Отлично, ' + name +', теперь напишите в каком городе Вы проживаете?') # Выводит текст и применяет содержимое ячейки 'name'
city = input () # Запрашивает данные у пользователя и забивает в ячейку 'city'
print ('Теперь давайте узнаем, сколько Вам лет?') # Выводит текст
year = input() # Запрашивает данные у пользователя и забивает в ячейку 'year'
print ('Ваше Имя: ' + name +'. Вы живете: В ' + city +'. Вам ' + year + ' лет') # Выводит текст и применяет содержимое ячеек 'name' , 'city' , 'year'
end = input ('Что бы закрыть окно, достаточно нажать кнопку Enter на Вашей клавиатуре') # Запрашивает данные у пользователя и забивает в ячейку 'end' (При вводе любых значений, даже пустого, программа закрывается)

Вот скриншот работы данной программы:

А теперь пример полноценной программы с GUI, она будет у нас решать квадратные уравнения:

from math import sqrt
from tkinter import *

def solver(a,b,c):
    """ Решает квадратное уравнение и выводит отформатированный ответ """
    # находим дискриминант
    D = b*b - 4*a*c
    if D >= 0:
        x1 = (-b + sqrt(D)) / (2*a)
        x2 = (-b - sqrt(D)) / (2*a)
        text = "The discriminant is: %s \n X1 is: %s \n X2 is: %s \n" % (D, x1, x2)
    else:
        text = "The discriminant is: %s \n This equation has no solutions" % D 
    return text

def inserter(value):
    """ Inserts specified value into text widget """
    output.delete("0.0","end")
    output.insert("0.0",value)

def handler():
    """ Get the content of entries and passes result to the output area """
    try:
        # make sure that we entered correct values
        a_val = float(a.get())
        b_val = float(b.get())
        c_val = float(c.get())
        inserter(solver(a_val, b_val, c_val))
    except ValueError:
        inserter("Make sure you entered 3 numbers")    

# родительский элемент
root = Tk()
# устанавливаем название окна
root.title("Quadratic calculator")
# устанавливаем минимальный размер окна 
root.minsize(325,230)
# выключаем возможность изменять окно
root.resizable(width=False, height=False)
 
# создаем рабочую область
frame = Frame(root)
frame.grid()
 
# поле для ввода первого аргумента уравнения (a)
a = Entry(frame, width=3)
a.grid(row=1,column=1,padx=(10,0))
 
# текст после первого аргумента
a_lab = Label(frame, text="x**2+").grid(row=1,column=2)
 
# поле для ввода второго аргумента уравнения (b)
b = Entry(frame, width=3)
b.grid(row=1,column=3)
# текст после второго аргумента
b_lab = Label(frame, text="x+").grid(row=1, column=4)
 
# поле для ввода третьего аргумента уравнения (с)
c = Entry(frame, width=3)
c.grid(row=1, column=5)
# текст после третьего аргумента
c_lab = Label(frame, text="= 0").grid(row=1, column=6)
 
# кнопка решить
but = Button(frame, text="Solve", command=handler).grid(row=1, column=7, padx=(10,0))
 
# место для вывода решения уравнения
output = Text(frame, bg="lightblue", font="Arial 12", width=35, height=10)
output.grid(row=2, columnspan=8)
 
# запускаем главное окно
root.mainloop()

При запуске программы увидим графическое окно, куда можно ввести исходные данные и получить ответ:

В заключении, несколько особенностей языка Python, о которых следует знать:

  • Точка с запятой, в отличии от, например, C#, Pascal или 1С в конце НЕ ставится;
  • Нет операторных скобках, таких как {} в C-подобых языках или begin…end в Pascal-е, вместо них используется форматирование, то есть ВАЖНО, сколько символов табуляции или пробелов вы отступили от начала строки — это уже вопрос не культуры оформления кода, а вопрос синтаксиса;
  • В языке динамическая типизация, то есть, тип переменой не задается жестко, как в Pascal-е, а может меняться во время выполнения программы;

На этом вводная статья окончена, но продолжение следует.

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar