¿Cómo se traduciría esta estructura C en Python? -- python camp Relacionados El problema

How would this C struct be translated into Python


1
vote

problema

Español

Soy bastante nuevo en Python y estoy teniendo dificultades para determinar cómo usar las estructuras. ¿Cómo se parecerían las estructuras C a continuación cuando se convierten en Python?

Estas son las estructuras que tengo:

  struct dataT {     int m; };  struct stack {     int top;     struct dataT items[STACKSIZE]; } st;   

¿Cómo se representaría esta declaración en Python?

  st.items[st.top].m   
Original en ingles

I'm pretty new to Python and I'm having difficulty figuring out how to use the structs. What would the C structs below look like when they are converted into Python?

These are the structs I have:

struct dataT {     int m; };  struct stack {     int top;     struct dataT items[STACKSIZE]; } st; 

How would this statement be represented in Python?

st.items[st.top].m 
  
       
       

Lista de respuestas

2
 
vote

Solo necesita definir su UTF819 clase

  MySQL0  

puedes crear una instancia de uno como

  MySQL1  

El comportamiento MySQL2 Puede obtener de la clase UTF823 ya

  MySQL4  
 

You just need to define your dataT class

class dataT():     def __init__(self, m=0):         self.m = m 

You can instantiate one like

d = dataT(5) 

The stack behavior you can get from the list class already

>>> l = [dataT(i) for i in range(5)] >>> l.pop().m 4 >>> l.pop().m 3 >>> l.pop().m 2 >>> l.pop().m 1 >>> l.pop().m 0 >>> l.append(dataT(3)) >>> l.pop().m 3 
 
 
       
       
0
 
vote

Puede usar NAMEDTUPLES para construir clases que pueden representar sus estructuras:

  MySQL5  

Aunque probablemente encontrará que la clase de pila es innecesaria, ya que la lista señalada ya tiene este comportamiento.

 

You can use namedtuples to construct classes that can represent your structs:

from collections import namedtuple dataT = namedtuple("dataT", ['m']) stack = namedtuple("stack", ['top', 'items'])  st = stack(0, []) st.items.append(dataT(5)) st.items[st.top].m 

Though you will probably find that the stack class is unnecessary as pointed out list already has this behaviour.

 
 
       
       

Relacionados problema

77  Procesamiento XML en Python [cerrado]  ( Xml processing in python ) 
cerrado . Esta pregunta es basada en opinión . Actualmente no está aceptando respuestas. ¿...

39  Python y MySQL  ( Python and mysql ) 
Puedo conseguir que Python funcione con PostgreSQL, pero no puedo hacer que funcione con MySQL. El problema principal es que, en la cuenta de alojamiento comp...

55  Vistas de clase en Django  ( Class views in django ) 
django Ver puntos a una función, lo que puede ser un problema si quieres cambiar solo un poco de funcionalidad. Sí, podría tener un millón de argumentos de ...

62  Sistema de integración continua para una base de código Python  ( Continuous integration system for a python codebase ) 
Estoy empezando a trabajar en un proyecto de hobby con una base de código python y me gustaría configurar alguna forma de integración continua (es decir, ej...

41  ¿Cómo puedo encontrar la ruta completa a una fuente de su nombre de visualización en una Mac?  ( How can i find the full path to a font from its display name on a mac ) 
Estoy usando la API de JavaScript de Photoshop para encontrar las fuentes en un PSD determinado. Dado un nombre de fuente devuelto por la API, quiero encont...

51  Usando 'in' para que coincida con un atributo de los objetos de Python en una matriz  ( Using in to match an attribute of python objects in an array ) 
No recuerdo si estaba soñando o no, pero parece que me recuerdo que hay una función que permitió algo como, foo in iter_attr(array of python objects, attri...

50  CX_ORACE: ¿Cómo lo hago en un conjunto de resultados?  ( Cx oracle how do i iterate over a result set ) 
Hay varias formas de iterar sobre un conjunto de resultados. ¿Cuál es la compensación de cada uno? ...

682  Agregar un método a una instancia de objeto existente  ( Adding a method to an existing object instance ) 
He leído que es posible agregar un método a un objeto existente (es decir, no en la definición de clase) en Python. Entiendo que no siempre es bueno hacerlo...

536  ¿Cómo uso IterTools.Groupby ()?  ( How do i use itertools groupby ) 
No he podido encontrar una explicación comprensible de cómo usar realmente la función itertools.groupby()644 de Python. Lo que estoy tratando de hacer es es...

49  Obtener una vista previa JPEG de un PDF en Windows?  ( Get a preview jpeg of a pdf on windows ) 
Tengo una aplicación multiplataforma (Python) que necesita generar una vista previa de JPEG de la primera página de un PDF. en la Mac estoy desplazando SIP...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos