Introduction to python -easiest way to understand python for beginners
What is Python…?
Differences between programming and scripting language
Programming Paradigms
History of Python
Scope of Python
Why do people use Python?
Installing Python
This presentation provides the information on python including the topics Python features, applications, variables and operators in python, control statements, numbers, strings, print formatting, list and list comprehension, dictionaries, tuples, files, sets, boolean, mehtods and functions, lambda expressions and a sample project using Python.
Introduction to python -easiest way to understand python for beginners
What is Python…?
Differences between programming and scripting language
Programming Paradigms
History of Python
Scope of Python
Why do people use Python?
Installing Python
This presentation provides the information on python including the topics Python features, applications, variables and operators in python, control statements, numbers, strings, print formatting, list and list comprehension, dictionaries, tuples, files, sets, boolean, mehtods and functions, lambda expressions and a sample project using Python.
This Edureka Python tutorial is a part of Python Course (Python Tutorial Blog: https://goo.gl/wd28Zr) and will help you in understanding what exactly is Python and its various applications. It also explains few Python code basics like data types, operators etc. Below are the topics covered in this tutorial:
1. Introduction to Python
2. Various Python Features
3. Python Applications
4. Python for Web Scraping
5. Python for Testing
6. Python for Web Development
7. Python for Data Analysis
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYAMaulik Borsaniya
Introduction to Python:
The basic elements of Python, Objects, expressions and numerical Types, Variables and assignments, IDLE, Branching programs, Strings and Input, Iteration
Structured Types, Mutability and Higher-order Functions:
Tuples, Lists and Mutability, Functions as Objects, Strings, Tuples and Lists, Dictionaries
Python 101: Python for Absolute Beginners (PyTexas 2014)Paige Bailey
If you're absolutely new to Python, and to programming in general, this is the place to start!
Here's the breakdown: by the end of this workshop, you'll have Python downloaded onto your personal machine; have a general idea of what Python can help you do; be pointed in the direction of some excellent practice materials; and have a basic understanding of the syntax of the language.
Please don't forget to bring your laptop!
Audience: "Python 101" is geared toward individuals who are new to programming. If you've had some programming experience (shell scripting, MATLAB, Ruby, etc.), then you'll probably want to check out the more intermediate workshop, "Python 101++".
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Edureka!
( Python Training : https://www.edureka.co/python )
This Edureka “Python Programming" introduces you to Python by giving you enough reasons to learn it. It will then take you to its various fundamentals along with a practical demonstrating the various libraries such as Numpy, Pandas, Matplotlib and Seaborn. This video helps you to learn the below topics:
1. Why should you go for Python?
2. Introduction to Python Programming Language
3. How to work with Jupyter?
4. Python Programming Fundamentals: Operators & Data Types
5. Libraries: Numpy, Pandas, Matplotlib, Seaborn
Python programming | Fundamentals of Python programming KrishnaMildain
Basic Fundamentals of Python Programming.
What is Python, History of python, Advantages, Disadvantages, feature of python, scope, and many more.
Data Structure using Python, Object Oriented Programming using
This Presentation Helps for the beginners to understand easily Python Programming Language, because i had given an snapshot of each concepts. Those who are knowing C,C++ and Java they can easily understand my presentation.
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed.
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
This Edureka Python tutorial is a part of Python Course (Python Tutorial Blog: https://goo.gl/wd28Zr) and will help you in understanding what exactly is Python and its various applications. It also explains few Python code basics like data types, operators etc. Below are the topics covered in this tutorial:
1. Introduction to Python
2. Various Python Features
3. Python Applications
4. Python for Web Scraping
5. Python for Testing
6. Python for Web Development
7. Python for Data Analysis
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYAMaulik Borsaniya
Introduction to Python:
The basic elements of Python, Objects, expressions and numerical Types, Variables and assignments, IDLE, Branching programs, Strings and Input, Iteration
Structured Types, Mutability and Higher-order Functions:
Tuples, Lists and Mutability, Functions as Objects, Strings, Tuples and Lists, Dictionaries
Python 101: Python for Absolute Beginners (PyTexas 2014)Paige Bailey
If you're absolutely new to Python, and to programming in general, this is the place to start!
Here's the breakdown: by the end of this workshop, you'll have Python downloaded onto your personal machine; have a general idea of what Python can help you do; be pointed in the direction of some excellent practice materials; and have a basic understanding of the syntax of the language.
Please don't forget to bring your laptop!
Audience: "Python 101" is geared toward individuals who are new to programming. If you've had some programming experience (shell scripting, MATLAB, Ruby, etc.), then you'll probably want to check out the more intermediate workshop, "Python 101++".
Learn Python Programming | Python Programming - Step by Step | Python for Beg...Edureka!
( Python Training : https://www.edureka.co/python )
This Edureka “Python Programming" introduces you to Python by giving you enough reasons to learn it. It will then take you to its various fundamentals along with a practical demonstrating the various libraries such as Numpy, Pandas, Matplotlib and Seaborn. This video helps you to learn the below topics:
1. Why should you go for Python?
2. Introduction to Python Programming Language
3. How to work with Jupyter?
4. Python Programming Fundamentals: Operators & Data Types
5. Libraries: Numpy, Pandas, Matplotlib, Seaborn
Python programming | Fundamentals of Python programming KrishnaMildain
Basic Fundamentals of Python Programming.
What is Python, History of python, Advantages, Disadvantages, feature of python, scope, and many more.
Data Structure using Python, Object Oriented Programming using
This Presentation Helps for the beginners to understand easily Python Programming Language, because i had given an snapshot of each concepts. Those who are knowing C,C++ and Java they can easily understand my presentation.
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed.
The basics of Python are rather straightforward. In a few minutes you can learn most of the syntax. There are some gotchas along the way that might appear tricky. This talk is meant to bring programmers up to speed with Python. They should be able to read and write Python.
Semi-motivational talk about why today is a great time to learn Python. Slides include a brief overview of the current state of the language, its application areas, and Python's future.
This presentation is a part of the COP2271C college level course taught at the Florida Polytechnic University located in Lakeland Florida. The purpose of this course is to introduce Freshmen students to both the process of software development and to the Python language.
The course is one semester in length and meets for 2 hours twice a week. The Instructor is Dr. Jim Anderson.
A video of Dr. Anderson using these slides is available on YouTube at:https://www.youtube.com/watch?feature=player_embedded&v=_fdNoErxjBw
This slide deck that Mr. Minh Tran - KMS's Software Architect shared at "Java-Trends and Career Opportunities" seminar of Information Technology Center of HCMC University of Science.
Excellence Technology is one of the top ISO satisfied company in Chandigarh and Mohali . We provide Best industrial training Digital marketing, PHP.java, best web designing training ,software testing ,Python Course In Chandigarh etc . It can be provided 6 month and 28 days industrial training & tuition classes.
This is a presentation which is an introduction to python language.
The presentation is contributed by me for educational purpose and this presentation is
Only introduction.
The Basic python data types and how to use python for Data Science,
Excellence Technology is one of the best python training institute in Chandigarh. Python is one of the most trending technology in these days. It is a general purpose programming language. That’s why, you can use the programming language for developing both desktop and web applications. to become a full stack web developer is always the best choice. Excellence Technology is the top ISO Satisfied company in Chandigarh & Mohali. It provides best digital marketing training, PHP , Java, top Python course in Chandigarh and also providing 6months/3months/45days/28days industrial training with best practical knowledge.
Advanced level Python Course with 100% Job Assistance Guarantee Provided. We Have 3 Sessions Per Week And 90 Hours Certified Basic Python Classes In Thane Training Offered By Asterix Solution
Visit: http://www.asterixsolution.com/python-training-in-mumbai.html
Duration - 90 hrs
Sessions - 3 per week
Project - 3
Student - 12 per Batch
Introduction to Python for Security ProfessionalsAndrew McNicol
This webcast introduces Python for security professionals. The goal is to inspire others to push past the initial learning curve to harness the power of Python. This is just a quick glance at the power that awaits anyone willing to gain the skill. If you are looking for more resources check out DrapsTV's YouTube channel.
In Python, data types define the type of data that can be stored and manipulated in variables. Python is a dynamically typed language, meaning you don't need to explicitly declare the data type of a variable; Python infers it based on the value assigned to the variable.
Python Foundation – A programmer's introduction to Python concepts & styleKevlin Henney
This is a two-day course in Python programming aimed at professional programmers. The course material provided here is intended to be used by teachers of the language, but individual learners might find some of this useful as well.
The course assume the students already know some Python, but that they feel a need to establish a solid understanding of the language to further develop their skills.
The course is released under Creative Commons Attribution 4.0. Its primary location (along with some sample solutions and the original PowerPoint) is at https://github.com/JonJagger/two-day-courses/tree/master/pf
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Python - the basics
1. TRAINING PYTHON
INTRODUCTION TO PYTHON
(BASIC LEVEL)
Editor: Nguyễn Đức Minh Khôi
@HCMC University of Technology, September 2011
2. 9/2/2011 Training Python Chapte 0: Introduction to Python 1
TRAINING PYTHON
Chapter 0: INTRODUCTION TO PYTHON
3. 9/2/2011 Training Python Chapte 0: Introduction to Python 2
CONTENTS
Python in general
How Python program runs?
How to run Python?
4. 9/2/2011 Training Python Chapte 0: Introduction to Python 3
Python in general
• What is python?
• High level programming language
• Emphasize on code readability
• Very clear syntax + large and comprehensive standard library
• Use of indentation for block delimiters
• Multiprogramming paradigm: OO, imperative, functional,
procedural, reflective
• A fully dynamic type system and automatic memory management
• Scripting language + standalone executable program + interpreter
• Can run on many platform: Windows, Linux, Mactonish
• Updates:
• Newest version: 3.2.2 (CPython, JPython, IronPython)
• Website: www.python.org
5. 9/2/2011 Training Python Chapte 0: Introduction to Python 4
Python in general (Cont’)
• Advantages:
• Software quality
• Developer productivity
• Program portability
• Support libraries
• Component integration
• Enjoyment
• Disadvantages:
• not always be as fast as that of compiled languages such as C and
C++
6. 9/2/2011 Training Python Chapte 0: Introduction to Python 5
Python in general (Cont’)
• Applications of python:
7. 9/2/2011 Training Python Chapte 0: Introduction to Python 6
Python in general (Cont’)
• Python’s Capability:
• System Programming
• GUI
• Internet Scripting
• Component Integration
• Database Programming
• Rapid Prototyping
• Numeric and Scientific Programming
• Gaming, Images, Serial Ports, XML, Robots, and More
8. 9/2/2011 Training Python Chapte 0: Introduction to Python 7
How Python program runs?
Notice: pure Python code runs at speeds somewhere between those of
a traditional compiled language and a traditional interpreted language
9. 9/2/2011 Training Python Chapte 0: Introduction to Python 8
How to run Python?
• Install Python 3.2.2:
• Go to website:
http://www.python.org/download/ and
download the latest version of Python
• Run and install follow the instructions
of the .msi file
• If you successfully install, you will see
this picture:
• Coding Python:
• Not IDE support: use notepad++
http://notepad-plus-plus.org/
• Use IDE support: Eclipse (3.7) or
Netbeans (7.0)
10. 9/2/2011 Training Python Chapte 0: Introduction to Python 9
How to run Python? (Cont’)
• Install Eclipse: follow the instructions from this website:
http://wiki.eclipse.org/FAQ_Where_do_I_get_and_install_Eclipse%3F
(you should download the Eclipse Classics version)
• Install Pydev plugin for eclipse: follow this instruction:
http://pydev.org/manual_101_install.html
11. 9/2/2011 Training Python Chapte 0: Introduction to Python 10
THANKS FOR LISTENING
Editor: Nguyễn Đức Minh Khôi
Contact: nguyenducminhkhoi@gmail.com
Main reference: Part I – Getting Started
Learning Python – O’reilly
14. 5/22/2011 Training Python 3
Lists
• Ordered collections of arbitrary objects
• Accessed by offset
• Variable-length, heterogeneous, and arbitrarily nestable
• Of the category “mutable sequence”
• Arrays of object references
15. 5/22/2011 Training Python 4
Lists literals and operations
16. 5/22/2011 Training Python 5
Lists literals and operations (cont’)
17. 5/22/2011 Training Python 6
Dictionaries
• Accessed by key, not offset
• Accessed by key, not offset
• Variable-length, heterogeneous, and arbitrarily nestable
• Of the category “mutable mapping”
• Tables of object references (hash tables)
18. 5/22/2011 Training Python 7
Dictionaries literals and operations
19. 5/22/2011 Training Python 8
Dictionaries literals and operations (c)
20. 5/22/2011 Training Python 9
Tuples
• Ordered collections of arbitrary objects
• Accessed by offset
• Of the category “immutable sequence”
• Fixed-length, heterogeneous, and arbitrarily nestable
• Arrays of object references
21. 5/22/2011 Training Python 10
Tuples literals and operations
22. 5/22/2011 Training Python 11
Tuples literals and operations (con’t)
23. 5/22/2011 Training Python 12
Files – common operations
24. 2
NUMERIC TYPES
• Integers and floating-point numbers
• Complex numbers
• Fixed-precision decimal numbers
• Rational fraction numbers
• Sets
• Booleans
• Unlimited integer precision
• A variety of numeric built-ins and modules
27. Dynamic Typing
• Variables, Objects, References:
• Variables are entries in a system table, with spaces for links to
objects.
• Objects are pieces of allocated memory, with enough space to
represent the values for which they stand.
• References are automatically followed pointers from variables to
objects.
29. Dynamic Typing (Cont’) - Shared references
• Mutable types:
• Notices:
• It’s also just the default: if you don’t want such behavior, you can
request that Python copy objects instead of making references.
30. Dynamic Typing (Cont’) - Shared references
• Notices (next):
• “is” function returns False if the names point to equivalent but different
objects, as is the case when we run two different literal expressions.
• Small integers and strings are cached and reused, though, is tells us
they reference the same single object.
31. 5/22/2011 Training Python 13
Summary
• Object just classification
32. 5/22/2011 Training Python 14
Summary (con’t)
• Object Flexibility
• Lists, dictionaries, and tuples can hold any kind of object.
• Lists, dictionaries, and tuples can be arbitrarily nested.
• Lists and dictionaries can dynamically grow and shrink.
• Object copy
• Slice expressions with empty limits (L[:]) copy sequences.
• The dictionary and set copy method (X.copy()) copies a dictionary
or set.
• Some built-in functions, such as list, make copies (list(L)).
• The copy standard library module makes full copies.
33. 9/2/2011 Learning Python Chapter 1 1
THANKS FOR LISTENING
Editor: Nguy n Đ c Minh Khôi
Contact: nguyenducminhkhoi@gmail.com
Main reference: Part II – Types and Operations
Learning Python – O’reilly
34. 9/2/2011 Learning Python Chapter 2 1
TRAINING PYTHON
STATEMENTS AND SYNTAX
40. 9/2/2011 Learning Python Chapter 2 7
Assignment Statements
Assignment Properties:
• Assignments create object references
• Names are created when first assigned
• Names must be assigned before being referenced
• Some operations perform assignments implicitly
Assignment Statement Forms:
41. 9/2/2011 Learning Python Chapter 2 8
Variable name rules (opt)
• Syntax: (underscore or letter) + (any number of letters,
digits, or underscores)
• Case matters: SPAM is not the same as spam
• Reserved words are off-limits
44. 9/2/2011 Learning Python Chapter 2 11
Conditional Statements - IF
• General Format:
• The if/else ternary expression:
• Example:
45. 9/2/2011 Learning Python Chapter 2 12
IF Statements - Truth tests (opt)
Conditional expression:
• Any nonzero number or nonempty object is true.
• Zero numbers, empty objects, and the special object None are
considered false.
• Comparisons and equality tests are applied recursively to data
structures.
• Comparisons and equality tests return True or False (custom versions
of 1 and 0).
• Boolean “and” and “or” operators return a true or false operand
object.
46. 9/2/2011 Learning Python Chapter 2 13
IF Statements - Truth tests (opt) (Cont)
• “and” and “or” operands:
47. 9/2/2011 Learning Python Chapter 2 14
Loop Statements – while statements
• General while format:
• Notice:
48. 9/2/2011 Learning Python Chapter 2 15
Loop Statements – for statements
• General Format:
• Loop Coding Techniques:
• The built-in range function produces a series of successively higher
integers, which can be used as indexes in a for.
• The built-in zip function returns a series of parallel-item tuples,
which can be used to traverse multiple sequences in a for.
• Notice: for loops typically run quicker than while-based counter
loops, it’s to your advantage to use tools like these that allow you to
use for when possible.
50. 9/2/2011 Learning Python Chapter 2 17
Iterations and comprehensions
• Iterable:
• an object is considered iterable if it is either a physically stored
sequence or an object that produces one result at a time in the
context of an iteration tool like a for loop.
• iterable objects include both physical sequences and virtual
sequences computed on demand.
• Iterations:
• Any object with a __next__ method to advance to a next result,
which raises StopIteration at the end of the series of results, is
considered iterable in Python.
• Example:
51. 9/2/2011 Learning Python Chapter 2 18
List comprehension
• Example:
• (x + 10): arbitrary expression
• (for x in L): iterable object
• Extend List Comprehension:
54. 9/2/2011 Learning Python Chapter 2 21
THANKS FOR LISTENING
Editor: Nguyễn Đức Minh Khôi
Contact: nguyenducminhkhoi@gmail.com
Main reference: Part III – Statements and Syntax
Learning Python – O’reilly
55. 9/6/2011 Training Python Chapter 3 1
TRAINING PYTHON
Chapter 3: FUNCTION
56. 9/6/2011 Training Python Chapter 3 2
CONTENTS
Function Basics
Scope
Arguments
Function Advanced
Iterations and Comprehension Advanced
57. 9/6/2011 Training Python Chapter 3 3
Function Basics
• Function: A function is a device that groups a set of
statements so they can be run more than once in a
program.
• Why use?:
• Maximizing code reuse and minimizing redundancy
• Procedural decomposition
58. 9/6/2011 Training Python Chapter 3 4
Function Basics – def Statements
• General format:
• Use “def” statements:
59. 9/6/2011 Training Python Chapter 3 5
Function Basics – Examples
60. 9/6/2011 Training Python Chapter 3 6
Scopes
• Three different scopes
• If a variable is assigned inside a def, it is local to that function.
• If a variable is assigned in an enclosing def, it is nonlocal to nested
functions.
• If a variable is assigned outside all defs, it is global to the entire file.
• Notice:
• All names assigned inside a function def statement (or a lambda,
an expression we’ll meet later) are locals by default.
• Functions can freely use names as-signed in syntactically
enclosing functions and the global scope, but they must declare
such nonlocals and globals in order to change them.
61. 9/6/2011 Training Python Chapter 3 7
Scopes – the LEGB rules
62. 9/6/2011 Training Python Chapter 3 8
Scopes – examples
Global names: X, func
Local names: Y, Z
# The Built – in Scopes
63. 9/6/2011 Training Python Chapter 3 9
Scopes – Global statements
• Global Statement:
• Other ways to access Globals:
64. 9/6/2011 Training Python Chapter 3 10
Scopes – Global statements(Cont’)
65. 9/6/2011 Training Python Chapter 3 11
Scopes – Nested functions
• Factory function
• These terms refer to a function object that remembers values in enclosing
scopes regardless of whether those scopes are still present in memory.
66. 9/6/2011 Training Python Chapter 3 12
Scopes – Nested scope (Cont’)
• Nested scope and lambda:
67. 9/6/2011 Training Python Chapter 3 13
Scopes – Nonlocal statements
• The nonlocal statement:
• Is a close cousin to global
• Like global: nonlocal declares that a name will be changed in an
enclosing scope.
• Unlike global:
• nonlocal applies to a name in an enclosing function’s scope, not the
global module scope outside all defs.
• nonlocal names must already exist in the enclosing function’s scope
when declared
• Format:
69. 9/6/2011 Training Python Chapter 3 15
Arguments – Passing Basics
• Arguments are passed by automatically assigning objects to local
variable names.
• Assigning to argument names inside a function does not affect the
caller.
• Changing a mutable object argument in a function may impact the
caller.
• Immutable arguments are effectively passed “by value.”
• Mutable arguments are effectively passed “by pointer.”
70. 9/6/2011 Training Python Chapter 3 16
Arguments – Matching Modes
• Keyword-only arguments: arguments that must be passed by keyword
only and will never be filled in by a positional argument.
71. 9/6/2011 Training Python Chapter 3 17
Arguments - Examples
74. 9/6/2011 Training Python Chapter 3 20
Function Advanced
• General guidelines:
• Coupling: use arguments for inputs and return for outputs.
• Coupling: use global variables only when truly necessary.
• Coupling: don’t change mutable arguments unless the caller
expects it.
• Cohesion: each function should have a single, unified purpose.
• Size: each function should be relatively small.
• Coupling: avoid changing variables in another module file directly.
75. 9/6/2011 Training Python Chapter 3 21
Function Advanced - Recursions
• Examples:
• Alternatives:
76. 9/6/2011 Training Python Chapter 3 22
Function Advanced – Lambda Expression
• Lambda format:
• Use lambda for:
• inline a function definition
• defer execution of a piece of code
• Notices:
• lambda is an expression, not a statement
• lambda’s body is a single expression, not a block of statements.
• If you have larger logic to code, use def; lambda is for small pieces of
inline code. On the other hand, you may find these techniques useful in
moderation
• Examples:
77. 9/6/2011 Training Python Chapter 3 23
Lambda Expression (Cont’)
• Logic within lambda function:
• Nested lambda:
• Used with map function:
• Used with filter function:
• Used with reduce function:
78. 9/6/2011 Training Python Chapter 3 24
Iterations and Comprehension Part 2
• List Comprehension:
• Vs. Map:
• Vs. filter:
• Vs. Nested for:
79. 9/6/2011 Training Python Chapter 3 25
Iterations and Comprehension Part 2
• Generators:
• Generator functions: are coded as normal def statements but use
yield statements to return results one at a time, suspending and
resuming their state between each.
• Generator expressions: are similar to the list comprehensions
of the prior section, but they return an object that produces results
on demand instead of building a result list.
• Generator functions:
80. 9/6/2011 Training Python Chapter 3 26
Iterations and Comprehension Part 2
• Generator Expression:
81. 9/6/2011 Training Python Chapter 3 27
3.0 Comprehension Syntax
82. 9/6/2011 Training Python Chapter 3 28
Function Pitfall
• “List comprehensions were nearly twice as fast as equivalent for
loop statements, and map was slightly quicker than list
comprehensions when mapping a built-in function such as abs
(absolute value)”
• Python detects locals statically, when it compiles the def’s code,
rather than by noticing assignments as they happen at runtime.
83. 9/6/2011 Learning Python Chapter 2 29
THANKS FOR LISTENING
Editor: Nguyễn Đức Minh Khôi
Contact: nguyenducminhkhoi@gmail.com
Main reference: Part IV – Functions
Learning Python 4th Edition – O’reilly 2010
85. 9/15/2011 Training Python Chapter 4 2
Contents
Modules Basics
Modules Package
Modules in advance
86. 9/15/2011 Training Python Chapter 4 3
Modules Basics
• Modules are process with:
• import: Lets a client (importer) fetch a module as a whole
• from: Allows clients to fetch particular names from a module
• imp.reload: Provides a way to reload a module’s code without
stopping Python
• Why use Modules?
• Code reuse
• System namespace partitioning
• Implementing service or data
87. 9/15/2011 Training Python Chapter 4 4
Modules Basics – import statements
• How imports work?
1. Find the module’s file.
2. Compile it to byte code (if needed).
3. Run the module’s code to build the objects it defines.
• The Module Search Path:
1. The home directory of the program
2. PYTHONPATH directories (if set)
3. Standard library directories
4. The contents of any .pth files (if present)
88. 9/15/2011 Training Python Chapter 4 5
Modules Basics – create Modules
• In fact, both the names of module files and the names of
directories used in package must conform to the rules for
variable names:
• They may, for instance, contain only letters, digits, and
underscores.
• Package directories also cannot contain platform-specific syntax
such as spaces in their names.
• Modules in Python can be written in external languages
such as C/C++ in Cpython, Java in Jython, .net languages
in IronPython
89. 9/15/2011 Training Python Chapter 4 6
Modules Basics - Usages
• The import statement:
• The from statement:
• The from * statement
• The import happens only once
90. 9/15/2011 Training Python Chapter 4 7
Modules Basics – Usages (Con’t)
• Import assigns an entire module object to a single name.
• From assigns one or more names to objects of the same names in
another module.
Be careful:
91. 9/15/2011 Training Python Chapter 4 8
Modules Basics - namespaces
• Files generate Namespaces:
• Module statements run on the first import.
• Top-level assignments create module attributes.
• Module namespaces can be accessed via the attribute__dict__or dir(M)
• Modules are a single scope (local is global)
• Namespace nesting:
• In mod3.py:
• In mod2.py:
• In mod1.py:
92. 9/15/2011 Training Python Chapter 4 9
Modules Basics – reloading function
• Unlike import and from:
• reload is a function in Python, not a statement.
• reload is passed an existing module object, not a name.
• reload lives in a module in Python 3.0 and must be imported itself.
• How to use:
93. 9/15/2011 Training Python Chapter 4 10
Modules Basics – reload example
• In changer.py:
• Change global message variable:
•
94. 9/15/2011 Training Python Chapter 4 11
Modules package
• Package __init__.py files:
• Directory: dir0dir1dir2mod.py
• Import statement: import dir1.dir2.mod
• Rules:
• dir1 and dir2 both must contain an __init__.py file.
• dir0, the container, does not require an __init__.py file; this file will
simply be ignored if present.
• dir0, not dir0dir1, must be listed on the module search path (i.e., it must
be the home directory, or be listed in your PYTHONPATH, etc.).
• Present in tree mode:
95. 9/15/2011 Training Python Chapter 4 12
Modules package
• Relative import:
• instructs Python to import a module named spam located in the
same package directory as the file in which this statement appears.
• Sibling import:
96. 9/15/2011 Training Python Chapter 4 13
Modules In Advance – Data Hiding
• Minimizing from * Damage: _X and __all__
• you can prefix names with a single underscore (e.g., _X) to prevent
them from being copied out when a client imports a module’s
names with a from * statement.
• Enabling future language features
• Mixed Usage Modes: __name__ and __main__
• If the file is being run as a top-level program file, __name__ is set
to the string "__main__" when it starts.
• If the file is being imported instead, __name__ is set to the
module’s name as known by its clients
97. 9/15/2011 Training Python Chapter 4 14
Modules in Advance (Cont’)
• In runme.py:
• Unit Tests with __name__:
• we can wrap up the self-test call in a __name__ check, so that it
will be launched only when the file is run as a top-level script, not
when it is imported
98. 9/15/2011 Training Python Chapter 4 15
Modules in Advance (Cont’)
• The as Extension for import and from:
99. 9/15/2011 Training Python Chapter 4 16
Module Gotchas
• Statement Order Matters in Top-Level Code
• from Copies Names but Doesn’t Link
• from * Can Obscure the Meaning of Variables
• Recursive from Imports May Not Work
• You can usually eliminate import cycles like this by careful design—
maximizing cohesion and minimizing coupling are good first steps.
100. THANKS FOR LISTENING
Editor: Nguyễn Đức Minh Khôi
Contact: nguyenducminhkhoi@gmail.com
Main reference: Part V – Modules
Learning Python 4th Edition – O’reilly 2010
102. 9/18/2011 Training Python Chapter 5: Classes and OOP 2
Contents
Class Coding Basics
Class Coding Detail
Advanced Class topics
103. 9/18/2011 Training Python Chapter 5: Classes and OOP 3
Class Coding Basics
• OOP program must show:
• Abstraction (or sometimes called encapsulation)
• Inheritance (vs. composition)
• Polymorphism
• Class vs. Instance Object:
• Class: Serve as instance factories. Their attributes provide
behavior—data and functions—that is inherited by all the instances
generated from them.
• Instance: Represent the concrete items in a program’s domain.
Their attributes record data that varies per specific object
104. 9/18/2011 Training Python Chapter 5: Classes and OOP 4
Class Coding Basics (Cont’)
• Each class statement generates a new class object.
• Each time a class is called, it generates a new instance object.
• Instances are automatically linked to the classes from which they are created.
• Classes are linked to their superclasses by listing them in parentheses in a class
header line; the left-to-right order there gives the order in the tree.
105. 9/18/2011 Training Python Chapter 5: Classes and OOP 5
Class Coding Basics – Class trees
• Notice:
• Python uses multiple inheritance: if there is more than one
superclass listed in parentheses in a class statement (like C1’s
here), their left-to-right order gives the order in which those
superclasses will be searched for attributes.
• Attributes are usually attached to classes by assignments made
within class statements, and not nested inside function def
statements.
• Attributes are usually attached to instances by assignments to a
special argument passed to functions inside classes, called self.
106. 9/18/2011 Training Python Chapter 5: Classes and OOP 6
Class Coding Basics - Class vs. Instance
• Class Object:
• The class statement creates a class object and assigns it a name.
• Assignments inside class statements make class attributes.
• Class attributes provide object state and behavior.
• Instance Object:
• Calling a class object like a function makes a new instance object.
• Each instance object inherits class attributes and gets its own
namespace.
• Assignments to attributes of self in methods make per-instance
attributes.
108. 9/18/2011 Training Python Chapter 5: Classes and OOP 8
Class Coding Basics - Inheritance
• Attribute inheritance:
• Superclasses are listed in parentheses in a class header.
• Classes inherit attributes from their superclasses.
• Instances inherit attributes from all accessible classes.
• Each object.attribute reference invokes a new, independent search.
• Logic changes are made by subclassing, not by changing
superclasses.
110. 9/18/2011 Training Python Chapter 5: Classes and OOP 10
Class Coding Details
• Class statement:
Assigning names inside the class statement makes class attributes,
and nested defs make class methods, but other assignments make
attributes, too.
• Examples:
119. 9/18/2011 Training Python Chapter 5: Classes and OOP 19
Advanced Class topics - Relationships
• Is – relationship vs. has - relationship
In employees.py file
Express: inheritance
– is relationship
121. 9/18/2011 Training Python Chapter 5: Classes and OOP 21
Advanced Class topics – Extending built in types
• By embedding:
122. 9/18/2011 Training Python Chapter 5: Classes and OOP 22
Advanced Class topics – Extending built in types
• By subclassing:
123. 9/18/2011 Training Python Chapter 5: Classes and OOP 23
Advanced Class topics –
Diamond Inheritance
• Old and new style inheritance:
124. 9/18/2011 Training Python Chapter 5: Classes and OOP 24
Advanced Class topics –
Diamond Inheritance
• Explicit Conflict Resolution:
125. 9/18/2011 Training Python Chapter 5: Classes and OOP 25
Advanced Class topics –
static class method
• Notice:
126. 9/18/2011 Training Python Chapter 5: Classes and OOP 26
Advanced Class topics –
static and class method
127. 9/18/2011 Training Python Chapter 5: Classes and OOP 27
Advanced Class topics - Decorators
• Function decorators provide a way to specify special operation
modes for functions, by wrapping them in an extra layer of logic
implemented as another function.
• Syntax:
• Example:
129. 9/18/2011 Training Python Chapter 5: Classes and OOP 29
Advanced Class topics – Class gotchas
• Changing Class Attributes Can Have Side Effects
• Changing Mutable Class Attributes Can Have Side
Effects, Too
• Multiple Inheritance: Order Matters
• multiple inheritance works best when your mix-in classes are as
self-contained as possible—because they may be used in a variety
of contexts, they should not make assumptions about names
related to other classes in a tree.
130. THANKS FOR LISTENING
Editor: Nguyễn Đức Minh Khôi
Contact: nguyenducminhkhoi@gmail.com
Main reference: Part VI – Classes and OOP
Learning Python 4th Edition – O’reilly 2010