Найти - Пользователи
Полная версия: datetime.now().year как сделать подобную функцию или что-там еще
Начало » Python для новичков » datetime.now().year как сделать подобную функцию или что-там еще
1
Koala
Доброй ночи всем!

я думал, что знаю, как делать функции в питоне, однако, вот тут странный (для меня) вызов:
(после () еще что-то):
 >>> from datetime import datetime
>>> datetime.now().year
2017
>>> def my():
...     year = 3017
...     print('hello mymy')
...
>>> my().year
hello mymy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'year'
>>>

Как Вы видите, я попытался сделать что-то подобное, но потерпел фиаско.
Объясните мне, как такое делают: типа datetime.now().year - т.е. после now() еще переменная.
Не могу понять. Или скажите где читать/смотреть
FishHook
 >>> def my():
...     year = 3017
...     print('hello mymy')

В вашей функции нет return, поэтому она ничего не возвращает. Если быть точнее, она возвращает None. Об этом вам недвузначно намекает стектрейс
 AttributeError: 'NoneType' object has no attribute 'year'
scidam
Koala
Объясните мне, как такое делают: типа datetime.now().year - т.е. после now() еще переменная.

Ваша функция должна вернуть представителя класса, имеющего атрибут year, например:

 class MyDate:
    def __init__(self, day, month, year):
        self.day = day
        self.month = month
        self.year = year
def my():
    year = 3017
    date_instance = MyDate(1, 1, year)
    return date_instance
my().year # будет 3017


4kpt_IV
Люди добрые. Зачем этот “тантрический секс” с датами? Весь прогрессивный мир давно уже использует arrow!!!
Koala
Спасибо всем. И конечно же, я, как и все прогрессивное человечество буду использовать arrow :-)

не хочу быть с регрессивным человечеством. его как-то слишком много стало.
4kpt_IV
Koala
Ай молодца. Я в Вас верю
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB