Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Общие вопросы

Подписаться на эту рубрику по RSS

Разные вопросы и ответы которые волнуют начинающих Python 3 программистов

Декораторы функций в Python

Декораторы функций в Python

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

class A:
    @staticmethod # декоратор в Python для создания статических методов
    def summ(x,y):
        return x+y
a = A.summ(6,7)
print a
# 13
class B: # альтернативная реализация класса А
    def summ(x,y):
        return x+y
    summ = staticmethod(summ)
b = B.summ(6,7)
print b
# 13
class Counter: # класс как декоратор
    def __init__(self, func): # принимаем в качестве параметра декорируемую функцию
        self.func = func # запоминаем декорируемую функцию
        self.calls = 0
    def __call__(self, *args): # вызов декоратора, *args - аргументы декорируемой функции
        self.calls += 1
        if self.calls >= 3:
            print "function summ call %s" % (self.calls,) # если функция summ была запущена 3 или больше раз
        return self.func(*args)
@Counter
def summ(a,b,c):
    return a+b+c
print summ(5,9,2)
print summ(1,7,2)
print summ(4,9,3)
# 16
# 10
# function summ call 3
# 16
Далее...

Работа с файлами в Python

Работа с файлами в Python

Файл - области постоянной памяти в вашем компьютере, которыми управляет операционная система. Объект файла создает функция open или file.

При работе с файлами используется буферизация и она включена по умолчанию. При буферизации данные не записываются в файл непосредственно при вызове метода записи. Они записываются, когда все действия с файлом прекращены или вызвана функция close().

f1 = open("test") # по умолчанию файл открывается в режиме r(чтение)
f2 = open("test", "w") # файл открывается для записи
f2 = open("test", "w", 0) # отключает буферизацию, данные сразу записываются в файл (например при вызове метода write())
f3 = open("test", "a") # файл открывается для записи в конец
f4 = open("test", "a+") # файл открывается как для чтения так и для записи в конец
f5 = open("test", "ab") # добавляя к режиму символ "b" мы можем работать с файлам как с двоичными данными(интерпритация символа новой строки отключена)
xfile = open("test.txt")
xString = xfile.read() # прочитать весь файл в строку
xString = xfile.read(N) # прочитать N-байтов в строку
xString = xfile.readline() # прочитать текстовую строку включая символ конца строки
xList = xfile.readlines() # прочитать весь файл целиком в список строк
xfile.write(xString) # записать строку в файл
xfile.writelines(xList) # записать строки из списка в файл
xfile.close() # закрытие файла в ручную (выполняется по окончанию работы с файлом)
xfile.flush() # выталкивает выходные буферы на диск, файл остается открытым
xfile.seek(N) # изменяет текущую позицию в файле для следующей операции, смещая ее на N-байтов от начала файла
Пример скрипта который сам создает файлы Python c баш-строкой.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
myfile = open("newfile.py", "w")
myfile.write("#!/usr/bin/env python\n# -*- coding: utf-8 -*-")
myfile.close()
Скачать и сохранить файл, используя Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
url = "http://www.google.ru/index.html"
import urllib
webFile = urllib.urlopen(url)
localFile = open(url.split('/')[-1], 'wb')
localFile.write(webFile.read())
webFile.close()
localFile.close()
Далее...

Работа со строками в Python

Работа со строками в Python

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def primer_3(): # Объявление функции primer_2()
    a='Я'
    b=' программирую на языке'
    f=' Python'
    print (a+b+f+' :)') 
            # сцепляем строковые переменные a, 
         # b, f и 'текст' :)
def main():
    primer_3()
    return 0
 
if __name__ == '__main__':
    main()
Оператор * тоже можно использовать, но при условии, что одним из операндов будет целое число. данный оператор символизирует операцию повторения строки. Пример:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def primer_4(): # Объявление функции primer_4()
    a='Я'
    b=' программирую на языке'
    f=' Python \n' # специальный символ \n
                # означает переход на следующую
                # строку
    g=a+b+f
    print (g * 3) 
               # распечатывам значение
            # переменной g 3 раза
def main():
    primer_4()
    return 0
 
if __name__ == '__main__':
    main()
Здесь будут описаны особенности, расширенные возможности.Далее...

Встроенный Django сервер тормозит на Windows 7

Встроенный Django сервер тормозит на Windows 7

Столкнулся с такой вот проблемой, что встроенный сервер Django очень долго обрабатывает запросы в операционной системе Windows 7. Ситуация примерно такая. Запускаем сервер:
python ./manage.py runserver 127.0.0.1:3333
Заходим на сайт:
http://localhost:3333/
После этого получаем контент только после долгой задержки, что не очень приятно в процессе активной разработки или тестирования сайта. Оказывается, проблема возникает из-за, кто бы подумал, IPv6, так как понятие localhost в контексте наличия разных протоколов уже не такое однозначное. Поэтому делаем 2 шага:
1. Раскомментируем строчки (у кого они не раскомментированы в C:/Windows/System32/drivers/etc/hosts)
127.0.0.1 localhost
#::1 localhost
2. Заходим на сайт не через localhost, а по 127.0.0.1.
Вы любите смотреть фильмы онлайн? Советуем вам топ онлайн кино 2012. Удачного вам просмотра фильмов.

Разработка компьютерной программы

25 сентября 2012 г. Archy Общие вопросы 1

Разработка компьютерной программыРазработка компьютерной программы.

1. Введение

2. Выбор создаваемой программы

3. Написание технического задания

4. Разработка программы

5. Создание справочной системы

6. Тестирование программы

7. Создание установочного пакета и выпуск программы

8. Обновление и улучшение программы.

1. Введение

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

В наше время все изменилось, компьютеры работают быстро, а вот программы не очень. Почему же так? Да все просто, в далекие прошлые временна программы разрабатывались профессионалами своего дела, а сейчас разработать программу может любой желающий. Не каждый начинающий разработчик может, создавать программу нормально, учесть все нюансы ее работы, впоследствии чего программа работает нестабильно. Данная статья покажет ту небольшую часть, которую должен пройти каждый разработчик, создавая компьютерную программу.Далее...

Востребованные на рынке языки программирования

25 сентября 2012 г. Archy Общие вопросы 1

Востребованные на рынке языки программированияМысль о том, какие языки программирования лучше начинать изучать для того, чтобы гарантированно получить престижную работу, возникают у многих программистов. Дело в том, что выучить их много «на всякий случай» не получится, а они часто меняются. Как быть, чтобы всегда быть востребованным на рынке труда?

Когда ПК только появились, вопрос так остро не стоял: каждый программировал в меру сил и возможностей. В те времена еще были популярны мнения ученых, которые утверждали, что главное – уметь эффективно строить данные и создавать алгоритмы, а выбор языка – дело второе. В общем, главным был результат, а программу можно было написать на Бейсике, Паскале, Си, Фортране или ассемблере. Теперь все не так, и отделы кадров получают строгие указания действовать по шаблону – скажем, принимать лишь знающих C++ Builder, к примеру. Несмотря на то, что такая подстановка выбора некорректна. Ну да не будем о грустном, подумаем, как действовать.

По опросам специализированных изданий, сейчас наиболее перспективным языком программирования является Java. Это очевидно, связано с массовым созданием программ под мобильные платформы, с развитием web-программирования. Второй язык, как ни странно, Си «без плюсов». Не удивляйтесь, ведь Си до сих пор развивается параллельно с С++, причем с каждым годом между ними возникают все новые отличия.Далее...

С чего начинаем программировать?

25 сентября 2012 г. Archy Общие вопросы Обсудить

С чего начинаем программировать?Некоторые люди спрашивают, какой язык программирования следует учить  в  первую очередь. Существует не один ответ, но нужно учесть следующие моменты:

1. Используйте то, что используют ваши друзья. На вопрос "какую операционную систему использовать, Windows, Unix, Mac или?", Я отвечаю обычно так: «используйте то, что используют ваши друзья ". Опыт обучения с друзьями будет компенсировать любые внутренние различия между ОС  или между языками программирования.

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

3. Будьте проще. К примеру, такие языки программирования, как C + + и Java, предназначены для профессионального развития. Сложные языки - это большие команды опытных программистов, которых беспокоит эффективность созданного ими кода. В результате, подобные языки имеют много сложных деталей. А Вы начинаете с создания программы и не нужно, что-то  усложнять.Далее...

Способы создания своего сайта

7 сентября 2012 г. Archy Общие вопросы Обсудить

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

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

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

Популяризация собственного форума

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

- Станут ли пользователи посещать ваш форум?

- Имеете ли вы достаточную базу посетителей для создания форума?

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

- Будет ли форум объединён с веб-сервисом?

Ответив на эти вопросы, вы сможете окончательно решить, нужен ли вам форум.

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

Совет 1.

Вы останетесь один на ресурсе, если сами не позовёте пользователей. Здесь хорошо подходит следующая аналогия. Гости уйдёт с вечеринки, даже не познакомившись с хозяином, если вечеринка изначально будет плохая. Следите за порядком на вашем ресурсе и не бойтесь пользоваться баном для особо настырных особ.Далее...

Работа с датой и временем в Python

Работа с датой и временем в Python
Для работы с датой и временем в языке Python предназначены следующие модули:

 time - позволяет получить текущую дату и время, а также произвести форматированный вывод.

 datetime - позволяет производить манипуляции датой и временем. Например, производить арифметрические операции, сравнивать даты, выводить дату и время в различных форматах и др.

 calendar - позволяет вывести календарь в виде простого текста или в HTML формате.Далее...