Author: Saim Khalid

  • Operators

    Python Operators

    Python operators are special symbols used to perform specific operations on one or more operands. The variables, values, or expressions can be used as operands. For example, Python’s addition operator (+) is used to perform addition operations on two variables, values, or expressions.

    The following are some of the terms related to Python operators:

    • Unary operators: Python operators that require one operand to perform a specific operation are known as unary operators.
    • Binary operators: Python operators that require two operands to perform a specific operation are known as binary operators.
    • Operands: Variables, values, or expressions that are used with the operator to perform a specific operation.

    Types of Python Operators

    Python operators are categorized in the following categories −

    Let us have a look at all the operators one by one.

    Python Arithmetic Operators

    Python Arithmetic operators are used to perform basic mathematical operations such as addition, subtraction, multiplication, etc.

    The following table contains all arithmetic operators with their symbols, names, and examples (assume that the values of a and b are 10 and 20, respectively) −

    OperatorNameExample
    +Additiona + b = 30
    Subtractiona b = -10
    *Multiplicationa * b = 200
    /Divisionb / a = 2
    %Modulusb % a = 0
    **Exponenta**b =10**20
    //Floor Division9//2 = 4

    Example of Python Arithmetic Operators

    Example of Python Arithmetic Operators

    a =21
    b =10
    c =0
    
    c = a + b
    print("a: {} b: {} a+b: {}".format(a,b,c))
    
    c = a - b
    print("a: {} b: {} a-b: {}".format(a,b,c))
    
    c = a * b
    print("a: {} b: {} a*b: {}".format(a,b,c))
    
    c = a / b
    print("a: {} b: {} a/b: {}".format(a,b,c))
    
    c = a % b
    print("a: {} b: {} a%b: {}".format(a,b,c))
    
    a =2
    b =3
    c = a**b 
    print("a: {} b: {} a**b: {}".format(a,b,c))
    
    a =10
    b =5
    c = a//b 
    print("a: {} b: {} a//b: {}".format(a,b,c))

    Output

    a: 21 b: 10 a+b: 31
    a: 21 b: 10 a-b: 11
    a: 21 b: 10 a*b: 210
    a: 21 b: 10 a/b: 2.1
    a: 21 b: 10 a%b: 1
    a: 2 b: 3 a**b: 8
    a: 10 b: 5 a//b: 2
    

    Python Comparison Operators

    Python Comparison operators compare the values on either side of them and decide the relation among them. They are also called Relational operators.

    The following table contains all comparison operators with their symbols, names, and examples (assume that the values of a and b are 10 and 20, respectively) −

    OperatorNameExample
    ==Equal(a == b) is not true.
    !=Not equal(a != b) is true.
    >Greater than(a > b) is not true.
    <Less than(a < b) is true.
    >=Greater than or equal to(a >= b) is not true.
    <=Less than or equal to(a <= b) is true.

    Example of Python Comparison Operators

    a =21
    b =10if( a == b ):print("Line 1 - a is equal to b")else:print("Line 1 - a is not equal to b")if( a != b ):print("Line 2 - a is not equal to b")else:print("Line 2 - a is equal to b")if( a < b ):print("Line 3 - a is less than b")else:print("Line 3 - a is not less than b")if( a > b ):print("Line 4 - a is greater than b")else:print("Line 4 - a is not greater than b")
    
    a,b=b,a #values of a and b swapped. a becomes 10, b becomes 21if( a <= b ):print("Line 5 - a is either less than or equal to  b")else:print("Line 5 - a is neither less than nor equal to  b")if( b >= a ):print("Line 6 - b is either greater than  or equal to b")else:print("Line 6 - b is neither greater than  nor equal to b")

    Output

    Line 1 - a is not equal to b
    Line 2 - a is not equal to b
    Line 3 - a is not less than b
    Line 4 - a is greater than b
    Line 5 - a is either less than or equal to  b
    Line 6 - b is either greater than  or equal to b
    

    Python Assignment Operators

    Python Assignment operators are used to assign values to variables. Following is a table which shows all Python assignment operators.

    The following table contains all assignment operators with their symbols, names, and examples −

    OperatorExampleSame As
    =a = 10a = 10
    +=a += 30a = a + 30
    -=a -= 15a = a – 15
    *=a *= 10a = a * 10
    /=a /= 5a = a / 5
    %=a %= 5a = a % 5
    **=a **= 4a = a ** 4
    //=a //= 5a = a // 5
    &=a &= 5a = a & 5
    |=a |= 5a = a | 5
    ^=a ^= 5a = a ^ 5
    >>=a >>= 5a = a >> 5
    <<=a <<= 5a = a << 5

    Example of Python Assignment Operators

    a =21
    b =10
    c =0print("a: {} b: {} c : {}".format(a,b,c))
    c = a + b
    print("a: {}  c = a + b: {}".format(a,c))
    
    c += a
    print("a: {} c += a: {}".format(a,c))
    
    c *= a
    print("a: {} c *= a: {}".format(a,c))
    
    c /= a 
    print("a: {} c /= a : {}".format(a,c))
    
    c  =2print("a: {} b: {} c : {}".format(a,b,c))
    c %= a
    print("a: {} c %= a: {}".format(a,c))
    
    c **= a
    print("a: {} c **= a: {}".format(a,c))
    
    c //= a
    print("a: {} c //= a: {}".format(a,c))

    Output

    a: 21 b: 10 c : 0
    a: 21  c = a + b: 31
    a: 21 c += a: 52
    a: 21 c *= a: 1092
    a: 21 c /= a : 52.0
    a: 21 b: 10 c : 2
    a: 21 c %= a: 2
    a: 21 c **= a: 2097152
    a: 21 c //= a: 99864
    

    Python Bitwise Operators

    Python Bitwise operator works on bits and performs bit by bit operation. These operators are used to compare binary numbers.

    The following table contains all bitwise operators with their symbols, names, and examples −

    OperatorNameExample
    &ANDa & b
    |ORa | b
    ^XORa ^ b
    ~NOT~a
    <<Zero fill left shifta << 3
    >>Signed right shifta >> 3

    Example of Python Bitwise Operators

    a =20            
    b =10print('a=',a,':',bin(a),'b=',b,':',bin(b))
    c =0
    
    c = a & b;print("result of AND is ", c,':',bin(c))
    
    c = a | b;print("result of OR is ", c,':',bin(c))
    
    c = a ^ b;print("result of EXOR is ", c,':',bin(c))
    
    c =~a;print("result of COMPLEMENT is ", c,':',bin(c))
    
    c = a <<2;print("result of LEFT SHIFT is ", c,':',bin(c))
    
    c = a >>2;print("result of RIGHT SHIFT is ", c,':',bin(c))

    Output

    a= 20 : 0b10100 b= 10 : 0b1010
    result of AND is  0 : 0b0
    result of OR is  30 : 0b11110
    result of EXOR is  30 : 0b11110
    result of COMPLEMENT is  -21 : -0b10101
    result of LEFT SHIFT is  80 : 0b1010000
    result of RIGHT SHIFT is  5 : 0b101
    

    Python Logical Operators

    Python logical operators are used to combile two or more conditions and check the final result. There are following logical operators supported by Python language. Assume variable a holds 10 and variable b holds 20 then

    The following table contains all logical operators with their symbols, names, and examples −

    OperatorNameExample
    andANDa and b
    orORa or b
    notNOTnot(a)

    Example of Python Logical Operators

    var =5print(var >3and var <10)print(var >3or var <4)print(not(var >3and var <10))

    Output

    True
    True
    False
    

    Python Membership Operators

    Python’s membership operators test for membership in a sequence, such as strings, lists, or tuples.

    There are two membership operators as explained below −

    OperatorDescriptionExample
    inReturns True if it finds a variable in the specified sequence, false otherwise.a in b
    not inreturns True if it does not finds a variable in the specified sequence and false otherwise.a not in b

    Example of Python Membership Operators

    a =10
    b =20list=[1,2,3,4,5]print("a:", a,"b:", b,"list:",list)if( a inlist):print("a is present in the given list")else:print("a is not present in the given list")if( b notinlist):print("b is not present in the given list")else:print("b is present in the given list")
    
    c=b/a
    print("c:", c,"list:",list)if( c inlist):print("c is available in the given list")else:print("c is not available in the given list")

    Output

    a: 10 b: 20 list: [1, 2, 3, 4, 5]
    a is not present in the given list
    b is not present in the given list
    c: 2.0 list: [1, 2, 3, 4, 5]
    c is available in the given list
    

    Python Identity Operators

    Python identity operators compare the memory locations of two objects.

    There are two Identity operators explained below −

    OperatorDescriptionExample
    isReturns True if both variables are the same object and false otherwise.a is b
    is notReturns True if both variables are not the same object and false otherwise.a is not b

    Example of Python Identity Operators

    a =[1,2,3,4,5]
    b =[1,2,3,4,5]
    c = a
    
    print(a is c)print(a is b)print(a isnot c)print(a isnot b)

    Output

    True
    False
    False
    True
    

    Python Operators Precedence

    Operators precedence decides the order of the evaluation in which an operator is evaluated. Python operators have different levels of precedence. The following table contains the list of operators having highest to lowest precedence −

    The following table lists all operators from highest precedence to lowest.

    Sr.No.Operator & Description
    1**Exponentiation (raise to the power)
    2~ + –Complement, unary plus and minus (method names for the last two are +@ and -@)
    3* / % //Multiply, divide, modulo and floor division
    4+ –Addition and subtraction
    5>> <<Right and left bitwise shift
    6&Bitwise ‘AND’
    7^ |Bitwise exclusive OR' and regular OR’
    8<= < > >=Comparison operators
    9<> == !=Equality operators
    10= %= /= //= -= += *= **=Assignment operators
    11is is notIdentity operators
    12in not inMembership operators
    13not or andLogical operators

    Read more about the Python operators precedence here: Python operators precedence

  • Literals

    What are Python Literals?

    Python literals or constants are the notation for representing a fixed value in source code. In contrast to variables, literals (123, 4.3, “Hello”) are static values or you can say constants which do not change throughout the operation of the program or application. For example, in the following assignment statement.

    x =10

    Here 10 is a literal as numeric value representing 10, which is directly stored in memory. However,

    y = x*2

    Here, even if the expression evaluates to 20, it is not literally included in source code. You can also declare an int object with built-in int() function. However, this is also an indirect way of instantiation and not with literal.

    x =int(10)

    Different Types of Python Literals
    Python provides following literals which will be explained this tutorial:

    Integer Literal
    Float Literal
    Complex Literal
    String Literal
    List Literal
    Tuple Literal
    Dictionary Literal
    Python Integer Literal
    Any representation involving only the digit symbols (0 to 9) creates an object of int type. The object so declared may be referred by a variable using an assignment operator.

    Integer literals consist three different types of different literal values decimal, octal, and hexadecimal literals.

    1. Decimal Literal
    Decimal literals represent the signed or unsigned numbers. Digitals from 0 to 9 are used to create a decimal literal value.

    Look at the below statement assigning decimal literal to the variable −

    x = 10
    y = -25
    z = 0
    2. Octal Literal
    Python allows an integer to be represented as an octal number or a hexadecimal number. A numeric representation with only eight digit symbols (0 to 7) but prefixed by 0o or 0O is an octal number in Python.

    Look at the below statement assigning octal literal to the variable −

    x = 0O34
    3. Hexadecimal Literal
    Similarly, a series of hexadecimal symbols (0 to 9 and a to f), prefixed by 0x or 0X represents an integer in Hexedecimal form in Python.

    Look at the below statement assigning hexadecimal literal to the variable −

    x = 0X1C
    However, it may be noted that, even if you use octal or hexadecimal literal notation, Python internally treats them as of int type.

    Example
    # Using Octal notation
    x = 0O34
    print ("0O34 in octal is", x, type(x))
    # Using Hexadecimal notation
    x = 0X1c
    print ("0X1c in Hexadecimal is", x, type(x))
    When you run this code, it will produce the following output −

    0O34 in octal is 28 <class 'int'>
    0X1c in Hexadecimal is 28 <class 'int'>
    Python Float Literal
    A floating point number consists of an integral part and a fractional part. Conventionally, a decimal point symbol (.) separates these two parts in a literal representation of a float. For example,

    Example of Float Literal
    x = 25.55
    y = 0.05
    z = -12.2345
    For a floating point number which is too large or too small, where number of digits before or after decimal point is more, a scientific notation is used for a compact literal representation. The symbol E or e followed by positive or negative integer, follows after the integer part.

    Example of Float Scientific Notation Literal
    For example, a number 1.23E05 is equivalent to 123000.00. Similarly, 1.23e-2 is equivalent to 0.0123
  • Unicode System

    What is Unicode System?

    Software applications often require to display messages output in a variety in different languages such as in English, French, Japanese, Hebrew, or Hindi. Python’s string type uses the Unicode Standard for representing characters. It makes the program possible to work with all these different possible characters.

    A character is the smallest possible component of a text. ‘A’, ‘B’, ‘C’, etc., are all different characters. So are ” and ”. A unicode string is a sequence of code points, which are numbers from 0 through 0x10FFFF (1,114,111 decimal). This sequence of code points needs to be represented in memory as a set of code units, and code units are then mapped to 8-bit bytes.

    Character Encoding

    A sequence of code points is represented in memory as a set of code units, mapped to 8-bit bytes. The rules for translating a Unicode string into a sequence of bytes are called a character encoding.

    Three types of encodings are present, UTF-8, UTF-16 and UTF-32. UTF stands for Unicode Transformation Format.

    Python’s Unicode Support

    Python 3.0 onwards has built-in support for Unicode. The str type contains Unicode characters, hence any string created using single, double or the triple-quoted string syntax is stored as Unicode. The default encoding for Python source code is UTF-8.

    Hence, string may contain literal representation of a Unicode character (3/4) or its Unicode value (\u00BE).

    Example

    var ="3/4"print(var)
    var ="\u00BE"print(var)

    This above code will produce the following output −

    3/4
    
    

    Example

    In the following example, a string ’10’ is stored using the Unicode values of 1 and 0 which are \u0031 and u0030 respectively.

    var ="\u0031\u0030"print(var)

    It will produce the following output −

    10
    

    Strings display the text in a human-readable format, and bytes store the characters as binary data. Encoding converts data from a character string to a series of bytes. Decoding translates the bytes back to human-readable characters and symbols. It is important not

    to confuse these two methods. encode is a string method, while decode is a method of the Python byte object.

    Example

    In the following example, we have a string variable that consists of ASCII characters. ASCII is a subset of Unicode character set. The encode() method is used to convert it into a bytes object.

    string ="Hello"
    tobytes = string.encode('utf-8')print(tobytes)
    string = tobytes.decode('utf-8')print(string)

    The decode() method converts byte object back to the str object. The encodeing method used is utf-8.

    b'Hello'
    Hello
    

    Example

    In the following example, the Rupee symbol (₹) is stored in the variable using its Unicode value. We convert the string to bytes and back to str.

    string ="\u20B9"print(string)
    tobytes = string.encode('utf-8')print(tobytes)
    string = tobytes.decode('utf-8')print(string)

    When you execute the above code, it will produce the following output −


    b'\xe2\x82\xb9'
  • Type Casting

    Python Type Casting

    From a programming point of view, a type casting refers to converting an object of one type into another. Here, we shall learn about type casting in Python Programming.

    Python Type Casting is a process in which we convert a literal of one data type to another data type. Python supports two types of casting − implicit and explicit.

    In Python there are different data types, such as numbers, sequences, mappings etc. There may be a situation where, you have the available data of one type but you want to use it in another form. For example, the user has input a string but you want to use it as a number. Python’s type casting mechanism let you do that.

    Python Implicit Casting

    When any language compiler/interpreter automatically converts object of one type into other, it is called automatic or implicit casting. Python is a strongly typed language. It doesn’t allow automatic type conversion between unrelated data types. For example, a string cannot be converted to any number type. However, an integer can be cast into a float. Other languages such as JavaScript is a weakly typed language, where an integer is coerced into a string for concatenation.

    Note that memory requirement of each data type is different. For example, an integer object in Python occupies 4 bytes of memory, while a float object needs 8 bytes because of its fractional part. Hence, Python interpreter doesn’t automatically convert a float to int, because it will result in loss of data. On the other hand, int can be easily converted into float by setting its fractional part to 0.

    Implicit int to float casting takes place when any arithmetic operation on int and float operands is done.

    Consider we have an ,int and one float variable

    <<< a=10# int object<<< b=10.5# float object

    To perform their addition, 10 − the integer object is upgraded to 10.0. It is a float, but equivalent to its earlier numeric value. Now we can perform addition of two floats.

    <<< c=a+b
    <<<print(c)20.5

    In implicit type casting, a Python object with lesser byte size is upgraded to match the bigger byte size of other object in the operation. For example, a Boolean object is first upgraded to int and then to float, before the addition with a floating point object. In the following example, we try to add a Boolean object in a float, pleae note that True is equal to 1, and False is equal to 0.

    a=True;
    b=10.5;
    c=a+b;print(c);

    This will produce the following result:

    11.5
    

    Python Explicit Casting

    Although automatic or implicit casting is limited to int to float conversion, you can use Python’s built-in functions int(), float() and str() to perform the explicit conversions such as string to integer.

    Python int() Function

    Python’s built-in int() function converts an integer literal to an integer object, a float to integer, and a string to integer if the string itself has a valid integer literal representation.

    Using int() with an int object as argument is equivalent to declaring an int object directly.

    <<< a =int(10)<<< a
    10

    is same as −

    <<< a =10<<< a
    10<<<type(a)<class 'int>

    If the argument to int() function is a float object or floating point expression, it returns an int object. For example −

    <<< a =int(10.5)#converts a float object to int<<< a
    10<<< a =int(2*3.14)#expression results float, is converted to int<<< a
    6<<<type(a)<class'int'>

    The int() function also returns integer 1 if a Boolean object is given as argument.

    <<< a=int(True)<<< a
    1<<<type(a)<class'int'>

    String to Integer

    The int() function returns an integer from a string object, only if it contains a valid integer representation.

    <<< a =int("100")<<< a
    100<<<type(a)<class'int'><<< a =("10"+"01")<<< a =int("10"+"01")<<< a
    1001<<<type(a)<class'int'>

    However, if the string contains a non-integer representation, Python raises ValueError.

    <<< a =int("10.5")
    Traceback (most recent call last):
       File "<stdin>", line 1,in<module>
    ValueError: invalid literal forint()with base 10:'10.5'<<< a =int("Hello World")
    Traceback (most recent call last):
       File "<stdin>", line 1,in<module>
    ValueError: invalid literal forint()with base 10:'Hello World'

    The int() function also returns integer from binary, octal and hexa-decimal string. For this, the function needs a base parameter which must be 2, 8 or 16 respectively. The string should have a valid binary/octal/Hexa-decimal representation.

    Binary String to Integer

    The string should be made up of 1 and 0 only, and the base should be 2.

    <<< a =int("110011",2)<<< a
    51

    The Decimal equivalent of binary number 110011 is 51.

    Octal String to Integer

    The string should only contain 0 to 7 digits, and the base should be 8.

    <<< a =int("20",8)<<< a
    16

    The Decimal equivalent of octal 20 is 16.

    Hexa-Decimal String to Integer

    The string should contain only the Hexadecimal symbols i.e., 0-9 and A, B, C, D, E or F. Base should be 16.

    <<< a =int("2A9",16)<<< a
    681

    Decimal equivalent of Hexadecimal 2A9 is 681. You can easily verify these conversions with calculator app in Windows, Ubuntu or Smartphones.

    Following is an example to convert number, float and string into integer data type:

    a =int(1)# a will be 1
    b =int(2.2)# b will be 2
    c =int("3")# c will be 3print(a)print(b)print(c)

    This produce the following result −

    1
    2
    3

    Python float() Function

    The float() is a built-in function in Python. It returns a float object if the argument is a float literal, integer or a string with valid floating point representation.

    Using float() with an float object as argument is equivalent to declaring a float object directly

    <<< a =float(9.99)<<< a
    9.99<<<type(a)<class'float'>

    is same as −

    <<< a =9.99<<< a
    9.99<<<type(a)<class'float'>

    If the argument to float() function is an integer, the returned value is a floating point with fractional part set to 0.

    <<< a =float(100)<<< a
    100.0<<<type(a)<class'float'>

    The float() function returns float object from a string, if the string contains a valid floating point number, otherwise ValueError is raised.

    <<< a =float("9.99")<<< a
    9.99<<<type(a)<class'float'><<< a =float("1,234.50")
    Traceback (most recent call last):
       File "<stdin>", line 1,in<module>
    ValueError: could not convert string to float:'1,234.50'

    The reason of ValueError here is the presence of comma in the string.

    For the purpose of string to float conversion, the sceientific notation of floating point is also considered valid.

    <<< a =float("1.00E4")<<< a
    10000.0<<<type(a)<class'float'><<< a =float("1.00E-4")<<< a
    0.0001<<<type(a)<class'float'>

    Following is an example to convert number, float and string into float data type:

    a =float(1)# a will be 1.0
    b =float(2.2)# b will be 2.2
    c =float("3.3")# c will be 3.3print(a)print(b)print(c)

    This produce the following result −

    1.0
    2.2
    3.3
    

    Python str() Function

    We saw how a Python obtains integer or float number from corresponding string representation. The str() function works the opposite. It surrounds an integer or a float object with quotes (‘) to return a str object. The str() function returns the string representation of any Python object. In this section, we shall see different examples of str() function in Python.

    The str() function has three parameters. First required parameter (or argument) is the object whose string representation we want. Other two operators, encoding and errors, are optional.

    We shall execute str() function in Python console to easily verify that the returned object is a string, with the enclosing quotation marks (‘).

    Integer to string

    You can convert any integer number into a string as follows:

    <<< a =str(10)<<< a
    '10'<<<type(a)<class'str'>

    Float to String

    str() function converts floating point objects with both the notations of floating point, standard notation with a decimal point separating integer and fractional part, and the scientific notation to string object.

    <<< a=str(11.10)<<< a
    '11.1'<<<type(a)<class'str'><<< a =str(2/5)<<< a
    '0.4'<<<type(a)<class'str'>

    In the second case, a division expression is given as argument to str() function. Note that the expression is evaluated first and then result is converted to string.

    Floating points in scientific notations using E or e and with positive or negative power are converted to string with str() function.

    <<< a=str(10E4)<<< a
    '100000.0'<<<type(a)<class'str'><<< a=str(1.23e-4)<<< a
    '0.000123'<<<type(a)<class'str'>

    When Boolean constant is entered as argument, it is surrounded by (‘) so that True becomes ‘True’. List and Tuple objects can also be given argument to str() function. The resultant string is the list/tuple surrounded by (‘).

    <<< a=str('True')<<< a
    'True'<<< a=str([1,2,3])<<< a
    '[1, 2, 3]'<<< a=str((1,2,3))<<< a
    '(1, 2, 3)'<<< a=str({1:100,2:200,3:300})<<< a
    '{1: 100, 2: 200, 3: 300}'

    Following is an example to convert number, float and string into string data type:

    a =str(1)# a will be "1"
    b =str(2.2)# b will be "2.2"
    c =str("3.3")# c will be "3.3"print(a)print(b)print(c)

    This produce the following result −

    1
    2.2
    3.3
    

    Conversion of Sequence Types

    List, Tuple and String are Python’s sequence types. They are ordered or indexed collection of items.

    A string and tuple can be converted into a list object by using the list() function. Similarly, the tuple() function converts a string or list to a tuple.

    We shall take an object each of these three sequence types and study their inter-conversion.

    <<< a=[1,2,3,4,5]# List Object<<< b=(1,2,3,4,5)# Tupple Object<<< c="Hello"# String Object### list() separates each character in the string and builds the list<<< obj=list(c)<<< obj
    ['H','e','l','l','o']### The parentheses of tuple are replaced by square brackets<<< obj=list(b)<<< obj
    [1,2,3,4,5]### tuple() separates each character from string and builds a tuple of characters<<< obj=tuple(c)<<< obj
    ('H','e','l','l','o')### square brackets of list are replaced by parentheses.<<< obj=tuple(a)<<< obj
    (1,2,3,4,5)### str() function puts the list and tuple inside the quote symbols.<<< obj=str(a)<<< obj
    '[1, 2, 3, 4, 5]'<<< obj=str(b)<<< obj
    '(1, 2, 3, 4, 5)'

    Thus Python’s explicit type casting feature allows conversion of one data type to other with the help of its built-in functions.

    Data Type Conversion Functions

    There are several built-in functions to perform conversion from one data type to another. These functions return a new object representing the converted value.

    Sr.No.Function & Description
    1Python int() functionConverts x to an integer. base specifies the base if x is a string.
    2Python long() functionConverts x to a long integer. base specifies the base if x is a string.
    3Python float() functionConverts x to a floating-point number.
    4Python complex() functionCreates a complex number.
    5Python str() functionConverts object x to a string representation.
    6Python repr() functionConverts object x to an expression string.
    7Python eval() functionEvaluates a string and returns an object.
    8Python tuple() functionConverts s to a tuple.
    9Python list() functionConverts s to a list.
    10Python set() functionConverts s to a set.
    11Python dict() functionCreates a dictionary. d must be a sequence of (key,value) tuples.
    12Python frozenset() functionConverts s to a frozen set.
    13Python chr() functionConverts an integer to a character.
    14Python unichr() functionConverts an integer to a Unicode character.
    15Python ord() functionConverts a single character to its integer value.
    16Python hex() functionConverts an integer to a hexadecimal string.
    17Python oct() functionConverts an integer to an octal string.