Классы. Модульность.

Класс - это проект объекта.

Классы состоят из свойств и методов.

Свойства - переменные класса.

Методы - функции класса.

Простейшая форма определения класса:

В скобках мы указываем от чего наследуется класс.

class ClassName(object):
    <statement-1>
    .
    .
    .
    <statement-N>
class User(object):
    """docstring - a simple example class"""
    name = 'Dima'
    def say_name(self):
        print('my name is %s' % name)


user = User()
user.name
user.say_name()

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

В питоне эти части могут быть каталогами - пакетами, модулями - файлами и элементами модуля - переменные классы, объекты и функции.

При использовании этих частей мы в начале их импортируем.

Программный код может быть поделен на две категории - клиентский и библиотечный.

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

Рассмотрим какие программные сущности мы можем импортировать.

GLOBAL_DOMAIN = 'domain.com'

def getDomain():
    print 'My domain is %s' % GLOBAL_DOMAIN

class app():
    typeApp = 'angular+python'
    author = 'Dimitry'
    def getBody(self):
        html = '<body> this is %s application of %s</body>' % (self.typeApp, self.author)
        return html
import mylib
import mypackage.mylib # в случае если файл mylib.py в папке mypackage
from mylib import GLOBAL_DOMAIN
from mylib import GLOBAL_DOMAIN as D # импорт под псевдонимом чоб избежать конфликтов имен
from mylib import *
from mypackage.mylib import GLOBAL_DOMAIN

Текущая дата.

import datetime
from time import strftime
print("Current date")
print(datetime.datetime.now())
print(datetime.datetime.now().time())
now = datetime.datetime.now()
now.strftime("%Y-%m-%d %H:%M")

создание перемешанной колоды

доставание карты

инициализация (создание колоды и словаря статистики с очками для бота и игрока и выиграшем)

делание ставки игроком

игра бота

старт игры

koloda = [6,7,8,9,10,2,3,4,11] * 4

import random
from termcolor import colored

random.shuffle(koloda)


print('Поиграем в очко?')
count = 0
botcount = 0

while True:
    choice = input('Будете брать карту? y/n\n')
    if choice == 'y':
        current = koloda.pop()
        bot = koloda.pop()
        print(colored('Вам попалась карта достоинством %d' %current, 'red'))
        print(colored('Боту попалось карта достоинством %d' %bot, "blue"))
        count += current
        botcount += bot
        if count > 21:
            print('Извините, но вы проиграли')
            break
        elif count == 21:
            print('Поздравляю, вы набрали 21!')
            print("Бот набрал %d" %botcount)
            break
        elif botcount == 21:
            print("Бот набрал %d" %botcount )
            break
        elif botcount > 21:
            print("Бот проиграл")
            print("Ты набрал %d" %count)
            break
        else:
            print("-----------------------------------")
            print(colored('У вас %d очков.' %count, "red"))
            print(colored('У бота %d очков.' %botcount, "blue"))
    elif choice == 'n':
        print('У вас %d очков и вы закончили игру.' %count)
        print('У бота %d очков и вы закончили игру.' %botcount)
        break



print('До новых встреч!')
Потратить 2 кредита и начать обучение!
Задать вопрос, прокомментировать.