Sí, para el ejemplo original publicado, la propiedad funcionará exactamente igual que simplemente tener una variable de instancia 'x'.
Esto es lo mejor de las propiedades de Python. ¡Desde el exterior, funcionan exactamente como variables de instancia! Lo que le permite usar variables de instancia fuera de la clase.
Esto significa que su primer ejemplo podría usar una variable de instancia. Si las cosas cambiaron, y luego decide cambiar su implementación y una propiedad es útil, la interfaz de la propiedad seguirá siendo la misma desde el código fuera de la clase. Un cambio de variable de instancia a propiedad no tiene impacto en el código fuera de la clase.
Muchos otros lenguajes y cursos de programación darán instrucciones de que un programador nunca debe exponer variables de instancia, y en su lugar usar 'getters' y 'setters' para acceder a cualquier valor desde fuera de la clase, incluso el caso simple como se cita en la pregunta.
Código fuera de la clase con muchos idiomas (por ejemplo, Java)
object.get_i()
#and
object.set_i(value)
#in place of (with python)
object.i
#and
object.i = value
Y al implementar la clase, hay muchos 'captadores' y 'establecedores' que hacen exactamente como su primer ejemplo: replicar una variable de instancia simple. Estos captadores y establecedores son necesarios porque si la implementación de la clase cambia, todo el código fuera de la clase deberá cambiar. Pero las propiedades de Python permiten que el código fuera de la clase sea el mismo que con las variables de instancia. Por lo tanto, no es necesario cambiar el código fuera de la clase si agrega una propiedad o si tiene una variable de instancia simple. Entonces, a diferencia de la mayoría de los lenguajes orientados a objetos, para su ejemplo simple, puede usar la variable de instancia en lugar de 'getters' y 'setters' que realmente no son necesarios, tenga la certeza de que si cambia a una propiedad en el futuro, el código usa Tu clase no necesita cambiar.
Esto significa que solo necesita crear propiedades si hay un comportamiento complejo, y para el caso simple muy común en el que, como se describe en la pregunta, una variable de instancia simple es todo lo que se necesita, simplemente puede usar la variable de instancia.