Python hello world main

Python Основы

Изображение баннера

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

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

Python поддерживает структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование.

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

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

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

Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая проприетарные.

Есть реализация интерпретатора для JVM с возможностью компиляции, CLR, LLVM, другие независимые реализации. Проект PyPy использует JIT-компиляцию, которая значительно увеличивает скорость выполнения Python-программ.

Python — активно развивающийся язык программирования, новые версии с добавлением/изменением языковых свойств выходят примерно раз в два с половиной года.

Язык не подвергался официальной стандартизации, роль стандарта де-факто выполняет CPython, разрабатываемый под контролем автора языка.

В настоящий момент (апрель 2021) Python занимает третье место в рейтинге TIOBE с показателем 11,03%.

Аналитики отмечают, что это самый высокий балл Python за все время его присутствия в рейтинге.

Посмотреть текущий рейтинг можно здесь

Hello World!

Инструкция по запуску первой программы в Python

Убедитесь, что Python установлен и команда

Показывает версию Python, например

Если вы работаете в Linux, UNIX или Bash в Windows перейдите в свою домашнюю директорию

Создайте директорию python

Перейдите в неё, создайте файл hello_world.py и откройте его любым тестовым редактором

cd python
touch hello_world.py
vi hello_world.py

Вставьте туда следующий код

В терминале должно появиться сообщение

Больше деталей о запуске скриптов вы можете найти в следующем параграфе — «Запуск Python скрипта» и затем в if __name__ == «__main__»:

Запуск скрипта

Чтобы запустить .py скрипт введите

Результат такого запуска зависит от того, что указано после if __name__ == «__main__»: если это условие вообще есть

Теперь то же самое но в функции

def say_hello (): print ( «Hello!» )

Ничего не произошло потому что функцию никто не вызвал

Можно добавить вызов функции следующим образом

def say_hello (): print ( «Hello!» ) say_hello()

В этом случае функция будет вызываться всегда — как при запуске скрипта из терминала так и при импорте в другой модуль настроить это поведение можно с помощью переменной __name__ а точнее — с помощью условия if __name__ == «__main__»:

Отступы (indentation)

Python не является языком поддерживающим свободный формат. Блоки кода не разделяются с помощью { }

Вместо этого блоки разделяются отступами по так называемому правилу оффсайда (Off-side rule)

Демонстрация

Рассмотрим файл for_loop.py

Всё работает прекрасно. Обратите внимание, что выведены были только i от 1 до 3. 4 python не вывел.

Если написать код не в одну строку, а следующим образом

то работать код не будет. Получится ошибка

File «/home/andrei/python/for_loop.py», line 2 print(i) ^ IndentationError: expected an indented block

Поэтому нужно поставить перед print пробел

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

PEP8 — документ, в котором собраны рекомендации по написанию Python кода говорит:

Use 4 spaces per indentation level

САМОЕ ВАЖНОЕ: Нельзя смешивать в одном файле отступы в виде табуляций и в виде пробелов. Выберите один стиль и придерживайтесь его.

Про то как правильно переносить слишком длинные строки можете прочитать здесь

Арифметика

/ — деление. Результат — число с плавающей точкой

// — целочисленное деление. Результат — округлённое до целого числа частное.

% — остаток от деления. Результат — остаток от //

Печать спецсимволов HTML

for i in range(100001,125000): print «

&#»,i,»; &#»,i,»;

«

Ссылки

Синтаксис

Set в фигурных скобках. Элемент добавляется с помощью .add()

if __name__ == ‘__main__’

Чтобы разобраться в смысле этой строки создадим два файла. first_module.py и second_module.py

print ( f»Имя первого модуля: » ) # Если не любите f-string напишите: print ( «Имя первого модуля: <>» .format(__name__))

Имя первого модуля: __main__

Имя первого модуля: __first_module__

Вывод: когда модуль запущен непосредственно, его __name__ это __main__

Когда модуль импортирован в другой модуль, его __name__ это __название_py_файла__

Теперь когда все ясно, можно добавить в наш код условие if __name__ == «__main__»

def say_hello (): print ( «Hello!» ) def display_name (): print (f «Имя первого модуля: » ) if __name__ == «__main__» : say_hello()

def say_hello (): print ( «Hello!» ) def display_name (): print (f «Имя первого модуля: » ) if __name__ == «__main__» : display_name()

Имя первого модуля: __main__

Суть в том, что теперь мы определяем что будет выполняться при вызове этого скрипта а что нет.

Пакеты Python в Linux

Узнать сколько всего python3 пакетов в репозитории Ubuntu

apt-cache search python3 | wc -l

Изучить их названия можно с помощью less

apt-cache search python3 | less

alembic — lightweight database migration tool for SQLAlchemy
brltty — Access software for a blind person using a braille display
debian-goodies — Small toolbox-style utilities for Debian systems
devscripts — scripts to make the life of a Debian Package maintainer easier
libcrack2-dev — pro-active password checker library — development files

Проверить, существует ли файл hosts

#!/usr/bin/python3 import os.path if os.path.exists(«/etc/hosts»): print(«hosts file exists») else: print(«no hosts file»)

#!/usr/bin/python3 try: f = open(‘/etc/hosts’) print(«hosts file exists») except FileNotFoundError: print(«no hosts file»)

Shebang

Указывает на нужный интерпретатор. Примеры:

После написаний шебанга нужно сделать скрипт выполняемым файлом

И теперь его можно запускать прямо из терминала

В Windows запускать Python скрипты помогает Pylauncher (см. PEP 397 )

Scopes

Enclosing — внутри фукнции, которая вызвала функцию

Built-in — встроено в Python

Ссылки на Local уничтожаются после выполнения функции

Рассмотрим функцию fetch_words() из статьи про docstring

url, story, story_words, line, line_words, word — это локальные переменные

def fetch_words ( url ): «»»Fetch a list of words from a URL. Args: url: The URL of a UTF-8 text document. Returns: A list of strings containing the words from the document «»» # PEP 257 # story = urlopen(«http://sixty-north.com/c/t.txt») story = urlopen(url) story_words = [] for line in story: line_words = line.decode( «utf8» ).split() for word in line_words: story_words.append(word) story.close() return story_words def print_items (story_words): «»»Print items one per line. Args: An iterable series of printable items. «»» for word in story_words: print (word) def main (url): words = fetch_words(url) print_items(words) if __name__ == «__main__» : main(sys.argv[ 1 ])

Разберем поведение глобальных переменных

count = 0 def show_count (): print (count) def set_count (c): count = c show_count() # 0 set_count( 5 ) show_count() # 0

Изменить поведение функции можно с помощью global

count = 0 def show_count (): print (count) def set_count (c): global count count = c show_count() # 0 set_count( 5 ) # Now affects global variable show_count() # 5

Источник

Python Main Function & Method Example: Understand def Main()

Python main function is a starting point of any program. When the program is run, the python interpreter runs the code sequentially. Main function is executed only when it is run as a Python program. It will not run the main function if it imported as a module.

What is the def main() function in Python? To understand this, consider the following example code

def main() Example 1

def main(): print ("Hello World!") print ("Guru99")

Python Main Function

Here, we got two pieces of print- one is defined within the main function that is “Hello World!” and the other is independent, which is “Guru99”. When you run the function def main ():

It is because we did not declare the call function “if__name__== “__main__”.

It is important that after defining the main function, you call the code by if__name__== “__main__” and then run the code, only then you will get the output “hello world!” in the programming console. Consider the following code

def main() Example 2

def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")

Python Main Function

  • When Python interpreter reads a source file, it will execute all the code found in it.
  • When Python runs the “source file” as the main program, it sets the special variable (__name__) to have a value (“__main__”).
  • When you execute the main function in python, it will then read the “if” statement and checks whether __name__ does equal to __main__.
  • In Python “if__name__== “__main__” allows you to run the Python files either as reusable modules or standalone programs.

The __name__ variable and Python Module

To understand the importance of __name__ variable in Python main function method, consider the following code:

def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99") print("Value in built variable name is: ",__name__)

The __name__ variable and Python Module

Now consider, code is imported as a module

import MainFunction print("done")

The __name__ variable and Python Module

Here, is the code explanation:

Like C, Python uses == for comparison while = for assignment. Python interpreter uses the main function in two ways

import as a module

  • __name__= module’s filename
  • if statement == false, and the script in __main__ will not be executed

When the code is executed, it will check for the module name with “if.” This mechanism ensures, the main function is executed only as direct run not when imported as a module.

Above examples are Python 3 codes, if you want to use Python 2, please consider following code

def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"

In Python 3, you do not need to use if__name. Following code also works

def main(): print("Hello World!") main() print("Guru99")

Note: Make sure that after defining the main function, you leave some indent and not declare the code right below the def main(): function otherwise, it will give indent error.

Источник

Читайте также:  Html переменные внутри тега
Оцените статью