Форматирование даты и времени 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Форматирование даты и времени



>>> import time

>>> time.strftime("%d.%m.%Y") # Форматирование даты

'03.04.2015'

>>> time.strftime("%H:%M:%S") # Форматирование времени

'14:01:34'

>>> time.strftime("%d.%m.%Y", time.localtime(1321954972.0))

'22.11.2011'

 

 

>>> time.strptime("Fri Apr 03 14:01:34 2015")

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=3, tm_hour=14, tm_min=1,

tm_sec=34, tm_wday=4, tm_yday=94, tm_isdst=-1)

>>> time.strptime("03.04.2015", "%d.%m.%Y")

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=3, tm_hour=0, tm_min=0,

tm_sec=0, tm_wday=4, tm_yday=93, tm_isdst=-1)

>>> time.strptime("03-04-2015", "%d.%m.%Y")

... Фрагмент опущен...

ValueError: time data '03-04-2015' does not match format '%d.%m.%Y'

 

 

>>> time.asctime() # Текущая дата

'Fri Apr 3 14:06:12 2015'

>>> time.asctime(time.localtime(1321954972.0)) # Дата в прошлом

'Tue Nov 22 12:42:52 2011'

 

 

>>> time.ctime() # Текущая дата

'Fri Apr 3 14:06:12 2015'

>>> time.ctime(1321954972.0) # Дата в прошлом

'Tue Nov 22 12:42:52 2011'

 

 

>>> import locale

>>> locale.setlocale(locale.LC_ALL, "Russian_Russia.1251")

'Russian_Russia.1251'

>>> print(time.strftime("%x")) # Представление даты

03.04.2015

>>> print(time.strftime("%X")) # Представление времени

14:10:19

>>> print(time.strftime("%c")) # Дата и время

03.04.2015 14:10:19

 

Листинг 10.2. Форматирование даты и времени

# -*- coding: utf-8 -*-

import time

import locale

locale.setlocale(locale.LC_ALL, "Russian_Russia.1251")

s = "Сегодня:\n%A %d %b %Y %H:%M:%S\n%d.%m.%Y"

print(time.strftime(s))

input()

10.3. "Засыпание" скрипта

>>> import time # Подключаем модуль time

>>> time.sleep(5) # "Засыпаем" на 5 секунд

10.4. Модуль datetime.
Манипуляции датой и временем

import datetime

10.4.1. Класс timedelta

>>> import datetime

>>> datetime.timedelta(milliseconds=1)

datetime.timedelta(0, 0, 1000)

 

 

>>> datetime.timedelta(minutes=1)

datetime.timedelta(0, 60)

 

 

>>> datetime.timedelta(hours=1)

datetime.timedelta(0, 3600)

 

 

>>> datetime.timedelta(weeks=1)

datetime.timedelta(7)

 

 

>>> datetime.timedelta(0, 0, 0, 0, 0, 1)

datetime.timedelta(0, 3600)

>>> datetime.timedelta(hours=1)

datetime.timedelta(0, 3600)

 

 

>>> d = datetime.timedelta(hours=1, days=2, milliseconds=1)

>>> d

datetime.timedelta(2, 3600, 1000)

>>> d.days, d.seconds, d.microseconds

(2, 3600, 1000)

>>> repr(d), str(d)

('datetime.timedelta(2, 3600, 1000)', '2 days, 1:00:00.001000')

 

 

>>> d = datetime.timedelta(minutes=1)

>>> d.total_seconds()

60.0

 

 

>>> d1 = datetime.timedelta(days=2)

>>> d2 = datetime.timedelta(days=7)

>>> d1 + d2, d2 — d1 # Сложение и вычитание

(datetime.timedelta(9), datetime.timedelta(5))

>>> d2 / d1 # Деление

3.5

>>> d1 / 2, d2 / 2.5 # Деление

(datetime.timedelta(1), datetime.timedelta(2, 69120))

>>> d2 // d1 # Деление

>>> d1 // 2, d2 // 2 # Деление

(datetime.timedelta(1), datetime.timedelta(3, 43200))

>>> d2 % d1 # Остаток

datetime.timedelta(1)

>>> d1 * 2, d2 * 2 # Умножение

(datetime.timedelta(4), datetime.timedelta(14))

>>> 2 * d1, 2 * d2 # Умножение

(datetime.timedelta(4), datetime.timedelta(14))

>>> d3 = -d1

>>> d3, abs(d3)

(datetime.timedelta(-2), datetime.timedelta(2))

 

 

>>> d1 = datetime.timedelta(days=2)

>>> d2 = datetime.timedelta(days=7)

>>> d3 = datetime.timedelta(weeks=1)

>>> d1 == d2, d2 == d3 # Проверка на равенство

(False, True)

>>> d1!= d2, d2!= d3 # Проверка на неравенство

(True, False)

>>> d1 < d2, d2 <= d3 # Меньше, меньше или равно

(True, True)

>>> d1 > d2, d2 >= d3 # Больше, больше или равно

(False, True)

 

 

>>> d = datetime.timedelta(hours = 25, minutes = 5, seconds = 27)

>>> str(d)

'1 day, 1:05:27'

>>> repr(d)

'datetime.timedelta(1, 3927)'

 

 

>>> datetime.timedelta.min

datetime.timedelta(-999999999)

>>> datetime.timedelta.max

datetime.timedelta(999999999, 86399, 999999)

>>> datetime.timedelta.resolution

datetime.timedelta(0, 0, 1)

10.4.2. Класс date

>>> import datetime

>>> datetime.MINYEAR, datetime.MAXYEAR

(1, 9999)

 

 

>>> datetime.date(2015, 4, 3)

datetime.date(2015, 4, 3)

>>> datetime.date(2015, 13, 3) # Неправильное значение для месяца

... Фрагмент опущен...

ValueError: month must be in 1..12

>>> d = datetime.date(2015, 4, 3)

>>> repr(d), str(d)

('datetime.date(2015, 4, 3)', '2015-04-03')

 

 

>>> datetime.date.today() # Получаем текущую дату

datetime.date(2015, 4, 3)

 

 

>>> import datetime, time

>>> datetime.date.fromtimestamp(time.time()) # Текущая дата

datetime.date(2015, 4, 3)

>>> datetime.date.fromtimestamp(1321954972.0) # Дата 22-11-2011

datetime.date(2011, 11, 22)

 

 

>>> datetime.date.max.toordinal()

>>> datetime.date.fromordinal(3652059)

datetime.date(9999, 12, 31)

>>> datetime.date.fromordinal(1)

datetime.date(1, 1, 1)

 

 

>>> d = datetime.date.today() # Текущая дата (3-04-2015)

>>> d.year, d.month, d.day

(2015, 4, 3)

 

 

>>> d1 = datetime.date(2015, 4, 3)

>>> d2 = datetime.date(2015, 1, 1)

>>> t = datetime.timedelta(days=10)

>>> d1 + t, d1 — t # Прибавляем и вычитаем 10 дней

(datetime.date(2015, 4, 13), datetime.date(2015, 3, 24))

>>> d1 — d2 # Разница между датами

datetime.timedelta(92)

>>> d1 < d2, d1 > d2, d1 <= d2, d1 >= d2

(False, True, False, True)

>>> d1 == d2, d1!= d2

(False, True)

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.replace(2014, 12) # Заменяем год и месяц

datetime.date(2014, 12, 3)

>>> d.replace(year=2015, month=1, day=31)

datetime.date(2015, 1, 31)

>>> d.replace(day=30) # Заменяем только день

datetime.date(2015, 1, 30)

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.strftime("%d.%m.%Y")

'03.04.2015'

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.isoformat()

'2015-04-03'

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.ctime()

'Fri Apr 3 00:00:00 2015'

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.timetuple()

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=3, tm_hour=0, tm_min=0,

tm_sec=0, tm_wday=4, tm_yday=93, tm_isdst=-1)

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.toordinal()

>>> datetime.date.fromordinal(735691)

datetime.date(2015, 4, 3)

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.weekday() # 4 — это пятница

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.isoweekday() # 5 — это пятница

 

 

>>> d = datetime.date(2015, 4, 3)

>>> d.isocalendar()

(2015, 14, 5)

 

 

>>> datetime.date.min

datetime.date(1, 1, 1)

>>> datetime.date.max

datetime.date(9999, 12, 31)

>>> datetime.date.resolution

datetime.timedelta(1)

10.4.3. Класс time

>>> import datetime

>>> datetime.time(23, 12, 38, 375000)

datetime.time(23, 12, 38, 375000)

>>> t = datetime.time(hour=23, second=38, minute=12)

>>> repr(t), str(t)

('datetime.time(23, 12, 38)', '23:12:38')

>>> datetime.time(25, 12, 38, 375000)

... Фрагмент опущен...

ValueError: hour must be in 0..23

 

 

>>> t = datetime.time(23, 12, 38, 375000)

>>> t.hour, t.minute, t.second, t.microsecond

(23, 12, 38, 375000)

 

 

>>> t1 = datetime.time(23, 12, 38, 375000)

>>> t2 = datetime.time(12, 28, 17)

>>> t1 < t2, t1 > t2, t1 <= t2, t1 >= t2

(False, True, False, True)

>>> t1 == t2, t1!= t2

(False, True)

 

 

>>> t = datetime.time(23, 12, 38, 375000)

>>> t.replace(10, 52) # Заменяем часы и минуты

datetime.time(10, 52, 38, 375000)

>>> t.replace(second=21) # Заменяем только секунды

datetime.time(23, 12, 21, 375000)

 

 

>>> t = datetime.time(23, 12, 38, 375000)

>>> t.isoformat()

'23:12:38.375000'

 

 

>>> t = datetime.time(23, 12, 38, 375000)

>>> t.strftime("%H:%M:%S")

'23:12:38'

 

 

>>> datetime.time.min

datetime.time(0, 0)

>>> datetime.time.max

datetime.time(23, 59, 59, 999999)

>>> datetime.time.resolution

datetime.timedelta(0, 0, 1)

10.4.4. Класс datetime

>>> import datetime

>>> datetime.datetime(2015, 4, 6)

datetime.datetime(2015, 4, 6, 0, 0)

>>> datetime.datetime(2015, 4, 6, hour=12, minute=55)

datetime.datetime(2015, 4, 6, 12, 55)

>>> datetime.datetime(2015, 32, 20)

... Фрагмент опущен...

ValueError: month must be in 1..12

>>> d = datetime.datetime(2015, 4, 6, 16, 1, 5)

>>> repr(d), str(d)

('datetime.datetime(2015, 4, 6, 16, 1, 5)', '2015-04-06 16:01:05')

 

 

>>> datetime.datetime.today()

datetime.datetime(2015, 4, 6, 16, 2, 23, 944152)

 

 

>>> datetime.datetime.now()

datetime.datetime(2015, 4, 6, 16, 2, 45, 144777)

 

 

>>> datetime.datetime.utcnow()

datetime.datetime(2015, 4, 6, 13, 3, 9, 862255)

 

 

>>> import datetime, time

>>> datetime.datetime.fromtimestamp(time.time())

datetime.datetime(2015, 4, 6, 16, 3, 34, 978523)

>>> datetime.datetime.fromtimestamp(1421579037.0)

datetime.datetime(2015, 1, 18, 14, 3, 57)

 

 

>>> datetime.datetime.utcfromtimestamp(time.time())

datetime.datetime(2015, 4, 6, 13, 4, 45, 756479)

>>> datetime.datetime.utcfromtimestamp(1421579037.0)

datetime.datetime(2015, 1, 18, 11, 3, 57)

 

 

>>> datetime.datetime.max.toordinal()

>>> datetime.datetime.fromordinal(3652059)

datetime.datetime(9999, 12, 31, 0, 0)

>>> datetime.datetime.fromordinal(1)

datetime.datetime(1, 1, 1, 0, 0)

 

 

>>> d = datetime.date(2015, 4, 6) # Экземпляр класса date

>>> t = datetime.time(16, 7, 22) # Экземпляр класса time

>>> datetime.datetime.combine(d, t)

datetime.datetime(2015, 4, 6, 16, 7, 22)

 

 

>>> datetime.datetime.strptime("06.04.2015", "%d.%m.%Y")

datetime.datetime(2015, 4, 6, 0, 0)

>>> datetime.datetime.strptime("06.04.2015", "%d-%m-%Y")

... Фрагмент опущен...

ValueError: time data '06.04.2015'

does not match format '%d-%m-%Y'

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 7, 22)

>>> d.year, d.month, d.day

(2015, 4, 6)

>>> d.hour, d.minute, d.second, d.microsecond

(16, 7, 22, 0)

 

 

>>> d1 = datetime.datetime(2015, 4, 6, 16, 7, 22)

>>> d2 = datetime.datetime(2015, 4, 1, 12, 31, 4)

>>> t = datetime.timedelta(days=10, minutes=10)

>>> d1 + t # Прибавляем 10 дней и 10 минут

datetime.datetime(2015, 4, 16, 16, 17, 22)

>>> d1 — t # Вычитаем 10 дней и 10 минут

datetime.datetime(2015, 3, 27, 15, 57, 22)

>>> d1 — d2 # Разница между датами

datetime.timedelta(5, 12978)

>>> d1 < d2, d1 > d2, d1 <= d2, d1 >= d2

(False, True, False, True)

>>> d1 == d2, d1!= d2

(False, True)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 10, 54)

>>> d.date()

datetime.date(2015, 4, 6)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 10, 54)

>>> d.time()

datetime.time(16, 10, 54)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.timestamp()

1428326052.0

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.replace(2014, 12)

datetime.datetime(2014, 12, 6, 16, 14, 12)

>>> d.replace(hour=12, month=10)

datetime.datetime(2015, 10, 6, 12, 14, 12)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.timetuple()

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=6, tm_hour=16, tm_min=14,

tm_sec=12, tm_wday=0, tm_yday=96, tm_isdst=-1)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.utctimetuple()

time.struct_time(tm_year=2015, tm_mon=4, tm_mday=6, tm_hour=16, tm_min=14,

tm_sec=12, tm_wday=0, tm_yday=96, tm_isdst=0)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.toordinal()

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.weekday() # 0 — это понедельник

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.isoweekday() # 1 — это понедельник

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.isocalendar()

(2015, 15, 1)

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.isoformat() # Разделитель не указан

'2015-04-06T16:14:12'

>>> d.isoformat(" ") # Пробел в качестве разделителя

'2015-04-06 16:14:12'

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.ctime()

'Mon Apr 6 16:14:12 2015'

 

 

>>> d = datetime.datetime(2015, 4, 6, 16, 14, 12)

>>> d.strftime("%d.%m.%Y %H:%M:%S")

'06.04.2015 16:14:12'

 

 

>>> datetime.datetime.min

datetime.datetime(1, 1, 1, 0, 0)

>>> datetime.datetime.max

datetime.datetime(9999, 12, 31, 23, 59, 59, 999999)

>>> datetime.datetime.resolution

datetime.timedelta(0, 0, 1)

10.5. Модуль calendar. Вывод календаря

import calendar

 

 

>>> import calendar

>>> c = calendar.Calendar(0)

>>> c.monthdayscalendar(2015, 4) # 4 — это апрель

[[0, 0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18, 19],

[20, 21, 22, 23, 24, 25, 26], [27, 28, 29, 30, 0, 0, 0]]

 

 

>>> c = calendar.TextCalendar(0)

>>> print(c.formatyear(2015)) # Текстовый календарь на 2015 год

 

 

>>> c = calendar.LocaleTextCalendar(0, "Russian_Russia.1251")

>>> print(c.formatyear(2015))

 

 

>>> c = calendar.HTMLCalendar(0)

>>> print(c.formatyear(2011))

 

 

>>> c = calendar.LocaleHTMLCalendar(0, "Russian_Russia.1251")

>>> xhtml = c.formatyearpage(2011, encoding="windows-1251")

>>> print(xhtml.decode("cp1251"))

 

Листинг 10.3. Вывод текстового календаря

>>> c = calendar.TextCalendar() # Первый день понедельник

>>> c.setfirstweekday(calendar.SUNDAY) # Первый день теперь воскресенье

>>> print(c.formatmonth(2015, 1)) # Текстовый календарь на январь 2015 г.

10.5.1. Методы классов TextCalendar и LocaleTextCalendar

>>> import calendar

>>> c = calendar.LocaleTextCalendar(0, "Russian_Russia.1251")

>>> print(c.formatmonth(2015, 4))

Апрель 2015

Пн Вт Ср Чт Пт Сб Вс

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

 

 

>>> c = calendar.LocaleTextCalendar(0, "Russian_Russia.1251")

>>> c.prmonth(2015, 4, 4)

Апрель 2015

Пн Вт Ср Чт Пт Сб Вс

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

 

 

>>> c = calendar.LocaleTextCalendar(0, "Russian_Russia.1251")

>>> print(c.formatyear(2015, m=4, c=2))

 

 

>>> c = calendar.LocaleTextCalendar(0, "Russian_Russia.1251")

>>> c.pryear(2015, 2, 1, 4, 2)

10.5.2. Методы классов HTMLCalendar и LocaleHTMLCalendar

>>> import calendar

>>> c = calendar.HTMLCalendar(0)

>>> print(c.cssclasses)

['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']

 

 

>>> c = calendar.LocaleHTMLCalendar(0, "Russian_Russia.1251")

>>> c.cssclasses = ["workday", "workday", "workday", "workday",

"workday", "week-end", "week-end"]

>>> print(c.formatmonth(2015, 4, False))

 

 

>>> c = calendar.LocaleHTMLCalendar(0, "Russian_Russia.1251")

>>> print(c.formatyear(2015, 4))

 

 

>>> c = calendar.LocaleHTMLCalendar(0, "Russian_Russia.1251")

>>> xhtml = c.formatyearpage(2015, 4, encoding="windows-1251")

>>> type(xhtml) # Возвращаемая строка имеет тип данных bytes

<class 'bytes'>

>>> print(xhtml.decode("cp1251"))

Другие полезные функции

>>> import calendar

>>> calendar.firstweekday() # По умолчанию 0

>>> calendar.setfirstweekday(6) # Изменяем значение

>>> calendar.firstweekday() # Проверяем установку

 

 

>>> calendar.setfirstweekday(0)

>>> print(calendar.month(2015, 4)) # Апрель 2015 года

April 2015

Mo Tu We Th Fr Sa Su

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

 

 

>>> calendar.prmonth(2015, 4) # Апрель 2015 года

 

 

>>> calendar.monthcalendar(2015, 4)

[[0, 0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18, 19],

[20, 21, 22, 23, 24, 25, 26], [27, 28, 29, 30, 0, 0, 0]]

 

 

>>> print(calendar.monthrange(2015, 4))

(2, 30)

>>> # Апрель 2015 года начинается со среды (2) и включает 30 дней

 

 

>>> print(calendar.calendar(2015, m=4, c=2))

 

 

>>> calendar.prcal(2015, 2, 1, 4, 2)

 

 

>>> calendar.weekheader(4)

'Mon Tue Wed Thu Fri Sat Sun '

>>> calendar.weekheader(2)

'Mo Tu We Th Fr Sa Su'

>>> import locale # Задаем другую локаль

>>> locale.setlocale(locale.LC_ALL, "Russian_Russia.1251")

'Russian_Russia.1251'

>>> calendar.weekheader(2)

'Пн Вт Ср Чт Пт Сб Вс'

 

 

>>> calendar.isleap(2015), calendar.isleap(2012)

(False, True)

 

 

>>> calendar.leapdays(2010, 2012) # 2012 не учитывается

>>> calendar.leapdays(2010, 2015) # 2012 — високосный год

>>> calendar.leapdays(2010, 2017) # 2012 и 2016 — високосные года

 

 

>>> calendar.weekday(2015, 4, 7)

 

 

>>> import calendar, time

>>> d = time.gmtime(1321954972.0) # Дата 22-11-2011

>>> d

time.struct_time(tm_year=2011, tm_mon=11, tm_mday=22, tm_hour=9,

tm_min=42, tm_sec=52, tm_wday=1, tm_yday=326, tm_isdst=0)

>>> tuple(d)

(2011, 11, 22, 9, 42, 52, 1, 326, 0)

>>> calendar.timegm(d)

>>> calendar.timegm((2011, 11, 22, 9, 42, 52, 1, 326, 0))

 

 

>>> [i for i in calendar.day_name]

['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',

'Saturday', 'Sunday']

 

 

>>> [i for i in calendar.day_abbr]

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

 

 

>>> [i for i in calendar.month_name]

['', 'January', 'February', 'March', 'April', 'May', 'June',

'July', 'August', 'September', 'October', 'November', 'December']

 

 

>>> [i for i in calendar.month_abbr]

['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug',

'Sep', 'Oct', 'Nov', 'Dec']

>>> import locale # Настройка локали

>>> locale.setlocale(locale.LC_ALL, "Russian_Russia.1251")

'Russian_Russia.1251'

>>> [i for i in calendar.day_abbr]

['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс']

>>> [i for i in calendar.month_name]

['', 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль',

'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']

>>> [i for i in calendar.month_abbr]

['', 'янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен',

'окт', 'ноя', 'дек']

10.6. Измерение времени выполнения
фрагментов кода

from timeit import Timer

 

Листинг 10.4. Измерение времени выполнения

# -*- coding: utf-8 -*-

from timeit import Timer

code1 = """\

i, j = 1, 0

while i < 10001:

j += i

i += 1

"""

t1 = Timer(stmt=code1)

print("while:", t1.timeit(number=10000))

code2 = """\

j = 0

for i in range(1, 10001):

j += i

"""

t2 = Timer(stmt=code2)

print("for:", t2.timeit(number=10000))

code3 = """\

j = sum(range(1, 10001))

"""

t3 = Timer(stmt=code3)

print("sum:", t3.timeit(number=10000))

input()

 

Листинг 10.5. Использование метода repeat()

# -*- coding: utf-8 -*-

from timeit import Timer

code1 = """\

arr1 = []

for i in range(1, 10001):

arr1.append(str(i))

"""

t1 = Timer(stmt=code1)

print("append:", t1.repeat(repeat=3, number=2000))

code2 = """\

arr2 = [str(i) for i in range(1, 10001)]

"""

t2 = Timer(stmt=code2)

print("генератор:", t2.repeat(repeat=3, number=2000))

input()

Пользовательские функции



Поделиться:


Последнее изменение этой страницы: 2016-06-23; просмотров: 267; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.175.180 (0.228 с.)