본문으로

Kiel savi program-kodojn en Terminal (Fedora) ?

글쓴이: Demian, 2012년 4월 21일

글: 15

언어: Esperanto

Hyperboreus (프로필 보기) 2012년 4월 23일 오후 7:20:52

Forigite

Lom (프로필 보기) 2012년 4월 24일 오후 1:39:02

Kial ne simple uzi "+" kaj "str()"?
Ekzemple: '2 + 2 = ' + str(4)

Mi trovas ĝin pli legebla. Format mi ne multe uzis ĝis nun (fakte mi daŭre lernas pitonon, kaj pro skriptoj en Blender 2.49, daŭre uzas python2.x, sed ja provas pasi al python3.x.), kaj ĝi ŝajnas al mi ĉefe utila por pli bone formatigi nombrojn.

Pri __repr__ mi tute ne sciis. Mi ĉiam uzis __str__. Jen pli da informoj pri tio: http://stackoverflow.com/questions/1436703/differe...(angla).

Jen alia ekzemplo:
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
# Vidu http://stackoverflow.com/questions/1436703/differe... por la malsameco inter __str__ kaj __repr__

class Hundo:
_def __init__ (self, nomo, agxo):
__self.nomo = nomo
__self.agxo = agxo

_def __repr__ (self):
__return 'repr: Tiu ĉi hundo nomatas "{}" kaj estas {}-aĝa.'.format(self.nomo, self.agxo)
_#def __str__ (self):
__#return 'str: Tiu ĉi hundo nomatas "{}" kaj estas {}-aĝa.'.format(self.nomo, self.agxo)

spike = Hundo ('Spike', 4)

print(spike)
print ('Kun funkcio format: {}'.format (spike) )
print ('Kun operatoro + : ' + str(spike))
Se vi malkomentas la __str__ funkcion, ĝi uzos ĝin anstataŭ __repr__ en "print(spike)".

P.S.: Mi pli ofte aŭdis "4-jaraĝa" anstataŭ "4-aĝa". Sed mi certas pri la plej korekta versio nun. Mi devus labori anstataŭ ol forumumi. ^^'

Hyperboreus (프로필 보기) 2012년 4월 24일 오후 6:06:10

Forigite

Lom (프로필 보기) 2012년 4월 25일 오전 10:59:11

Interesege, mi ne sciis pri la uzo de "*" por krei argumentliston ĝis nun. Tio povus esti ege utila. Dankon. ridulo.gif

[ Pri Esperanto, mi pensas ke devus esti 'La {} {} saltas super {}.' , ĉu ne? ]

Hyperboreus (프로필 보기) 2012년 4월 25일 오후 9:07:35

Forigite

다시 위로