如何在一行代码上打印多个函数,没有任何不必要的字符

时间:2016-12-06 22:00:56

标签: python

我想在Python的一行代码上打印多个函数。我目前正在使用在print语句之后放置逗号的方法

print("Hello, my name is " + introName + " and I have a " +outroName+.",) 

但它打印得像这样

('Hello, my name is Arthur\n and I have a secret.',)

如何摆脱\n ()'

1 个答案:

答案 0 :(得分:2)

最后,private class Model { } private class Event { private Long id; private Model model; public Event(Long id) { this.id = id; } public Event(Long id, Model model) { this.id = id; this.model = model; } } private class Async { public Observable<Event> get(Event event) { return Observable.just(new Event(1L, new Model())).observeOn(Schedulers.io()); // doing this to simulate an // operation on another // thread } } private class Bucket { public Async async() { return new Async(); } } private List<Event> events() { return Arrays.asList(new Event(1L), new Event(2L), new Event(3L)); } private Bucket bucket = new Bucket(); @Test public void observableTest() throws Exception { //@formatter:off List<Observable<Pair<Event, Map<Long, Model>>>> observables = new ArrayList<>(); for (Event e : events()) { observables.add( bucket .async() .get(e) .map(event -> { System.out.println("Thread: [" + Thread.currentThread().getName() + "] - received event response, converting to map"); Map<Long, Model> map = new HashMap<>(); map.put(event.id, event.model); return map; }) .map(map -> { System.out.println("Thread: [" + Thread.currentThread().getName() + "] - pairing response with event"); return Pair.of(e, map); })); } CountDownLatch latch = new CountDownLatch(1); Map<Event, Map<Long, Model>> events = new HashMap<>(); Observable .merge(observables) .observeOn(Schedulers.newThread()) .filter(pair -> { System.out.println("Thread: [" + Thread.currentThread().getName() + "] - filtering responses"); return pair.getValue() != null; }) .subscribeOn(Schedulers.newThread()) .subscribe(pair -> { System.out.println("Thread: [" + Thread.currentThread().getName() + "] - inserting response into map"); events.put(pair.getKey(), pair.getValue()); }, e -> { fail(); }, () -> { latch.countDown(); }); //@formatter:on latch.await(); System.out.println("Thread: [" + Thread.currentThread().getName() + "] - map count"); assertEquals(3, events.size()); } 值包含introName,您可以使用\n删除它。

strip()

你的行应该是:

introName.strip('\n')

更好的是使用format()这样:

print("Hello, my name is " + introName.strip('\n') + " and I have a " + outroName.strip('\n')) 

<强>输出:

s = "Hello, my name is {} and I have a {}".format(introName.strip('\n'), outroName.strip('\n'))
print(s)