در این جلسه به بررسی ساختار های شرطی و حلقه ها در پایتون پرداختیم
PySec101 Fall 2013 J4E1 By Mohammad Reza Kamalifard
Talk About:
Statements: Conditional Statements and Loop Statements
جلسه چهارم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲
1. Python for ethical hackers
Mohammad reza Kamalifard
kamalifard@datasec.ir
2. Python language essentials
Module 1:
Introduction to Python and Setting up an Environment for Programing
Part 4 :
Conditional Statements
3. if Statement
Like if in other languages but second if called elif
if test_condition1:
do stuff
do stuff
elif test_condition2:
do stuff
do stuff
elif test_condition3:
do stuff
do stuff
else:
do stuff
4. Python Indentation
• Python uses whitespace indentation, rather than curly
braces or keywords, to delimit blocks; a feature also
termed the off-side rule.
• An increase in indentation comes after certain statements;
a decrease in indentation signifies the end of the current
block.
7. Indentation
if name == 'ali':
print 'Your name is ali'
Print ‘Always print this line‘
• 4 space
• Tab
• Google use 2 space
• We use 4 space (PEP 8)
8.
9. $ vim if_statement.py
#!/usr/bin/env python
name = raw_input('Please Enter Your name! : ')
if name == 'reza':
print 'You are reza'
print 'And a course instructor'
elif name == 'Arman':
print 'You are Arman'
print 'And a student'
else:
print 'I don't know you‘
~
~
~
10. $ chmod a+x if_statement.py
$ ./if_statement.py
Please Enter Your name! : reza
You are reza
And a course instructor
$
$ ./if_statement.py
Please Enter Your name! : ali
I don’t know you
$
$ ./if_statement.py
Please Enter Your name! : Arman
You are Arman
And a student
$
11. While Loops
while statement_is_true:
do stuff
do stuff
break : get out if innermost loop
continue : start the next pass of the innermost
pass : do nothing, placeholder
13. $ chmod a+x while_statement.py
$ ./ while_statement.py
Please Enter Your age ? : 23
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
You age is grater than 10
14. $ vim while_statement.py
#!/usr/bin/env python
age = 20
while age > 10:
age = int(raw_input('Please Enter Your age ? : '))
print 'You age is grater than 10'
~
~
~
15. $ chmod a+x while_statement.py
$ ./ while_statement.py
Please Enter Your age ? : 23
You age is grater than 10
Please Enter Your age ? : 15
You age is grater than 10
Please Enter Your age ? : 18
You age is grater than 10
Please Enter Your age ? : 8
You age is grater than 10
$
16. $ vim while_statement.py
#!/usr/bin/env python
age = 20
while age > 10:
age = int(raw_input('Please Enter Your age ? : '))
if age >
print
elif age
print
else:
print
~
~
10:
'Your age is grater than 10'
< 10:
'Your age is smaller than 10'
'Your age is equal to 10'
17. $ chmod a+x while_statement.py
$ ./ while_statement.py
Please Enter Your age ? : 23
You age is grater than 10
Please Enter Your age ? : 15
You age is grater than 10
Please Enter Your age ? : 8
You age is smaller than 10
$
$ ./ while_statement.py
Please Enter Your age ? : 17
You age is grater than 10
Please Enter Your age ? : 10
You age is equal to 10
$
18. For Loops
for item in object:
do stuff
do stuff
for item in [1, 2, 3]
for item in ['a', 2, '3']
for (x,y) in [('reza', 23), ('mohammad', 25)]
19. >>> for item in [1, 2, 3]:
...
print item
...
1
2
3
20. item is a name can be anything
>>> names = ['Reza', 'Majid', 'Sara', 'Iman']
>>> names
['Reza', 'Majid', 'Sara', 'Iman']
>>> for name in names:
...
print name
...
Reza
Majid
Sara
Iman
>>>
21. >>> info = [('Reza', 23), ('Sara', 20), ('Shayan', 30),
('AmirAli', 21)]
>>> info
[('Reza', 23), ('Sara', 20), ('Shayan', 30), ('AmirAli', 21)]
>>> for (name, age) in info:
...
print 'Your name is : %s and Your age is %d' % (name,
age)
...
Your
Your
Your
Your
>>>
name
name
name
name
is
is
is
is
:
:
:
:
Reza and Your age is 23
Sara and Your age is 20
Shayan and Your age is 30
AmirAli and Your age is 21
22. Emulating C style for loops
C style loops : for(i=0; i<10; i++)
for(i=0; i<10; i++){
cout<<i<<',';
}
0,1,2,3,4,5,6,7,8,9,
24.
References
SPSE securitytube training by Vivek Ramachandran
SANS Python for Pentesters (SEC573)
Violent python
Security Power Tools
python-course.eu
----------------------------http://www.tutorialspoint.com/python/python_loops.htm
http://www.python-course.eu/blocks.php
http://www.python-course.eu/loops.php
http://www.python-course.eu/for_loop.php
25. This work is licensed under the Creative Commons Attribution-NoDerivs 3.0 Unported License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by-nd/3.0/
Copyright 2013 Mohammad Reza Kamalifard
All rights reserved.
Go to Kamalifard.ir/pysec101 to Download Slides and Course martials .