Форум сайта python.su
0
Друзья, особенно те, кто программирует на Python, хотел бы обсудить следующий вопрос, который, как мне кажется в бОльшей степени относится к вопросам начинающих, но всё же. Мне бы хотелось услышать некоторые пояснения или рекомендации: в каком случае какой способ передачи аргументов при вызове функции или метода лучше использовать и/или используйте Вы в своих проектах. И как Вы решаете, как вообще объявлять функцию. Ниже приведён небольшой пример:
def foo(id, name, age, email): print id print name print age print email
foo(101, 'Max', 19, 'max@somedomain.org') print '------' foo(id=101, name='Max', age=19, email='max@somedomain.org') print '------'
def bar(**kargs): print kargs['id'] print kargs['name'] print kargs['age'] print kargs['email']
bar(id=101, name='Max', age=19, email='max@somedomain.org')
Отредактировано mind_mixer (Июль 22, 2013 13:30:09)
Офлайн
88
Без четкой цели пиши как обычно.
def foo(id, name, age, email): print(id, name, age, email) ad = {'id': 1, 'name': 2, 'age': 3, 'email': 4} foo(*(1,2,3,4)) foo(**ad)
Офлайн
63
mind_mixer
Надуманный вопрос…
Офлайн
568
mind_mixer,
Вы в своих рассуждениях не принимаете в расчет случая, когда имя аргумента заранее вообще неизвестно. Пример, как Вы просили, из жизни:
#-*- coding:utf-8 -*- d = dict() d.update(a=1) d.update(b=2) d.update(a_vot_takutu_vot_peremennuyu_nikto_i_nikogda_ne_predpolagal=3) print d
Офлайн
221
4kpt+1
Надуманный вопрос…
Офлайн
0
JOHN_16
mind_mixer
много слов и ни очем. Вместо время которое вы потратили на написание этого поста можно было прочитать об этом в книге Лутца и тп. У вас просто нет понимания того о чем вы пишете. А нету его не потому что вы чего то недопонимаете, а потому что нету базы, фундамента. Мой вам совет не ленится и читать литературу и в качестве практики писать код, пусть велосипеды, ибо на них многое отрабатывается и сами вопросы изживают себя.
Офлайн