Size: a a a

Сообщество Python Программистов

2020 February 17

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
А тут просто вот так
источник

l

let45fc in Сообщество Python Программистов
Так он завернут в функцию sum
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Бензофуран Гетероцикл
Language:
py3


Source:
def test(*args):
   return print(arg for arg in args)
test(1,2,3)


Result:
<generator object test.<locals>.<genexpr> at 0x7ff1374a3fc0>
Сюда пали
источник

l

let45fc in Сообщество Python Программистов
Не и че, ты просто выводишь объект генератора
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Ну так блять
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Он не в скобках
источник

l

let45fc in Сообщество Python Программистов
Когда ты передаешь куда-либо генератор, его не нужно заворачивать в скобки
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Бля
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Я не знал что скобки типа не всегда нужны
источник

l

let45fc in Сообщество Python Программистов
А, ок. Только учти что это работает только если генератор это единственный аргумент
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
let45fc
А, ок. Только учти что это работает только если генератор это единственный аргумент
?
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
А, понял
источник

l

let45fc in Сообщество Python Программистов
Вот такая штука не сработает
источник

l

let45fc in Сообщество Python Программистов
Language:
python3


Source:
def test(gen, a):
print(gen, a)

test(i for i in range(5), 3)


Errors:
File "source_file.py", line 4
   test(i for i in range(5), 3)
       ^
SyntaxError: Generator expression must be parenthesized if not sole argument
источник

l

let45fc in Сообщество Python Программистов
Оу шит чего я уже не админ?
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Language:
py3


Source:
import ast
code = """
from random import randint
def roll(*dice):
   return sum(randint(0, die) for die in dice)
print(roll(6))
print(roll(6, 6))
print(roll(6, 6, 6))"""
print(ast.dump(ast.parse(code)))


Result:
Module(body=[ImportFrom(module='random', names=[alias(name='randint', asname=None)], level=0), FunctionDef(name='roll', args=arguments(args=[], vararg=arg(arg='dice', annotation=None), kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=Call(func=Name(id='sum', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='randint', ctx=Load()), args=[Num(n=0), Name(id='die', ctx=Load())], keywords=[]), generators=[comprehension(target=Name(id='die', ctx=Store()), iter=Name(id='dice', ctx=Load()), ifs=[])])], keywords=[]))], decorator_list=[], returns=None), Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Call(func=Name(id='roll', ctx=Load()), args=[Num(n=6)], keywords=[])], keywords=[])), Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Call(func=Name(id='roll', ctx=Load()), args=[Num(n=6), Num(n=6)], keywords=[])], keywords=[])), Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Call(func=Name(id='roll', ctx=Load()), args=[Num(n=6), Num(n=6), Num(n=6)], keywords=[])], keywords=[]))])
источник

l

let45fc in Сообщество Python Программистов
Мне показывает что нет
источник

БГ

Бензофуран Гетероцикл in Сообщество Python Программистов
Бензофуран Гетероцикл
Language:
py3


Source:
import ast
code = """
from random import randint
def roll(*dice):
   return sum(randint(0, die) for die in dice)
print(roll(6))
print(roll(6, 6))
print(roll(6, 6, 6))"""
print(ast.dump(ast.parse(code)))


Result:
Module(body=[ImportFrom(module='random', names=[alias(name='randint', asname=None)], level=0), FunctionDef(name='roll', args=arguments(args=[], vararg=arg(arg='dice', annotation=None), kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=Call(func=Name(id='sum', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='randint', ctx=Load()), args=[Num(n=0), Name(id='die', ctx=Load())], keywords=[]), generators=[comprehension(target=Name(id='die', ctx=Store()), iter=Name(id='dice', ctx=Load()), ifs=[])])], keywords=[]))], decorator_list=[], returns=None), Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Call(func=Name(id='roll', ctx=Load()), args=[Num(n=6)], keywords=[])], keywords=[])), Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Call(func=Name(id='roll', ctx=Load()), args=[Num(n=6), Num(n=6)], keywords=[])], keywords=[])), Expr(value=Call(func=Name(id='print', ctx=Load()), args=[Call(func=Name(id='roll', ctx=Load()), args=[Num(n=6), Num(n=6), Num(n=6)], keywords=[])], keywords=[]))])
Прикольная хуйня
источник

l

let45fc in Сообщество Python Программистов
Лол, что
источник

l

let45fc in Сообщество Python Программистов
Не показывает
источник