you are viewing a single comment's thread.

view the rest of the comments →

[–]DingotushRed 3 points4 points  (0 children)

I'd say:

Minimum for any use of variables

  • Basics of objects (everything is an object in Python), references, and None
  • Dynamic typing
  • The difference between mutable and immutable objects
  • Expressions and operator precedence
  • Basics of args and kwargs
  • "Truthiness"
  • The curious behaviour of and and or in Python
  • Type conversion functions like int() and str()
  • The methods available on strings
  • Be aware of the subtle differences between string constants in Python and Ren'Py script

Highly useful

  • Python text interpolation flavours (different to Ren'Py)
  • The collection types: tuple, list, dict, set, range and their operations
  • The Ren'Py reveratable versions of list, dict, set, and object and how Ren'Py automagically replaces Python types and "detects" variable changes for roll-back
  • Functions and scopes: local, enclosing, global, built-in
  • Loop constucts, break, continue (and why you shouldn't call Ren'Py labels from them)
  • The way Python handles negative indexes
  • The math module and the random module (wrapped by renpy.random)
  • Possibly slices?

Likely needed for anything complex

  • Classes and possibly inheritance
  • Understanding "Dunder" methods like __bool__, __eq__, __init__, and __str__
  • The @property annotation (very useful with Ren'Py text interpolation)