100 likes | 219 Vues
This overview explores data types in Python, emphasizing its strong typing system and "duck typing" principle. Unlike some scripting languages, Python requires no explicit type declarations and checks types at runtime, ensuring proper value usage. It discusses built-in types such as strings, lists, tuples, sets, dictionaries, integers, and floats, and provides examples for each. Furthermore, the document explains the use of lists as foundational data structures and highlights Python's object-oriented features, including class definitions and constructors.
E N D
Types in Scripting Languages CS 351 – Programming Paradigms
Data Types in Python • Scripting languages don’t generally require or allow the declaration of types ofr variables. • Most perform a series of run-time checks to make sure that values are used in an appropriate way. • Python is strongly typed with operations enforced at run-time. • The type system is Python is known as ``duck typing’’. • This informally allows the type of a value to be determined via the following rule: • “If looks like a duck and quacks like a duck, it is a duck”
Data Types in Python • Python uses the reference model for its types. • Some built-in types in Python include: Type Kind Syntax Example str String ‘hello‘ list Sequence [4.0, 'string', True] tuple Sequence (4.0, 'string', True) set Set set([4.0, 'string', True]) dict Mapping {'key1': 1.0, 'key2': False} int Integer 42 float Number 3.1415927
Examples • s = “hello” • r = 56 • l = [1,2,3] • t = (56,78,54) • dict = { ‘one’ : 1, ‘two’:2 } • We can just initialise the types and the interpreter takes care of the rest.
Lists in Python • Lists can form the basic blocks of most complex data structures in Python. • l = [1,2,3,4] • l.append(5) • print l # prints [1,2,3,4,5] • l.pop • print l # prints [1,2,3,4] • l.pop(0) • print l # prints [2,3,4]
Lists and the filter and map functions • We can define an arbitrary function • def f(x): return x%2==0 • filter ( f, range ( 2, 100 ) ) • Defining another function: • def g(x): return x+4 • map ( g, range (4, 16) ) • What are doing here? • What paradigm is this?
Object Orientation • Python is explicitly object-oriented. • To define a class in Python we use the following syntax: class myclass: “This class shows Python Syntax” intval = 12345 def printsomething(self): return “hello world” • We can create objects simply: x = myclass() print x.printsomething()
Object Orientation • The constructor for a Python class has special syntax. class myclass: def __init__ (self, list ) : self.data = list # assign list to data x = myclass ( [1,2,3,4,5] ) print x.data # what is printed?
Object Orientation class Shape: def __init__ (self) : self.name = “Shape” def printName (self) : return self.name def getArea (self ) : return 0