Difference between revisions of "Python:DataTypes"

From wiki
Jump to navigation Jump to search
Line 68: Line 68:
 
==None==
 
==None==
 
The <code>None</code> object is returned e.g. if nothing is found in a re.search. The <code>None</code> object is '''not''' an empty string
 
The <code>None</code> object is returned e.g. if nothing is found in a re.search. The <code>None</code> object is '''not''' an empty string
 +
 +
==Range==
 +
Constructor of immutable sequences of integers. Use with list, set, tuple to create the desired object, or for loops.
 +
 +
;range(start,stop[,step])
 +
:Generic format
 +
 +
<syntaxhighlight lang=python>
 +
for i in range (2,8,2):
 +
    print(i)
 +
</syntaxhighlight>
  
 
=Slicing=
 
=Slicing=

Revision as of 22:37, 20 January 2018


Object types

Objects are iterable if they can contain more than 1 ordered objects (string, list, tuple, dict). Objects are mutable if their content can be changed (list, set, dict)

Note: Variables are pointers to objects, not the object itself.

list

Class of iterable, mutable objects. Lists can be compared to arrays in other languages. Lists can contain a mixture of all kind of objects.

lst1 = []
Initialize an empty list
lst1.append(2)
Add the '2' object to the end of lst1
lst1.pop(n)
Remove and return nth element from lst1. Last element if n is not specified.
lst1=list(object)
convert object to a list (object is e.g. set, tuple or string)

set

Class of non iterable, mutable objects. Objects added to sets are hashed. Therefor:

  • Only immutable objects can be added to a set.
  • Sets cannot hold duplicate objects (adding an objects again does not change the set.
  • Checking if a set holds an object is very fast.
set1 = set()
Initialize an empty set
set1.add(2)
Add the '2' object to set1

Tuple

Class of iterable, immutable objects. Results from database queries are by default returned as tuple.

tpl1 = ()
Initialize an empty tuple

Dictionary or dict

Class of iterable, mutable objects. Dictionary's can be compared to perl hashes.

dict1 = {}
Initialize an empty dictionary.
dict1 = { column1: value1, column2: value2 }
Initialize dictionary with data

Code example:

dict = {}
dict["name1"] = {}
dict["name1"]["street"] = "mystreet"
 
for name in dict:
   print name
   for key2 in dict[name]:
      print key2,dict[name][key2]
 
for name in dict:
   print name
   for key2 in sorted(dict[name].keys()):
      print key2,dict[name][key2]

None

The None object is returned e.g. if nothing is found in a re.search. The None object is not an empty string

Range

Constructor of immutable sequences of integers. Use with list, set, tuple to create the desired object, or for loops.

range(start,stop[,step])
Generic format
for i in range (2,8,2):
    print(i)

Slicing

You can address all iterable datatypes partly or in a difference sequence.

object[b:e:s]
Generic format where b=Begin (counting starts at 0), e=End, s=Stepsize (negative stepsize starts counting at the end)