Main Content

Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Cree un objetoPython

La sintaxis para crear un objeto es:Python®pyObj

pyObj = py.modulename.ClassName(varargin)

donde está la lista de argumentos del constructor especificado por el método envarargin__init__ ClassName.

En, los objetos son (objetos de la manija) y no se adhieren a las reglas de la copia-en-asignación y del paso-por-valor.MATLAB®Pythonreference typesMATLAB Cuando se copia un objeto de identificador, solo se copia el identificador y los identificadores antiguos y nuevos hacen referencia a los mismos datos. Cuando se copia una variable (un objeto de valor), también se copian los datos de la variable.MATLAB La nueva variable es independiente de los cambios en la variable original.

En el ejemplo siguiente se crea un objeto de la clase en el módulo de biblioteca estándar.TextWrapperPythontextwrap

Lea la firma del constructor,.__init__

py.help('textwrap.TextWrapper.__init__')
Help on method __init__ in textwrap.TextWrapper:  textwrap.TextWrapper.__init__ = __init__(self, width=70, initial_indent='', subsequent_indent='', expand_tabs=True, replace_whitespace=True, fix_sentence_endings=False, break_long_words=True, drop_whitespace=True, break_on_hyphens=True) unbound textwrap.TextWrapper method 

Cree un objeto predeterminado.TextWrapper No es necesario pasar los argumentos de entrada porque cada argumento tiene un valor predeterminado, identificado por el carácter de signo igual ().=

tw = py.textwrap.TextWrapper;
tw =     Python TextWrapper with properties:                      width: 70         subsequent_indent: [1x1 py.str]     wordsep_simple_re_uni: [1x1 py._sre.SRE_Pattern]      fix_sentence_endings: 0          break_on_hyphens: 1          break_long_words: 1            wordsep_re_uni: [1x1 py._sre.SRE_Pattern]            initial_indent: [1x1 py.str]               expand_tabs: 1        replace_whitespace: 1           drop_whitespace: 1      <textwrap.TextWrapper instance at 0x000000006D58F808>

Para cambiar un valor lógico, por ejemplo, la propiedad, escriba:break_long_words

tw.break_long_words = 0;

Para cambiar un valor numérico, por ejemplo, la propiedad, primero determine el tipo numérico.width

class(tw.width)
ans =  int64

De forma predeterminada, cuando se pasa un número a una función, se lee como un float.MATLABPythonPython Si la función espera un entero, podría generar un error o producir resultados inesperados.Python Convierta explícitamente el número en un entero.MATLAB Por ejemplo, escriba:

tw.width = int64(3);

Lea la ayuda del método.wrap

py.help('textwrap.TextWrapper.wrap')
Help on method wrap in textwrap.TextWrapper:  textwrap.TextWrapper.wrap = wrap(self, text) unbound textwrap.TextWrapper method     wrap(text : string) -> [string]          Reformat the single paragraph in 'text' so it fits in lines of     no more than 'self.width' columns, and return a list of wrapped     lines.  Tabs in 'text' are expanded with string.expandtabs(),     and all other whitespace characters (including newline) are     converted to space.

Cree una lista de líneas encapsuladas, desde la entrada.wT

T = 'MATLAB® is a high-level language and interactive environment for numerical computation, visualization, and programming.'; w = wrap(tw,T); whos w
  Name      Size            Bytes  Class      Attributes    w         1x1               112  py.list   

Convierta el a una matriz de celdas y visualice los resultados.py.list

wrapped = cellfun(@char, cell(w), 'UniformOutput', false); fprintf('%s\n', wrapped{:})
MATLAB® is a high- level language and interactive environment for numerical computation, visualization, and programming.

Aunque es 3, establecer la propiedad en false invalida el valor de la presentación.widthbreak_long_wordswidth

Ejemplos relacionados

Más acerca de