SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Day 1


String, Control Flow, Data Structure




                                       Day 1
String
Introduction
String Methods
Multi-line String
String Formating
Unicode String
Iterating, Searching, Comparison



                                   Day 1
String : Introduction
Python has a built-in string class named "str"
A "raw" string literal is prefixed by an 'r'
Python strings are "immutable"
Characters in a string can be accessed using
[index]
Unlike Java, the '+' does not automatically convert
numbers or other types to string form


                                                 Day 1
String : Methods
s.lower(), s.upper()
s.strip()
s.isalpha(), s.isdigit(), s.isspace()
s.find('other')
s.replace('old', 'new')
s.split('delim')
s.join(list)
s.center(width[, fillchar])
                                        Day 1
String : Multi-Line
Declare String
  Using Single Quotes (')
  Using Double Quotes (")
  Using Triple Quotes (''' or """)
raw = r'thistn and that'
multi = r"""It was the best of times.
It was the worst of times."""


                                        Day 1
String : Formating
str.format(*args, **kwargs)
% operator
  text = ("%d little pigs come out or I'll %s and %s and
    %s" % (3, 'huff', 'puff', 'blow down'))
  '%(language)s has %(number)03d quote types.' %
    {"language": "Python", "number": 2}
String = 'What's' 'your name?'



                                                       Day 1
String : Unicode
Define Unicode string
  ustring = u'A unicode u018e string xf1'
  type(ustring)
     <type 'unicode'>

Unicode to UTF-8
  nstr = ustring.encode('utf-8')
  type(nstr)
     <type 'str'>

UTF-8 to Unicode
                                              Day 1
String : Iterating, Searching, Comparison
Loop on string
  for s in str:
Check existence of sting
  s in str ?
Comparison of 2 strings
  ==
  <=
  >=
  !=
                                            Day 1
Control Flow
Condition checking
Loops
  For
  While
break, continue, else and pass statement
Range
  Range(10)
  Range(1, 10)
  Range(0, 10, 3)
                                           Day 1
Control Flow : Condition checking
>>> x = int(raw_input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
...   x=0
...   print 'Negative changed to zero'
... elif x == 0:
...   print 'Zero'
... elif x == 1:
                                                Day 1
Control Flow : for loop
>>> # Measure some strings:
... a = ['cat', 'window', 'defenestrate']
>>> for x in a:
...   print x, len(x)
...


>>> for x in a[:]: # make a slice copy of the entire
 list
                                                  Day 1
Control Flow : break, continue and else
Loop statements may have an else clause;
it is executed when the loop terminates through
   exhaustion of the list - (with for)
when the condition becomes false - (with while)
not when the loop is terminated by a break
 statement




                                              Day 1
Control Flow : for …. else
for n in range(2, 10):
...   for x in range(2, n):
...     if n % x == 0:
...           print n, 'equals', x, '*', n/x
...           break
...   else:
...     # loop fell through without finding a factor
...     print n, 'is a prime number'
                                                  Day 1
Control Flow : pass
The pass statement does nothing
Pass in loops
  >>> while True:
  ...   pass # Busy-wait for keyboard interrupt (Ctrl+C)
Empty Class
  >>> class MyEmptyClass:
  ...   pass
  ...

                                                     Day 1
Control Flow : pass
Empty Method
  >>> def initlog(*args):
  ...   pass # Remember to implement this!
  ...




                                             Day 1
Control Flow : range
>>> range(5, 10)
  [5, 6, 7, 8, 9]
>>> range(0, 10, 3)
  [0, 3, 6, 9]
>>> range(-10, -100, -30)
  [-10, -40, -70]
>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
         ...   print i, a[i]
                                                 Day 1
Data Structure
Python built-in types
  Tuple
  List
  Dict
Usage
  List Methods
  Dict Methods
  Dict Formatting

                        Day 1
Data Structure : tuple
Tuples, like strings, are immutable:
it is not possible to assign to the individual items
   of a tuple
>>> t = 12345, 54321, 'hello!'
>>> t[0]
12345
>>> t
(12345, 54321, 'hello!')
                                                  Day 1
Data Structure : tuple reverse assignment
Creating Tuple
>>> t = 12345, 54321, 'hello!'
>>> type(t)
<type 'tuple'>
>>> t
(12345, 54321, 'hello!')
Reverse Operation
>>> x, y, z = t
                                            Day 1
Data Structure : list
Python has a great built-in list type named "list"
lst = [], <type 'list'>
Create a new list
  colors = ['red', 'blue', 'green']
  print colors[0]   ## red
  print colors[2]   ## green
  print len(colors) ## 3
Assignment of list
  b = colors ## Does not copy the list
                                                     Day 1
Data Structure : working with list
L is t B u ild U p
list = []         ## Start as the empty list
list.append('a') ## Use append() to add
   elements
list.append('b')
L is t S lic e s
list = ['a', 'b', 'c', 'd']
print list[1:-1] ## ['b', 'c']
                                               Day 1
Data Structure : list methods
>>> list = ['larry', 'curly', 'moe']
>>> list.append('shemp')               ## append elem
 at end
>>> list.insert(0, 'xxx')       ## insert elem at
 index 0
>>> list.extend(['yyy', 'zzz']) ## add list of
 elems at end
>>> print list ## ['xxx', 'larry', 'curly', 'moe',
 'shemp', 'yyy', 'zzz']                              Day 1
Data Structure : iterations over list
Using for loop
  for var in list


>>> squares = [1, 4, 9, 16]
>>> sum = 0
>>> for num in squares:
>>> … sum += num
>>> … print sum ## 30
                                        Day 1
Data Structure : dict
Python's efficient key/value hash table structure
 is called a "dict"
The contents of a dict can be written as a series
 of key:value pairs
e.g. dict = {key1:value1, key2:value2, ... }
The "empty dict" is just an empty pair of curly
 braces {}
Looking up or setting a value in a dict uses
 square brackets. e.g. dict['foo']
                                                  Day 1
Data Structure : creating dict
## Can build up a dict by starting with the the
 empty dict {}
## and storing key/value pairs into the dict like
 this:
## dict[key] = value-for-that-key
dict = {}
dict['a'] = 'alpha'
dict['g'] = 'gamma'
dict['o'] = 'omega'                                 Day 1
Data Structure : Iteration on key or value
## By default, iterating over a dict iterates over its
 keys.
## Note that the keys are in a random order.
for key in dict: print key
## prints a g o


## Exactly the same as above
for key in dict.keys(): print key
                                                   Day 1
Data Structure: Iteration on key and value
## This loop syntax accesses the whole dict by
 looping
## over the .items() tuple list, accessing one (key,
 value)
## pair on each iteration.
for k, v in dict.items():
print k, '>', v
## a > alpha      o > omega   g > gamma

                                                 Day 1
Data Structure : del an item
var = 6
del var # var no more!


list = ['a', 'b', 'c', 'd']
del list[0]      ## Delete first element
del list[-2:] ## Delete last two elements
print list      ## ['b']

                                            Day 1
Data Structure : sorting
The easiest way to sort is with the sorted(list)
 function
The sorted() function seems easier to use
 compared to sort()
The sorted() function can be customized though
 optional arguments
The sorted() optional argument reverse=True
Custom Sorting With key=

                                                   Day 1
Data Structure : working with sorted( )
S o r t in g N u m b e r s
a = [5, 1, 4, 3]
print sorted(a) ## [1, 3, 4, 5]
print a ## [5, 1, 4, 3]
S o r t in g S t r in g
strs = ['aa', 'BB', 'zz', 'CC']
print sorted(strs) ## ['BB', 'CC', 'aa', 'zz'] (case
  sensitive)
                                                       Day 1
Data Structure : Custom Sorting with key
strs = ['ccc', 'aaaa', 'd', 'bb']
print sorted(strs, key=len) ## ['d', 'bb', 'ccc',
  'aaaa']




                                                    Day 1
Data Structure : Custom comparator
## Say we have a list of strings we want to sort by the
  last letter of the string.

strs = ['xc', 'zb', 'yd' ,'wa']


## Write a little function that takes a string, and returns
  its last letter.
## This will be the key function (takes in 1 value, returns
  1 value).

def MyComparator(s):
                                                          Day 1
Next Session ?
Function
  Dynamic Functions
Object Oriented
  Class
  Inheritance
  Method Overload, Override
Python Packaging
  __init__.py

                              Day 1
Contact me...

           Mantavya Gajjar

           Phone : 94263 40093

      Email : mail@mantavyagajjar.in

     Website : www.opentechnologies.in

    Follow on Twitter : @mantavyagajjar

                                          Day 1

Weitere ähnliche Inhalte

Was ist angesagt?

Cheat sheet python3
Cheat sheet python3Cheat sheet python3
Cheat sheet python3sxw2k
 
Python fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuanPython fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuanWei-Yuan Chang
 
Basics of Python programming (part 2)
Basics of Python programming (part 2)Basics of Python programming (part 2)
Basics of Python programming (part 2)Pedro Rodrigues
 
Python Programming: Data Structure
Python Programming: Data StructurePython Programming: Data Structure
Python Programming: Data StructureChan Shik Lim
 
Magicke metody v Pythonu
Magicke metody v PythonuMagicke metody v Pythonu
Magicke metody v PythonuJirka Vejrazka
 
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...Matt Harrison
 
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Matt Harrison
 
Introduction to c
Introduction to cIntroduction to c
Introduction to cSayed Ahmed
 
Functions in python
Functions in pythonFunctions in python
Functions in pythonIlian Iliev
 
python chapter 1
python chapter 1python chapter 1
python chapter 1Raghu nath
 
Python chapter 2
Python chapter 2Python chapter 2
Python chapter 2Raghu nath
 
Haskell in the Real World
Haskell in the Real WorldHaskell in the Real World
Haskell in the Real Worldosfameron
 
RxSwift 시작하기
RxSwift 시작하기RxSwift 시작하기
RxSwift 시작하기Suyeol Jeon
 

Was ist angesagt? (20)

Cheat sheet python3
Cheat sheet python3Cheat sheet python3
Cheat sheet python3
 
Python fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuanPython fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuan
 
Basics of Python programming (part 2)
Basics of Python programming (part 2)Basics of Python programming (part 2)
Basics of Python programming (part 2)
 
Python Programming: Data Structure
Python Programming: Data StructurePython Programming: Data Structure
Python Programming: Data Structure
 
Magicke metody v Pythonu
Magicke metody v PythonuMagicke metody v Pythonu
Magicke metody v Pythonu
 
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...
How to Become a Tree Hugger: Random Forests and Predictive Modeling for Devel...
 
Python Puzzlers
Python PuzzlersPython Puzzlers
Python Puzzlers
 
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
Analysis of Fatal Utah Avalanches with Python. From Scraping, Analysis, to In...
 
Hammurabi
HammurabiHammurabi
Hammurabi
 
Python_ 3 CheatSheet
Python_ 3 CheatSheetPython_ 3 CheatSheet
Python_ 3 CheatSheet
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
 
Functions in python
Functions in pythonFunctions in python
Functions in python
 
python chapter 1
python chapter 1python chapter 1
python chapter 1
 
Python chapter 2
Python chapter 2Python chapter 2
Python chapter 2
 
Haskell in the Real World
Haskell in the Real WorldHaskell in the Real World
Haskell in the Real World
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Python : Dictionaries
Python : DictionariesPython : Dictionaries
Python : Dictionaries
 
Java Cheat Sheet
Java Cheat SheetJava Cheat Sheet
Java Cheat Sheet
 
Benefits of Kotlin
Benefits of KotlinBenefits of Kotlin
Benefits of Kotlin
 
RxSwift 시작하기
RxSwift 시작하기RxSwift 시작하기
RxSwift 시작하기
 

Ähnlich wie Python Day1

Python_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdfPython_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdfsagar414433
 
Python_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdfPython_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdfsagar414433
 
Revision Tour 1 and 2 complete.doc
Revision Tour 1 and 2 complete.docRevision Tour 1 and 2 complete.doc
Revision Tour 1 and 2 complete.docSrikrishnaVundavalli
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayUtkarsh Sengar
 
[1062BPY12001] Data analysis with R / week 2
[1062BPY12001] Data analysis with R / week 2[1062BPY12001] Data analysis with R / week 2
[1062BPY12001] Data analysis with R / week 2Kevin Chun-Hsien Hsu
 
Arrays and function basic c programming notes
Arrays and function basic c programming notesArrays and function basic c programming notes
Arrays and function basic c programming notesGOKULKANNANMMECLECTC
 
An overview of Python 2.7
An overview of Python 2.7An overview of Python 2.7
An overview of Python 2.7decoupled
 
Pythonlearn-08-Lists.pptx
Pythonlearn-08-Lists.pptxPythonlearn-08-Lists.pptx
Pythonlearn-08-Lists.pptxMihirDatir
 
Beautiful python - PyLadies
Beautiful python - PyLadiesBeautiful python - PyLadies
Beautiful python - PyLadiesAlicia Pérez
 
Becoming a Pythonist
Becoming a PythonistBecoming a Pythonist
Becoming a PythonistRaji Engg
 
Improve Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptxImprove Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptxCatherineVania1
 

Ähnlich wie Python Day1 (20)

R programming
R programmingR programming
R programming
 
Python_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdfPython_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdf
 
Python_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdfPython_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdf
 
Ggplot2 v3
Ggplot2 v3Ggplot2 v3
Ggplot2 v3
 
R Basics
R BasicsR Basics
R Basics
 
Revision Tour 1 and 2 complete.doc
Revision Tour 1 and 2 complete.docRevision Tour 1 and 2 complete.doc
Revision Tour 1 and 2 complete.doc
 
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard WayPython Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
 
[1062BPY12001] Data analysis with R / week 2
[1062BPY12001] Data analysis with R / week 2[1062BPY12001] Data analysis with R / week 2
[1062BPY12001] Data analysis with R / week 2
 
R교육1
R교육1R교육1
R교육1
 
Arrays and function basic c programming notes
Arrays and function basic c programming notesArrays and function basic c programming notes
Arrays and function basic c programming notes
 
An overview of Python 2.7
An overview of Python 2.7An overview of Python 2.7
An overview of Python 2.7
 
A tour of Python
A tour of PythonA tour of Python
A tour of Python
 
ECE-PYTHON.docx
ECE-PYTHON.docxECE-PYTHON.docx
ECE-PYTHON.docx
 
Python Workshop
Python  Workshop Python  Workshop
Python Workshop
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
Pythonlearn-08-Lists.pptx
Pythonlearn-08-Lists.pptxPythonlearn-08-Lists.pptx
Pythonlearn-08-Lists.pptx
 
Beautiful python - PyLadies
Beautiful python - PyLadiesBeautiful python - PyLadies
Beautiful python - PyLadies
 
Python Session - 3
Python Session - 3Python Session - 3
Python Session - 3
 
Becoming a Pythonist
Becoming a PythonistBecoming a Pythonist
Becoming a Pythonist
 
Improve Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptxImprove Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptx
 

Mehr von Mantavya Gajjar (16)

Python day2
Python day2Python day2
Python day2
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
 
FDP Event Report
FDP Event Report FDP Event Report
FDP Event Report
 
Demonstrate OpenERP
Demonstrate OpenERPDemonstrate OpenERP
Demonstrate OpenERP
 
ERP Implementation cycle
ERP Implementation cycleERP Implementation cycle
ERP Implementation cycle
 
Point of Sale - OpenERP 6.1
Point of Sale - OpenERP 6.1Point of Sale - OpenERP 6.1
Point of Sale - OpenERP 6.1
 
About OpenEPR
About OpenEPRAbout OpenEPR
About OpenEPR
 
Project Management
Project ManagementProject Management
Project Management
 
Order to cash flow
Order to cash flowOrder to cash flow
Order to cash flow
 
Installation
Installation Installation
Installation
 
Education Portal
Education PortalEducation Portal
Education Portal
 
Tiny-Sugar Guide
Tiny-Sugar GuideTiny-Sugar Guide
Tiny-Sugar Guide
 
Subscription
SubscriptionSubscription
Subscription
 
Payroll
PayrollPayroll
Payroll
 
Account voucher
Account voucherAccount voucher
Account voucher
 
Send Mail
Send MailSend Mail
Send Mail
 

Kürzlich hochgeladen

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Kürzlich hochgeladen (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Python Day1

  • 1. Day 1 String, Control Flow, Data Structure Day 1
  • 2. String Introduction String Methods Multi-line String String Formating Unicode String Iterating, Searching, Comparison Day 1
  • 3. String : Introduction Python has a built-in string class named "str" A "raw" string literal is prefixed by an 'r' Python strings are "immutable" Characters in a string can be accessed using [index] Unlike Java, the '+' does not automatically convert numbers or other types to string form Day 1
  • 4. String : Methods s.lower(), s.upper() s.strip() s.isalpha(), s.isdigit(), s.isspace() s.find('other') s.replace('old', 'new') s.split('delim') s.join(list) s.center(width[, fillchar]) Day 1
  • 5. String : Multi-Line Declare String Using Single Quotes (') Using Double Quotes (") Using Triple Quotes (''' or """) raw = r'thistn and that' multi = r"""It was the best of times. It was the worst of times.""" Day 1
  • 6. String : Formating str.format(*args, **kwargs) % operator text = ("%d little pigs come out or I'll %s and %s and %s" % (3, 'huff', 'puff', 'blow down')) '%(language)s has %(number)03d quote types.' % {"language": "Python", "number": 2} String = 'What's' 'your name?' Day 1
  • 7. String : Unicode Define Unicode string ustring = u'A unicode u018e string xf1' type(ustring) <type 'unicode'> Unicode to UTF-8 nstr = ustring.encode('utf-8') type(nstr) <type 'str'> UTF-8 to Unicode Day 1
  • 8. String : Iterating, Searching, Comparison Loop on string for s in str: Check existence of sting s in str ? Comparison of 2 strings == <= >= != Day 1
  • 9. Control Flow Condition checking Loops For While break, continue, else and pass statement Range Range(10) Range(1, 10) Range(0, 10, 3) Day 1
  • 10. Control Flow : Condition checking >>> x = int(raw_input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: ... x=0 ... print 'Negative changed to zero' ... elif x == 0: ... print 'Zero' ... elif x == 1: Day 1
  • 11. Control Flow : for loop >>> # Measure some strings: ... a = ['cat', 'window', 'defenestrate'] >>> for x in a: ... print x, len(x) ... >>> for x in a[:]: # make a slice copy of the entire list Day 1
  • 12. Control Flow : break, continue and else Loop statements may have an else clause; it is executed when the loop terminates through exhaustion of the list - (with for) when the condition becomes false - (with while) not when the loop is terminated by a break statement Day 1
  • 13. Control Flow : for …. else for n in range(2, 10): ... for x in range(2, n): ... if n % x == 0: ... print n, 'equals', x, '*', n/x ... break ... else: ... # loop fell through without finding a factor ... print n, 'is a prime number' Day 1
  • 14. Control Flow : pass The pass statement does nothing Pass in loops >>> while True: ... pass # Busy-wait for keyboard interrupt (Ctrl+C) Empty Class >>> class MyEmptyClass: ... pass ... Day 1
  • 15. Control Flow : pass Empty Method >>> def initlog(*args): ... pass # Remember to implement this! ... Day 1
  • 16. Control Flow : range >>> range(5, 10) [5, 6, 7, 8, 9] >>> range(0, 10, 3) [0, 3, 6, 9] >>> range(-10, -100, -30) [-10, -40, -70] >>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in range(len(a)): ... print i, a[i] Day 1
  • 17. Data Structure Python built-in types Tuple List Dict Usage List Methods Dict Methods Dict Formatting Day 1
  • 18. Data Structure : tuple Tuples, like strings, are immutable: it is not possible to assign to the individual items of a tuple >>> t = 12345, 54321, 'hello!' >>> t[0] 12345 >>> t (12345, 54321, 'hello!') Day 1
  • 19. Data Structure : tuple reverse assignment Creating Tuple >>> t = 12345, 54321, 'hello!' >>> type(t) <type 'tuple'> >>> t (12345, 54321, 'hello!') Reverse Operation >>> x, y, z = t Day 1
  • 20. Data Structure : list Python has a great built-in list type named "list" lst = [], <type 'list'> Create a new list colors = ['red', 'blue', 'green'] print colors[0] ## red print colors[2] ## green print len(colors) ## 3 Assignment of list b = colors ## Does not copy the list Day 1
  • 21. Data Structure : working with list L is t B u ild U p list = [] ## Start as the empty list list.append('a') ## Use append() to add elements list.append('b') L is t S lic e s list = ['a', 'b', 'c', 'd'] print list[1:-1] ## ['b', 'c'] Day 1
  • 22. Data Structure : list methods >>> list = ['larry', 'curly', 'moe'] >>> list.append('shemp') ## append elem at end >>> list.insert(0, 'xxx') ## insert elem at index 0 >>> list.extend(['yyy', 'zzz']) ## add list of elems at end >>> print list ## ['xxx', 'larry', 'curly', 'moe', 'shemp', 'yyy', 'zzz'] Day 1
  • 23. Data Structure : iterations over list Using for loop for var in list >>> squares = [1, 4, 9, 16] >>> sum = 0 >>> for num in squares: >>> … sum += num >>> … print sum ## 30 Day 1
  • 24. Data Structure : dict Python's efficient key/value hash table structure is called a "dict" The contents of a dict can be written as a series of key:value pairs e.g. dict = {key1:value1, key2:value2, ... } The "empty dict" is just an empty pair of curly braces {} Looking up or setting a value in a dict uses square brackets. e.g. dict['foo'] Day 1
  • 25. Data Structure : creating dict ## Can build up a dict by starting with the the empty dict {} ## and storing key/value pairs into the dict like this: ## dict[key] = value-for-that-key dict = {} dict['a'] = 'alpha' dict['g'] = 'gamma' dict['o'] = 'omega' Day 1
  • 26. Data Structure : Iteration on key or value ## By default, iterating over a dict iterates over its keys. ## Note that the keys are in a random order. for key in dict: print key ## prints a g o ## Exactly the same as above for key in dict.keys(): print key Day 1
  • 27. Data Structure: Iteration on key and value ## This loop syntax accesses the whole dict by looping ## over the .items() tuple list, accessing one (key, value) ## pair on each iteration. for k, v in dict.items(): print k, '>', v ## a > alpha o > omega g > gamma Day 1
  • 28. Data Structure : del an item var = 6 del var # var no more! list = ['a', 'b', 'c', 'd'] del list[0] ## Delete first element del list[-2:] ## Delete last two elements print list ## ['b'] Day 1
  • 29. Data Structure : sorting The easiest way to sort is with the sorted(list) function The sorted() function seems easier to use compared to sort() The sorted() function can be customized though optional arguments The sorted() optional argument reverse=True Custom Sorting With key= Day 1
  • 30. Data Structure : working with sorted( ) S o r t in g N u m b e r s a = [5, 1, 4, 3] print sorted(a) ## [1, 3, 4, 5] print a ## [5, 1, 4, 3] S o r t in g S t r in g strs = ['aa', 'BB', 'zz', 'CC'] print sorted(strs) ## ['BB', 'CC', 'aa', 'zz'] (case sensitive) Day 1
  • 31. Data Structure : Custom Sorting with key strs = ['ccc', 'aaaa', 'd', 'bb'] print sorted(strs, key=len) ## ['d', 'bb', 'ccc', 'aaaa'] Day 1
  • 32. Data Structure : Custom comparator ## Say we have a list of strings we want to sort by the last letter of the string. strs = ['xc', 'zb', 'yd' ,'wa'] ## Write a little function that takes a string, and returns its last letter. ## This will be the key function (takes in 1 value, returns 1 value). def MyComparator(s): Day 1
  • 33. Next Session ? Function Dynamic Functions Object Oriented Class Inheritance Method Overload, Override Python Packaging __init__.py Day 1
  • 34. Contact me... Mantavya Gajjar Phone : 94263 40093 Email : mail@mantavyagajjar.in Website : www.opentechnologies.in Follow on Twitter : @mantavyagajjar Day 1