Você está na página 1de 11

Lesson 2: Python Language Basics

Topics
1. What is Python Syntax? 2. Take care of Indentation 3. How to make Comment 4. Python Keywords 5. What is Variable and Value? 6. What are Python Data Types? 7. Operators in Python 8. Operator precedence in Python 9. Python Statement & Expressions 10. How to input value from Keyboard in Python?

1. What is Python Syntax?


The syntax of the Python programming language is the set of rules that tells programmers how a Python program will be written by them and interpreted by the runtime system. Python syntax was designed to be a highly readable language and easy. In this lesson we will see what the basic blocks of Python program are and how Python code is structured, we must know these 2 points before starting Python coding.

2. Take care of Indentation


One of the most remarkable difference between Python and other most common programming languages like C, C++, C#, Java will be encounter programmers is that in Python indentation is very important and there are no braces to indicate blocks of code for class and function definitions or flow control. There are no end/begin delimiters like {}. Python uses whitespace to delimit program blocks or we can say grouping of statements are done on basis of their indentation. Statements at same indentation are grouped together in a single block. It is recommended to use 4 spaces instead of tabs. Because whitespace is significant, remember that spaces and tabs don't mix, so use only one or the other when indenting your programs. See the different version of Python Code using white space (1 white space is represented by 1 . (dot): Version 1 Correct Forms print ("Anne was here") print ("again at work") print ("having fun with Python") if True: ....print "True" else: ....print "False" Wrong Forms print ("Anne was here") ..print ("again at work") print ("having fun with Python") if True: ....print "Answer" else: ...print "Answer"

http://cbsecsnip.in

Page 1 of 11

Code Example 1 # Note: Don't try to understand logic or different functions used. Just make sure you understood various blocks even if they are without braces. # Calculates average score of a class # initialization phase totalScore = 0 # sum of scores numberScores = 0 # number of scores entered # processing phase score = input( "Enter score, (Enter -9 to end): " ) # get one score score = int( score ) # convert string to an integer while score != -9: totalScore = totalScore + score numberScores = numberScores + 1 score = input( "Enter score, (Enter -9 to end): " ) score = int( score ) # termination phase if numberScores != 0: # division by zero would be a run-time error average = float( totalScore ) / numberScores print ("Class average is", average) else: print ("No scores were entered") Statements in Python typically end with a new line. Python also allow the use of the line continuation character (\) to denote that the line should continue. For example: total = item_one + \ item_two + \ item_three Significance of white space Only the indentation level of the statements is significant (i.e. the whitespace at the very left of the statements). Everywhere else, whitespace is not significant and can be used as programmers like. Blank lines can be inserted anywhere. Also, the exact amount of indentation doesn't matter, but all statements within the block must be indented the same amount.

3. How to make Comment


Comments are text in your program that the Python interpreter ignores.Comments help other people understand how the program works. Python has two ways to put comment in code -

Single-line Comment: # marks start of single line comment that must not be inside a string literal. All characters after the #
and up to the physical line end are part of the comment, and the Python interpreter ignores them. Example def getline(): return sys.stdin.readline() # Get one line and return it

Multi-line Comments: Comments can be break up into multiple lines by inserting a multi-line string with """ as the
delimiter one each end. Example def getline(): return sys.stdin.readline()

"""this function gets one line and returns it"""

http://cbsecsnip.in

Page 2 of 11

4. Python Keywords
Keywords in Python are reserved words that cannot be used as ordinary identifiers. They must be spelled exacty as they are written. We can view the list of available keyword in Python by this way >>> import keyword >>> keyword.kwlist ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] Above list may change version to version of Python. and break def else False (added in 3.x) from import lambda not print (changed to a built-in function in 3.x) True (added in 3.x) with as class del except finally global in None (added in 3.x) or raise try yield assert continue elif exec (changed to a built-in function in 3.x) for if is nonlocal (added in 3.x) pass return while

5. What is Variable and Value?


Computer programs consist of data and code. In order to make code able to be used for more than a single set of data, computer programs use variables, or containers for data. These containers are technically called data structures because they allow the data to be structured in different ways. Variables are reserved memory locations to store values. This means that when variable is created some space in memory is allotted to a container for holding the value. Points to be noted regarding variable Variables in Python beginning in a letter or underscore but can be alphanumeric. Valid variable name can be >>>bool = True >>>name = "Craig" >>>age = 26 >>>_pi = 3.14159 >>>Session2013_14=Python Programming The operand to the left of the = operator is the name of the variable, and the operand to the right of the = operator is the value stored in the variable. Variable names are case sensitive. Variables do not need to be declared. The declaration happens automatically when you assign a value to a variable Based on the data type of a variable, the interpreter allocates memory and decides what can be stored in the reserved memory. Python allows you to assign a single value to several variables simultaneously. Example 1 >>> a=b=c=100 Example 2 >>> a,b,c = 100,200,Vishal

http://cbsecsnip.in

Page 3 of 11

In example 2 two integer variables with values 100 and 200 are assigned to variables a and b, and one string variable with the value "Vishal" is assigned to the variable c. Therefore, by assigning different data types to variables, we can store integers, decimals, or characters in these variables.

6. Python Data Types

Python has a rich set of data types for variables: Numeric Type: There are four distinct numeric types - plain integers, long integers, floating point numbers, and complex numbers. Type Size Example integer 32 bits >>> x = 5 >>> type(x) <type 'int'> long integer >>> x = 187687654564658970978909869576453 >>> type(x) <type 'long'> float 64 bits >>> x = 1.34763 >>> type(x) <type 'float'> complex >>> x = 5 + 2j >>> type(x) <type 'complex'> Sequence Types: strings, lists, tuples are 3 three commonly used data types which comes under sequence types. Sequential data types contain multiple pieces of data, each of which is numbered, or indexed. Each piece of data inside a sequence is called an element. Sequential data types are that which can manipulate the whole sequence, chunks of the sequence, or individual elements inside the sequence.

String: String is a data type representing textual data in computer programs. Strings in python can be created using single

quotes, double quotes and triple quotes. When we use triple quotes, strings can span several lines without using the escape character. Example of different types of string formation is given below >>> a="cbse cs n ip" >>> a 'cbse cs n ip' >>> b='cbse cs n ip' >>> b 'cbse cs n ip' >>> c="""name of web site is cbse cs n ip """ >>> c 'name\nof\nweb site is\ncbse cs nip\n'

In Python facility of concatenating more than String is also present, we can concatenate strings by using + sign like this >>> d="for Cbse students" >>> c+d #concatenating c and d using + sign 'name\nof\nweb site is\ncbse cs nip\nfor Cbse students Special characters can be inserted by using the escape character \. Some commonly used escape sequences are \\ for a \ in string

http://cbsecsnip.in

Page 4 of 11

\' for ' in a string \" for " in a string \n for a newline \r for carriage return \t for tab Example of escape sequence: >>> s='Line containing \' and \\ in itself' >>> s "Line containing ' and \\ in itself" In the next example, we will see what will happen if we do string multiplication >>> a="xyz" >>> a * 3 'xyzxyzxyz' # string is repeating three times Get the length of a string >>> str="Get the length of this string" >>> len(str) 29 Guess what will be the output of this code snippet? >>> a="xyz" >>> b="abc" >>> str1=a+" "+b*3 >>> a+" "+b*3 >>> len(str1) Output?????

List: A list is a mutable (can change) sequence data type, elements in a list can be added or removed due to its mutable feature. List can contain mixed data types which means list elements don't have to be of the same type.
A list contains items separated by commas and enclosed within square brackets []. List elements are numbered internally starting from 0. There can have nesting of lists one inside other >>> l = [1,2,3,4,"abc",2.34,[10,11]] >>> l[0] 1 >>> l[4] 'abc' >>> l[6] [10, 11] >>> l[6][0] 10 Add element in an existing list >>> l.append('Vishal') >>> l [1, 2, 3, 4, 'abc', 2.34, [10, 11], 'Vishal'] Remove element from list >>> del l[0] >>> l [2, 3, 4, 'abc', 2.34, [10, 11], 'Vishal'] Slicing elements of list

http://cbsecsnip.in

Page 5 of 11

>>>l[1:4] [3,4,'abc']

Tuple: A tuple in Python is much like a list except that it is immutable (unchangeable) once created. Tuple can be index, slice
and concatenate, but one cannot append or alter the values of the tuple after it has been initialized. Tuples are created using round brackets. >>> t = (1,2,3,4,'abc',2.34,(10,11)) >>> t[0] 1 >>> t[4] 'abc' >>> t[6] (10,11) Mapping Type: A mapping object maps hashable values to arbitrary objects. Mappings are mutable objects. There is currently only one standard mapping type, the dictionary.

Dictionary: Dictionary comes under Mapping data type. In a dictionary, we have an 'index' of words and for each of them a definition. The word is called a 'key', and the definition a 'value'. Dictionary is the Python term for an associative array. It is like a list, a series of values in two dimensions. Dictionary gives one a way of accessing the values by a key, and keys are unique. A dictionary is mutable but does not have any defined sequence. Key can be any integer or string and Value can be any item.
For initializing a dictionary, we have to put the sets of keys and values in curly braces. Each key-value pair is separated from the others by a comma and for each pair, the key and value are separated by a colon. Syntax for creating dictionary-> >>> d = {'key1':'value1','key2':'value2',.... } #Create dictionary >>> phonebook={'Andrew Parson':8806336, 'Emily Everett':6784346, 'Peter Power':7658344, 'Lewis Lame':1122345} #Show dictionary phonebook >>>phonebook {'Andrew Parson':8806336, 'Emily Everett':6784346, 'Peter Power':7658344, 'Lewis Lame':1122345} #Display keys and its respective values of all the items from dictionary >>> phonebook.items() [('Emily Everett', 6784346), ('Andrew Parson', 8806336), ('Lewis Lame', 1122345), ('Peter Power', 7658344)] #Display the key of value from dictionary >>> phonebook.keys() ['Emily Everett', 'Andrew Parson', 'Lewis Lame', 'Peter Power'] #Display the value of lists from dictionary >>> phonebook.values() [6784346, 8806336, 1122345, 7658344] #Display the value of a specific key >>> phonebook.pop('Andrew Parson') 8806336 #Add a new numbers to the phonebook >>> phonebook['Gingerbread Man'] = 1234567 >>> phonebook

http://cbsecsnip.in

Page 6 of 11

{'Andrew Parson':8806336, 'Emily Everett':6784346, 'Peter Power':7658344, 'Lewis Lame':1122345, 'Gingerbread Man': 1234567} #Remove item from dictionary >>> del phonebook['Peter Power'] >>> phonebook {'Andrew Parson':8806336, 'Emily Everett': 6784346, 'Lewis Lame': 1122345, 'Gingerbread Man': 1234567}

Sets: A set stores multiple items, which can be of different types, but each item in a set must be unique. Use of sets is to find unions, intersections, differences, and so on. Unlike sequence objects such as lists and tuples, in which each element is indexed. Basic uses include membership testing and eliminating duplicate entries. Operations on sets #Creating set >>> s1=set(['a', 'i', 'e', 'u', 'o']) >>> s2=set(['m', 'w', 'd', 'i', 't', 'o']) >>> print set(['a', >>> print set(['d', s1 'i', 'e', 'u', 'o']) s2 'i', 'm', 'o', 't', 'w'])3

#Add single member in set >>> s1.add(32) >>> print s1 set(['a', 32, 'e', 'i', 'o', 'u']) #Add group of members in set >>> s1.update([26, 9, 14]) >>> print s1 set(['a', 32, 'e', 'i', 9, 'o', 'u', 14, 26]) #Different types of Membership Testing >>> 32 in s1 True >>> 'o' in s1 True >>> 35 not in s1 True >>> 32 not in s1 False >>> 'w' in s1 False #Intersection Operation >>> s1 & s2 OR set(['i', 'o'])

>>> s1.intersection(s2)

#Union Operation >>> s1 | s2 OR >>> s1.union(s2) set(['a', 'e', 'd', 'i', 'm', 'o', 'u', 't', 'w']) #Difference Operation >>> s1 - s2 OR

>>> s1.difference(s2)

http://cbsecsnip.in

Page 7 of 11

set(['a', 'u', 'e']) #Symmetric Difference >>>s1 ^ s2 OR >>> s1.symmetric_difference(s2) set(['a', 'e', 'd', 'w', 'u', 'm', 't'])

None: Python has a special value called None. It is generally used to represent a null value.

#Checking whether x contain any value or not >>>x=None # initializing x with None (nothing/null) >>> if x: # checking if x contain any value then this will return TRUE print("X is having Value") #if TRUE then this line will display else: print("X is empty") #if FALSE then this line will display X is empty #Output

>>> x=10 # initializing x with 10 >>> if x: # checking if x contain any value then this will return TRUE print("X is having Value") #if TRUE then this line will display else: print("X is empty") #if FALSE then this line will display X is having Value #Output

7. Operators in Python
An operator is a special symbol which indicates a certain process to carry out. The operators are used to process data which we technically termed as operand. An operator may have one or two operands. An operand is one of the inputs (arguments) of an operator. Those operators that work with only one operand are called unary operators. Those who work with two operands are called binary operators. In Python programming language, we have several types of operators:

Arithmetic: The math symbols we're all familiar with as well as some less-well known ones. Python understands a variety of math symbols. Table shown below contain the different types of operators with examples
Assume variable x holds 10 and variable y holds 20 then: + * / % ** Operator Description Addition Subtraction Multiplication Division Modulus Exponent x + x will give 30 x y will give -10 x * y will give 200 y / x will give 2 y % x will give 0 x**y will give 10 to the power 20 output -> 100000000000000000000L Example

evaluation. Operator <

Relational: A relational operator relates the values between two operands and gives either True or False as the result after
The following table shows a list of comparison operators. Description less than Example x < y will return True

http://cbsecsnip.in

Page 8 of 11

<= == > >= != <>

less than or equal equal greater than greater than or equal not equal not equal

x <= y will return True x == y will return False x > y will return False x >= y will return False x != y will return True x <> y will return True

Logical or Boolean: Python has three logical operators and, or and not. These are also called as Boolean operators

Python tests an expression with and and or operators from left to right and returns the last value tested. With Boolean operators we perform logical operations. These are most often used with if and while keywords.

The logical and operator evaluates to True only if both operands are True. See the example how and operator evaluates the expression: >>> True and True True >>> True and False False >>> False and True False >>> False and False False The logical or operator evaluates to True, if either of the operands is True. If one of the sides of the operator is True, the outcome of the operation is True. See the example how or operator evaluates the expression: >>> True or True True >>> True or False True >>> False or True True >>> False or False False Logical not Operator also called as the negation operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false. >>> x=4 >>> y=3 >>> not x<y True >>> not x>y False

Assignment: The basic assignment operator is equal (=), which assigns the value of its right operand to its left operand. That is, x = y assigns the value of y to x. The other assignment operators are usually shorthand for standard operations, as shown in the following table.
Operator Description Example

= += -= *= /=

Simple assignment operator, Assigns values from right side operands to left side operand This adds right operand to the left operand and assign the result to left operand This subtracts right operand from the left operand and assign the result to left operand This multiplies right operand with the left operand and assign the result to left operand This divides left operand with the right operand and assign the result to left operand

= will assign value of a+ b into c c += a is same as c = c + a c -= a is same as c = c - a c *= a is same as c = c * a c /= a is same as c = c / a

http://cbsecsnip.in

Page 9 of 11

%= **=

This takes modulus using two operands and assign the result to left operand This performs exponential (power) calculation on operators and assign value to the left operand

c %= a is same as c = c % a c **= a is same as c = c ** a

8. Operator precedence in Python


Operator Precedence determines in which order operations are evaluated. You can control this with parentheses (). Consider this: 2 + 10 * 10 = 120 in normal math. But 2 + (10*10) = 102 because the parentheses gives precedence to the equation 10*10. Highest precedence 1. ( ) (anything in brackets is done first) 2. ** (exponentiation) 3. -x, +x (unary plus and minus) 4. *, /, % (binary arithmetical operators) 5. +, (binary plus and minus) 6. relational operators: <, >, <=, >=, !=, == 7. logical not 8. logical and 9. logical or Lowest precedence

9. Python Statement & Expressions


Statement: A statement is an instruction that the Python interpreter can execute. We have only seen the assignment and print statement so far. Some other kinds of statements that well see shortly are while statements, for statements, if statements, and import statements. Expression: An expression is a combination of values, variables, operators, and calls to functions. Expressions need to be
evaluated. If you ask Python to print an expression, the interpreter evaluates the expression and displays the result. If you type an expression in interactive mode, the interpreter evaluates it and displays the result.

The evaluation of an expression produces a value, which is why expressions can appear on the right hand side of assignment statements. A value all by itself is a simple expression. >>> message = "What's up, Doc?" >>> message "What's up, Doc?" >>> print message What's up, Doc? #Assignment Statement, both message and "What's up, Doc?" are expressions

#Print Statement, message is expressions and print is a statement

When the Python shell displays the value of an expression, it uses the same format you would use to enter a value. In the case of strings, that means that it includes the quotation marks. But the print statement prints the value of the expression, which in this case the contents of the string.

10. How to input value from keyboard in Python


Now the time came when we like to take some values from keyboard and based on those values we will do out operation, till now we were playing with constant (fixed) values like:

http://cbsecsnip.in

Page 10 of 11

>>> 25+25 Or >>> n1=25 >>> n2=25 >>> n1+n2 Here we problem is whenever we want to do addition of two numbers we have to make changes in our code, this is not Good Programming. Our program should have capability to accept different values via keyboard as user wants and sum up those numbers and for this we should not modify our code. To accomplish the above mentioned task Python have two built-in functions for getting keyboard input: input() and raw_input() each of these functions allows a prompt to be given to the function between the parentheses. >>> n = raw_input("Please enter a value: ") Please enter your name: CBSE CS N IP >>> n 'CBSE CS N IP' >>> n = input("Please enter a value: ") Please enter your name: CBSE CS N IP Traceback (most recent call last): File "<pyshell#7>", line 1, in <module> n = input("Please enter your name: ") File "<string>", line 1 CBSE CS N IP ^ SyntaxError: unexpected EOF while parsing >>> n = input("Please enter a value: ") Please enter your name: "CBSE CS N IP" >>> n 'CBSE CS N IP' Difference between input() and raw_input() input() Converts the user input to the right matching python type (int, str, list, tuple, dict etc.,) For instance in the statement below: a = input('Enter a value: ') print type(a) if user entered 1 then it is int if user entered 'Python' then it is str if user entered [1,2,3] then it is dict Use when you write program quickly for yourself or for expert users since you would not need to any type conversion. Removed in Python 3 >>> n = input("Please enter a value: ") Please enter a value: 23 >>> n 23 # value returned as int raw_input() Converts the user input always to string. For instance in the statement below a = raw_input('Enter a value: ') print type(a) Regardless of value entered by the type is always string Use when you write program for non expert users since you can handle exceptions when converting from string to your expected type. Renamed as input in Python 3 >>> n = raw_input("Please enter a value: ") Please enter a value: 23 >>> n '23' # value returned as str # Error Raised because input() expect correct syntax for string

Lesson 3 -> Functions in Python Built-In Functions and User Defined Function. http://cbsecsnip.in Page 11 of 11

Você também pode gostar