Python: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 34: | Line 34: | ||
This is quite strange! | This is quite strange! | ||
== Classes == | |||
* You don't need to explicitely declare class fields, as they are dynamically created the first time you assign them. | |||
* Every class method should take as a first argument "self". |
Revision as of 19:43, 7 August 2008
Important changes from Java
- When you pass an object to a function, and "reassign" it using its local function argument name, the outside objects won't get reassigned. This is because Python reassigns the local name only. This is a important difference from Java.
Useful techniques
- To iterate over two lists at the same time, use the zip built-in function:
for a,b in zip(list1, list2):
Casts
- To cast a float to an integer, you can use the built-in int() function.
Exceptions
- Sample code to deal with an exception:
try: doSomething() except Exception, inst: print str(inst.args) print str(sys.exc_info()[0])
This will give you information about the raised exception type.
Scopes
Within a module, inside a function, you can access the module variables normally. However, assigning them is not possible (you would assign a local variable). To assign a module variable inside a function, you need to specify that the variable is global by using the global keyword.
global myVariable
This is quite strange!
Classes
- You don't need to explicitely declare class fields, as they are dynamically created the first time you assign them.
- Every class method should take as a first argument "self".