This document provides an introduction and overview of the Python programming language. It discusses Python's origins in 1991 and heritage from languages like ABC, Tcl, and Perl. The document outlines Python's philosophy of coherence, power, and rapid development. Key Python features are summarized, including no compiling, dynamic typing, automatic memory management, and support for object-oriented, functional, and procedural programming. Example uses of Python like shell tools, system administration, GUIs, and web development are provided. The document also covers basic Python concepts like modules, statements, control flow, functions, strings, lists, dictionaries, and tuples.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and influences from other languages. Key features of Python mentioned include its rapid development cycle, automatic memory management, object-oriented programming support, and ability to be embedded in C/C++. The document also covers Python's basic syntax and data structures like lists, tuples, and dictionaries. It provides examples of control flow, functions, lambda forms, and list/dictionary methods.
This document provides an overview of the Python programming language. It discusses Python's origins in 1991 and heritage from teaching languages. Key Python features include rapid development without compiling, automatic memory management, high-level data types, object-oriented programming, and embedding in C. The document also covers Python syntax, basic programming constructs like functions and control flow, data structures like lists and dictionaries, and functional programming tools.
This document provides an overview of the Python programming language. It discusses Python's origins, philosophy, features, and uses. Key points include that Python is an interpreted, object-oriented scripting language designed for readability and rapid development. It has automatic memory management, high-level data types, and built-in interfaces for tasks like GUI development. The document also covers Python programming basics like modules, functions, control flow, and data structures like lists, tuples, and dictionaries.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and influences from other languages. Key features of Python mentioned include its rapid development cycle, automatic memory management, object-oriented programming support, and ability to be embedded in C/C++. The document also gives examples of common Python constructs like functions, control flow, lists, dictionaries, and modules.
This document provides an overview of the Python programming language. It discusses Python's origins in 1991 and heritage from languages like ABC and Tcl. Key features mentioned include rapid development cycle without compiling, automatic memory management, object-oriented programming, and embedding in C. The document also covers Python basics like data types, control flow, functions, modules, and lists/dictionaries. Common uses of Python include shell tools, system administration, rapid prototyping, and graphical user interfaces.
This document provides an overview of the Python programming language. It discusses Python's origins, philosophy, and features such as rapid development, object orientation, embedding in C, dynamic loading of modules, universal objects, and built-in interfaces to external services. The document also covers Python basics like data types, control flow, functions, modules, and exceptions. It provides examples of Python code and describes how to use Python in areas like shell tools, system administration, GUIs, databases, and distributed programming.
This document provides an overview of the Python programming language as presented in an advanced programming course at Columbia University in Spring 2002. It discusses Python's history and philosophy, features such as dynamic typing and memory management, basic syntax and programming constructs, functions, modules, and other language elements. The document is intended to introduce students to Python and provide an overview of its capabilities.
This document provides an overview of the Python programming language. It discusses Python's origins, philosophy, features, and uses. Key points include that Python is an interpreted, object-oriented scripting language designed for readability. It has automatic memory management, high-level data types, and support for procedural, object-oriented, and functional programming. Python can be used for tasks like shell scripting, system administration, rapid prototyping, web development, and more.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and influences from other languages. Key features of Python mentioned include its rapid development cycle, automatic memory management, object-oriented programming support, and ability to be embedded in C/C++. The document also covers Python's basic syntax and data structures like lists, tuples, and dictionaries. It provides examples of control flow, functions, lambda forms, and list/dictionary methods.
This document provides an overview of the Python programming language. It discusses Python's origins in 1991 and heritage from teaching languages. Key Python features include rapid development without compiling, automatic memory management, high-level data types, object-oriented programming, and embedding in C. The document also covers Python syntax, basic programming constructs like functions and control flow, data structures like lists and dictionaries, and functional programming tools.
This document provides an overview of the Python programming language. It discusses Python's origins, philosophy, features, and uses. Key points include that Python is an interpreted, object-oriented scripting language designed for readability and rapid development. It has automatic memory management, high-level data types, and built-in interfaces for tasks like GUI development. The document also covers Python programming basics like modules, functions, control flow, and data structures like lists, tuples, and dictionaries.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and influences from other languages. Key features of Python mentioned include its rapid development cycle, automatic memory management, object-oriented programming support, and ability to be embedded in C/C++. The document also gives examples of common Python constructs like functions, control flow, lists, dictionaries, and modules.
This document provides an overview of the Python programming language. It discusses Python's origins in 1991 and heritage from languages like ABC and Tcl. Key features mentioned include rapid development cycle without compiling, automatic memory management, object-oriented programming, and embedding in C. The document also covers Python basics like data types, control flow, functions, modules, and lists/dictionaries. Common uses of Python include shell tools, system administration, rapid prototyping, and graphical user interfaces.
This document provides an overview of the Python programming language. It discusses Python's origins, philosophy, and features such as rapid development, object orientation, embedding in C, dynamic loading of modules, universal objects, and built-in interfaces to external services. The document also covers Python basics like data types, control flow, functions, modules, and exceptions. It provides examples of Python code and describes how to use Python in areas like shell tools, system administration, GUIs, databases, and distributed programming.
This document provides an overview of the Python programming language as presented in an advanced programming course at Columbia University in Spring 2002. It discusses Python's history and philosophy, features such as dynamic typing and memory management, basic syntax and programming constructs, functions, modules, and other language elements. The document is intended to introduce students to Python and provide an overview of its capabilities.
This document provides an overview of the Python programming language. It discusses Python's origins, philosophy, features, and uses. Key points include that Python is an interpreted, object-oriented scripting language designed for readability. It has automatic memory management, high-level data types, and support for procedural, object-oriented, and functional programming. Python can be used for tasks like shell scripting, system administration, rapid prototyping, web development, and more.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and philosophy of being coherent, powerful, and easy to read and maintain. Key features of Python mentioned include rapid development, object orientation, embedding in C, dynamic typing, exceptions, and built-in interfaces to external services. The document also outlines some common uses of Python and examples of basic Python code structure, variables, operations, control flow, functions, and data types like lists, tuples, and dictionaries.
This document provides an overview of the Python programming language. It discusses Python's history and origins, philosophy of being readable and powerful, features like dynamic typing and automatic memory management, uses for shell tools, prototyping, GUIs and more. It also covers Python syntax, modules, functions, control flow, objects and data types like lists, dictionaries and tuples.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and philosophy of being readable, powerful, and allowing for rapid development. Key Python features highlighted include dynamic typing, automatic memory management, object-oriented programming, and extensive standard libraries. The document also provides examples of basic Python syntax like variables, strings, lists, functions, control flow, and dictionaries.
This document provides an overview of the Python programming language. It discusses Python's origins in 1991 and heritage from other languages like ABC and Tcl. Key features mentioned include Python being an object-oriented language, its readability, power for both rapid development and large systems, integration capabilities, and elements borrowed from other languages. Various applications of Python like shell tools, extensions, GUI development, and scripting are also listed.
This document provides an overview of the Python programming language. It discusses that Python is a popular, object-oriented scripting language that emphasizes code readability. The document summarizes key Python features such as rapid development, automatic memory management, object-oriented programming, and embedding/extending with C. It also outlines common uses of Python and when it may not be suitable.
Python classes in mumbai
best Python classes in mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
This document provides an overview of programming tools and how to use them. It discusses compilers, linkers, libraries, debugging tools like gdb and strace, profiling tools like top, version control with cvs, and more. It explains what each tool is used for at a high level and provides some basic usage examples.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins, philosophy, features, and uses. Key points covered include Python's simplicity, power, object-oriented approach, and wide portability. Examples are provided of basic Python syntax and constructs like strings, lists, functions, modules, and dictionaries.
This document discusses arrays and structures. It begins by defining an array as a set of index and value pairs where each index has an associated value. Arrays can be implemented using consecutive memory locations. Structures allow grouping of different data types together. Self-referential structures have one or more components that point back to the structure itself. Examples of abstract data types discussed include arrays, polynomials, and sparse matrices. Common operations on these data types like addition, multiplication, and transposition are also described.
Parallel R in snow (english after 2nd slide)Cdiscount
This presentation discusses parallelizing computations in R using the snow package. It demonstrates how to:
1. Create a cluster with multiple R sessions using makeCluster()
2. Split data across the sessions using clusterSplit() and export data to each node
3. Write functions to execute in parallel on each node using clusterEvalQ()
4. Collect the results, such as by summing outputs, to obtain the final parallelized computation. As an example, it shows how to parallelize the likelihood calculation for a probit regression model, reducing the computation time.
The main challenge of concurrent software verification has always been in achieving modularity, i.e., the ability to divide and conquer the correctness proofs with the goal of scaling the verification effort. Types are a formal method well-known for its ability to modularize programs, and in the case of dependent types, the ability to modularize and scale complex mathematical proofs.
In this talk I will present our recent work towards reconciling dependent types with shared memory concurrency, with the goal of achieving modular proofs for the latter. Applying the type-theoretic paradigm to concurrency has lead us to view separation logic as a type theory of state, and has motivated novel abstractions for expressing concurrency proofs based on the algebraic structure of a resource and on structure-preserving functions (i.e., morphisms) between resources.
Compiler Construction | Lecture 12 | Virtual MachinesEelco Visser
The document discusses the architecture of the Java Virtual Machine (JVM). It describes how the JVM uses threads, a stack, heap, and method area. It explains JVM control flow through bytecode instructions like goto, and how the operand stack is used to perform operations and hold method arguments and return values.
The document describes the AlexNet neural network architecture and its application to classifying images from the Fashion-MNIST dataset. It constructs an AlexNet model, loads and preprocesses the Fashion-MNIST data, and trains the model on this dataset for 5 epochs. Key aspects covered include the convolutional and pooling layers in AlexNet, reading and transforming the Fashion-MNIST data, calculating training and test accuracy, and observing slower progress during training compared to LeNet due to the larger image size.
These are slides from the Dec 17 SF Bay Area Julia Users meeting [1]. Ehsan Totoni presented the ParallelAccelerator Julia package, a compiler that performs aggressive analysis and optimization on top of the Julia compiler. Ehsan is a Research Scientist at Intel Labs working on the High Performance Scripting project.
[1] http://www.meetup.com/Bay-Area-Julia-Users/events/226531171/
ComputeFest 2012: Intro To R for Physical Sciencesalexstorer
This document provides an introduction to the R programming language presented by Alex Storer at ComputeFest 2012. It discusses why R should be used over other languages like MATLAB and Python, provides examples of basic R syntax and functions, and walks through an example of loading climate data and creating plots to visualize rainfall anomalies over time. The goal is to provide attendees with a foundation of R basics while working through a real data analysis problem.
This document provides an introduction to the basics of R programming. It begins with quizzes to assess the reader's familiarity with R and related topics. It then covers key R concepts like data types, data structures, importing and exporting data, control flow, functions, and parallel computing. The document aims to equip readers with fundamental R skills and directs them to online resources for further learning.
Accelerating Random Forests in Scikit-LearnGilles Louppe
Random Forests are without contest one of the most robust, accurate and versatile tools for solving machine learning tasks. Implementing this algorithm properly and efficiently remains however a challenging task involving issues that are easily overlooked if not considered with care. In this talk, we present the Random Forests implementation developed within the Scikit-Learn machine learning library. In particular, we describe the iterative team efforts that led us to gradually improve our codebase and eventually make Scikit-Learn's Random Forests one of the most efficient implementations in the scientific ecosystem, across all libraries and programming languages. Algorithmic and technical optimizations that have made this possible include:
- An efficient formulation of the decision tree algorithm, tailored for Random Forests;
- Cythonization of the tree induction algorithm;
- CPU cache optimizations, through low-level organization of data into contiguous memory blocks;
- Efficient multi-threading through GIL-free routines;
- A dedicated sorting procedure, taking into account the properties of data;
- Shared pre-computations whenever critical.
Overall, we believe that lessons learned from this case study extend to a broad range of scientific applications and may be of interest to anybody doing data analysis in Python.
Declare Your Language: Virtual Machines & Code GenerationEelco Visser
The document summarizes virtual machines and code generation. It discusses how high-level programming languages are abstracted from low-level machine details through virtual machines. The Java Virtual Machine architecture and bytecode instructions are described, including its stack-based design, threads, heap, and method area. Code generation mechanics like string operations are also covered.
This document discusses fundamental concepts in data structures and algorithms including:
1) How to design algorithms by analyzing requirements, designing data objects and operations, and refining and coding programs.
2) Key criteria for algorithms including being unambiguous, terminating in a finite number of steps, and having basic instructions.
3) Abstract data types which separate the specification of objects and operations from their implementation.
4) Asymptotic analysis which classifies algorithms according to how their running time grows relative to the input size.
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and philosophy of being coherent, powerful, and easy to read and maintain. Key features of Python mentioned include rapid development, object orientation, embedding in C, dynamic typing, exceptions, and built-in interfaces to external services. The document also outlines some common uses of Python and examples of basic Python code structure, variables, operations, control flow, functions, and data types like lists, tuples, and dictionaries.
This document provides an overview of the Python programming language. It discusses Python's history and origins, philosophy of being readable and powerful, features like dynamic typing and automatic memory management, uses for shell tools, prototyping, GUIs and more. It also covers Python syntax, modules, functions, control flow, objects and data types like lists, dictionaries and tuples.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins and philosophy of being readable, powerful, and allowing for rapid development. Key Python features highlighted include dynamic typing, automatic memory management, object-oriented programming, and extensive standard libraries. The document also provides examples of basic Python syntax like variables, strings, lists, functions, control flow, and dictionaries.
This document provides an overview of the Python programming language. It discusses Python's origins in 1991 and heritage from other languages like ABC and Tcl. Key features mentioned include Python being an object-oriented language, its readability, power for both rapid development and large systems, integration capabilities, and elements borrowed from other languages. Various applications of Python like shell tools, extensions, GUI development, and scripting are also listed.
This document provides an overview of the Python programming language. It discusses that Python is a popular, object-oriented scripting language that emphasizes code readability. The document summarizes key Python features such as rapid development, automatic memory management, object-oriented programming, and embedding/extending with C. It also outlines common uses of Python and when it may not be suitable.
Python classes in mumbai
best Python classes in mumbai with job assistance.
our features are:
expert guidance by it industry professionals
lowest fees of 5000
practical exposure to handle projects
well equiped lab
after course resume writing guidance
This document provides an overview of programming tools and how to use them. It discusses compilers, linkers, libraries, debugging tools like gdb and strace, profiling tools like top, version control with cvs, and more. It explains what each tool is used for at a high level and provides some basic usage examples.
This document provides an introduction and overview of the Python programming language. It discusses Python's origins, philosophy, features, and uses. Key points covered include Python's simplicity, power, object-oriented approach, and wide portability. Examples are provided of basic Python syntax and constructs like strings, lists, functions, modules, and dictionaries.
This document discusses arrays and structures. It begins by defining an array as a set of index and value pairs where each index has an associated value. Arrays can be implemented using consecutive memory locations. Structures allow grouping of different data types together. Self-referential structures have one or more components that point back to the structure itself. Examples of abstract data types discussed include arrays, polynomials, and sparse matrices. Common operations on these data types like addition, multiplication, and transposition are also described.
Parallel R in snow (english after 2nd slide)Cdiscount
This presentation discusses parallelizing computations in R using the snow package. It demonstrates how to:
1. Create a cluster with multiple R sessions using makeCluster()
2. Split data across the sessions using clusterSplit() and export data to each node
3. Write functions to execute in parallel on each node using clusterEvalQ()
4. Collect the results, such as by summing outputs, to obtain the final parallelized computation. As an example, it shows how to parallelize the likelihood calculation for a probit regression model, reducing the computation time.
The main challenge of concurrent software verification has always been in achieving modularity, i.e., the ability to divide and conquer the correctness proofs with the goal of scaling the verification effort. Types are a formal method well-known for its ability to modularize programs, and in the case of dependent types, the ability to modularize and scale complex mathematical proofs.
In this talk I will present our recent work towards reconciling dependent types with shared memory concurrency, with the goal of achieving modular proofs for the latter. Applying the type-theoretic paradigm to concurrency has lead us to view separation logic as a type theory of state, and has motivated novel abstractions for expressing concurrency proofs based on the algebraic structure of a resource and on structure-preserving functions (i.e., morphisms) between resources.
Compiler Construction | Lecture 12 | Virtual MachinesEelco Visser
The document discusses the architecture of the Java Virtual Machine (JVM). It describes how the JVM uses threads, a stack, heap, and method area. It explains JVM control flow through bytecode instructions like goto, and how the operand stack is used to perform operations and hold method arguments and return values.
The document describes the AlexNet neural network architecture and its application to classifying images from the Fashion-MNIST dataset. It constructs an AlexNet model, loads and preprocesses the Fashion-MNIST data, and trains the model on this dataset for 5 epochs. Key aspects covered include the convolutional and pooling layers in AlexNet, reading and transforming the Fashion-MNIST data, calculating training and test accuracy, and observing slower progress during training compared to LeNet due to the larger image size.
These are slides from the Dec 17 SF Bay Area Julia Users meeting [1]. Ehsan Totoni presented the ParallelAccelerator Julia package, a compiler that performs aggressive analysis and optimization on top of the Julia compiler. Ehsan is a Research Scientist at Intel Labs working on the High Performance Scripting project.
[1] http://www.meetup.com/Bay-Area-Julia-Users/events/226531171/
ComputeFest 2012: Intro To R for Physical Sciencesalexstorer
This document provides an introduction to the R programming language presented by Alex Storer at ComputeFest 2012. It discusses why R should be used over other languages like MATLAB and Python, provides examples of basic R syntax and functions, and walks through an example of loading climate data and creating plots to visualize rainfall anomalies over time. The goal is to provide attendees with a foundation of R basics while working through a real data analysis problem.
This document provides an introduction to the basics of R programming. It begins with quizzes to assess the reader's familiarity with R and related topics. It then covers key R concepts like data types, data structures, importing and exporting data, control flow, functions, and parallel computing. The document aims to equip readers with fundamental R skills and directs them to online resources for further learning.
Accelerating Random Forests in Scikit-LearnGilles Louppe
Random Forests are without contest one of the most robust, accurate and versatile tools for solving machine learning tasks. Implementing this algorithm properly and efficiently remains however a challenging task involving issues that are easily overlooked if not considered with care. In this talk, we present the Random Forests implementation developed within the Scikit-Learn machine learning library. In particular, we describe the iterative team efforts that led us to gradually improve our codebase and eventually make Scikit-Learn's Random Forests one of the most efficient implementations in the scientific ecosystem, across all libraries and programming languages. Algorithmic and technical optimizations that have made this possible include:
- An efficient formulation of the decision tree algorithm, tailored for Random Forests;
- Cythonization of the tree induction algorithm;
- CPU cache optimizations, through low-level organization of data into contiguous memory blocks;
- Efficient multi-threading through GIL-free routines;
- A dedicated sorting procedure, taking into account the properties of data;
- Shared pre-computations whenever critical.
Overall, we believe that lessons learned from this case study extend to a broad range of scientific applications and may be of interest to anybody doing data analysis in Python.
Declare Your Language: Virtual Machines & Code GenerationEelco Visser
The document summarizes virtual machines and code generation. It discusses how high-level programming languages are abstracted from low-level machine details through virtual machines. The Java Virtual Machine architecture and bytecode instructions are described, including its stack-based design, threads, heap, and method area. Code generation mechanics like string operations are also covered.
This document discusses fundamental concepts in data structures and algorithms including:
1) How to design algorithms by analyzing requirements, designing data objects and operations, and refining and coding programs.
2) Key criteria for algorithms including being unambiguous, terminating in a finite number of steps, and having basic instructions.
3) Abstract data types which separate the specification of objects and operations from their implementation.
4) Asymptotic analysis which classifies algorithms according to how their running time grows relative to the input size.
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...kalichargn70th171
In today's business landscape, digital integration is ubiquitous, demanding swift innovation as a necessity rather than a luxury. In a fiercely competitive market with heightened customer expectations, the timely launch of flawless digital products is crucial for both acquisition and retention—any delay risks ceding market share to competitors.
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...The Third Creative Media
"Navigating Invideo: A Comprehensive Guide" is an essential resource for anyone looking to master Invideo, an AI-powered video creation tool. This guide provides step-by-step instructions, helpful tips, and comparisons with other AI video creators. Whether you're a beginner or an experienced video editor, you'll find valuable insights to enhance your video projects and bring your creative ideas to life.
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
python.ppt
1. 26-Aug-22 Advanced Programming
Spring 2002
Python
Henning Schulzrinne
Department of Computer Science
Columbia University
(based on tutorial by Guido van Rossum)
2. 26-Aug-22 Advanced Programming
Spring 2002
Introduction
Most recent popular
(scripting/extension) language
although origin ~1991
heritage: teaching language (ABC)
Tcl: shell
perl: string (regex) processing
object-oriented
rather than add-on (OOTcl)
3. 26-Aug-22 Advanced Programming
Spring 2002
Python philosophy
Coherence
not hard to read, write and maintain
power
scope
rapid development + large systems
objects
integration
hybrid systems
4. 26-Aug-22 Advanced Programming
Spring 2002
Python features
no compiling or linking rapid development cycle
no type declarations simpler, shorter, more flexible
automatic memory management garbage collection
high-level data types and
operations
fast development
object-oriented programming code structuring and reuse, C++
embedding and extending in C mixed language systems
classes, modules, exceptions "programming-in-the-large"
support
dynamic loading of C modules simplified extensions, smaller
binaries
dynamic reloading of C modules programs can be modified without
stopping
Lutz, Programming Python
5. 26-Aug-22 Advanced Programming
Spring 2002
Python features
universal "first-class" object model fewer restrictions and rules
run-time program construction handles unforeseen needs, end-
user coding
interactive, dynamic nature incremental development and
testing
access to interpreter information metaprogramming, introspective
objects
wide portability cross-platform programming
without ports
compilation to portable byte-code execution speed, protecting source
code
built-in interfaces to external
services
system tools, GUIs, persistence,
databases, etc.
Lutz, Programming Python
6. 26-Aug-22 Advanced Programming
Spring 2002
Python
elements from C++, Modula-3
(modules), ABC, Icon (slicing)
same family as Perl, Tcl, Scheme, REXX,
BASIC dialects
7. 26-Aug-22 Advanced Programming
Spring 2002
Uses of Python
shell tools
system admin tools, command line programs
extension-language work
rapid prototyping and development
language-based modules
instead of special-purpose parsers
graphical user interfaces
database access
distributed programming
Internet scripting
8. 26-Aug-22 Advanced Programming
Spring 2002
What not to use Python (and
kin) for
most scripting languages share these
not as efficient as C
but sometimes better built-in algorithms
(e.g., hashing and sorting)
delayed error notification
lack of profiling tools
9. 26-Aug-22 Advanced Programming
Spring 2002
Using python
/usr/local/bin/python
#! /usr/bin/env python
interactive use
Python 1.6 (#1, Sep 24 2000, 20:40:45) [GCC 2.95.1 19990816 (release)] on sunos5
Copyright (c) 1995-2000 Corporation for National Research Initiatives.
All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
>>>
python –c command [arg] ...
python –i script
read script first, then interactive
10. 26-Aug-22 Advanced Programming
Spring 2002
Python structure
modules: Python source files or C extensions
import, top-level via from, reload
statements
control flow
create objects
indentation matters – instead of {}
objects
everything is an object
automatically reclaimed when no longer needed
11. 26-Aug-22 Advanced Programming
Spring 2002
First example
#!/usr/local/bin/python
# import systems module
import sys
marker = '::::::'
for name in sys.argv[1:]:
input = open(name, 'r')
print marker + name
print input.read()
12. 26-Aug-22 Advanced Programming
Spring 2002
Basic operations
Assignment:
size = 40
a = b = c = 3
Numbers
integer, float
complex numbers: 1j+3, abs(z)
Strings
'hello world', 'it's hot'
"bye world"
continuation via or use """ long text """"
13. 26-Aug-22 Advanced Programming
Spring 2002
String operations
concatenate with + or neighbors
word = 'Help' + x
word = 'Help' 'a'
subscripting of strings
'Hello'[2] 'l'
slice: 'Hello'[1:2] 'el'
word[-1] last character
len(word) 5
immutable: cannot assign to subscript
14. 26-Aug-22 Advanced Programming
Spring 2002
Lists
lists can be heterogeneous
a = ['spam', 'eggs', 100, 1234, 2*2]
Lists can be indexed and sliced:
a[0] spam
a[:2] ['spam', 'eggs']
Lists can be manipulated
a[2] = a[2] + 23
a[0:2] = [1,12]
a[0:0] = []
len(a) 5
15. 26-Aug-22 Advanced Programming
Spring 2002
Basic programming
a,b = 0, 1
# non-zero = true
while b < 10:
# formatted output, without n
print b,
# multiple assignment
a,b = b, a+b
16. 26-Aug-22 Advanced Programming
Spring 2002
Control flow: if
x = int(raw_input("Please enter #:"))
if x < 0:
x = 0
print 'Negative changed to zero'
elif x == 0:
print 'Zero'
elif x == 1:
print 'Single'
else:
print 'More'
no case statement
17. 26-Aug-22 Advanced Programming
Spring 2002
Control flow: for
a = ['cat', 'window', 'defenestrate']
for x in a:
print x, len(x)
no arithmetic progression, but
range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(len(a)):
print i, a[i]
do not modify the sequence being iterated
over
18. 26-Aug-22 Advanced Programming
Spring 2002
Loops: break, continue, else
break and continue like C
else after loop exhaustion
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 prime'
20. 26-Aug-22 Advanced Programming
Spring 2002
Defining functions
def fib(n):
"""Print a Fibonacci series up to n."""
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
>>> fib(2000)
First line is docstring
first look for variables in local, then global
need global to assign global variables
21. 26-Aug-22 Advanced Programming
Spring 2002
Functions: default argument
values
def ask_ok(prompt, retries=4,
complaint='Yes or no, please!'):
while 1:
ok = raw_input(prompt)
if ok in ('y', 'ye', 'yes'): return 1
if ok in ('n', 'no'): return 0
retries = retries - 1
if retries < 0: raise IOError,
'refusenik error'
print complaint
>>> ask_ok('Really?')
22. 26-Aug-22 Advanced Programming
Spring 2002
Keyword arguments
last arguments can be given as keywords
def parrot(voltage, state='a stiff', action='voom',
type='Norwegian blue'):
print "-- This parrot wouldn't", action,
print "if you put", voltage, "Volts through it."
print "Lovely plumage, the ", type
print "-- It's", state, "!"
parrot(1000)
parrot(action='VOOOM', voltage=100000)
23. 26-Aug-22 Advanced Programming
Spring 2002
Lambda forms
anonymous functions
may not work in older versions
def make_incrementor(n):
return lambda x: x + n
f = make_incrementor(42)
f(0)
f(1)
24. 26-Aug-22 Advanced Programming
Spring 2002
List methods
append(x)
extend(L)
append all items in list (like Tcl lappend)
insert(i,x)
remove(x)
pop([i]), pop()
create stack (FIFO), or queue (LIFO) pop(0)
index(x)
return the index for value x
25. 26-Aug-22 Advanced Programming
Spring 2002
List methods
count(x)
how many times x appears in list
sort()
sort items in place
reverse()
reverse list
26. 26-Aug-22 Advanced Programming
Spring 2002
Functional programming tools
filter(function, sequence)
def f(x): return x%2 != 0 and x%3 0
filter(f, range(2,25))
map(function, sequence)
call function for each item
return list of return values
reduce(function, sequence)
return a single value
call binary function on the first two items
then on the result and next item
iterate
27. 26-Aug-22 Advanced Programming
Spring 2002
List comprehensions (2.0)
Create lists without map(),
filter(), lambda
= expression followed by for clause +
zero or more for or of clauses
>>> vec = [2,4,6]
>>> [3*x for x in vec]
[6, 12, 18]
>>> [{x: x**2} for x in vec}
[{2: 4}, {4: 16}, {6: 36}]
28. 26-Aug-22 Advanced Programming
Spring 2002
List comprehensions
cross products:
>>> vec1 = [2,4,6]
>>> vec2 = [4,3,-9]
>>> [x*y for x in vec1 for y in vec2]
[8,6,-18, 16,12,-36, 24,18,-54]
>>> [x+y for x in vec1 and y in vec2]
[6,5,-7,8,7,-5,10,9,-3]
>>> [vec1[i]*vec2[i] for i in
range(len(vec1))]
[8,12,-54]
29. 26-Aug-22 Advanced Programming
Spring 2002
List comprehensions
can also use if:
>>> [3*x for x in vec if x > 3]
[12, 18]
>>> [3*x for x in vec if x < 2]
[]
30. 26-Aug-22 Advanced Programming
Spring 2002
del – removing list items
remove by index, not value
remove slices from list (rather than by
assigning an empty list)
>>> a = [-1,1,66.6,333,333,1234.5]
>>> del a[0]
>>> a
[1,66.6,333,333,1234.5]
>>> del a[2:4]
>>> a
[1,66.6,1234.5]
31. 26-Aug-22 Advanced Programming
Spring 2002
Tuples and sequences
lists, strings, tuples: examples of
sequence type
tuple = values separated by commas
>>> t = 123, 543, 'bar'
>>> t[0]
123
>>> t
(123, 543, 'bar')
32. 26-Aug-22 Advanced Programming
Spring 2002
Tuples
Tuples may be nested
>>> u = t, (1,2)
>>> u
((123, 542, 'bar'), (1,2))
kind of like structs, but no element names:
(x,y) coordinates
database records
like strings, immutable can't assign to
individual items
34. 26-Aug-22 Advanced Programming
Spring 2002
Tuples
sequence unpacking distribute
elements across variables
>>> t = 123, 543, 'bar'
>>> x, y, z = t
>>> x
123
packing always creates tuple
unpacking works for any sequence
35. 26-Aug-22 Advanced Programming
Spring 2002
Dictionaries
like Tcl or awk associative arrays
indexed by keys
keys are any immutable type: e.g., tuples
but not lists (mutable!)
uses 'key: value' notation
>>> tel = {'hgs' : 7042, 'lennox': 7018}
>>> tel['cs'] = 7000
>>> tel
36. 26-Aug-22 Advanced Programming
Spring 2002
Dictionaries
no particular order
delete elements with del
>>> del tel['foo']
keys() method unsorted list of keys
>>> tel.keys()
['cs', 'lennox', 'hgs']
use has_key() to check for existence
>>> tel.has_key('foo')
0
37. 26-Aug-22 Advanced Programming
Spring 2002
Conditions
can check for sequence membership with is
and is not:
>>> if (4 in vec):
... print '4 is'
chained comparisons: a less than b AND b
equals c:
a < b == c
and and or are short-circuit operators:
evaluated from left to right
stop evaluation as soon as outcome clear
38. 26-Aug-22 Advanced Programming
Spring 2002
Conditions
Can assign comparison to variable:
>>> s1,s2,s3='', 'foo', 'bar'
>>> non_null = s1 or s2 or s3
>>> non_null
foo
Unlike C, no assignment within
expression
39. 26-Aug-22 Advanced Programming
Spring 2002
Comparing sequences
unlike C, can compare sequences (lists,
tuples, ...)
lexicographical comparison:
compare first; if different outcome
continue recursively
subsequences are smaller
strings use ASCII comparison
can compare objects of different type, but
by type name (list < string < tuple)
41. 26-Aug-22 Advanced Programming
Spring 2002
Modules
collection of functions and variables,
typically in scripts
definitions can be imported
file name is module name + .py
e.g., create module fibo.py
def fib(n): # write Fib. series up to n
...
def fib2(n): # return Fib. series up to n
42. 26-Aug-22 Advanced Programming
Spring 2002
Modules
import module:
import fibo
Use modules via "name space":
>>> fibo.fib(1000)
>>> fibo.__name__
'fibo'
can give it a local name:
>>> fib = fibo.fib
>>> fib(500)
43. 26-Aug-22 Advanced Programming
Spring 2002
Modules
function definition + executable statements
executed only when module is imported
modules have private symbol tables
avoids name clash for global variables
accessible as module.globalname
can import into name space:
>>> from fibo import fib, fib2
>>> fib(500)
can import all names defined by module:
>>> from fibo import *
44. 26-Aug-22 Advanced Programming
Spring 2002
Module search path
current directory
list of directories specified in PYTHONPATH
environment variable
uses installation-default if not defined, e.g.,
.:/usr/local/lib/python
uses sys.path
>>> import sys
>>> sys.path
['', 'C:PROGRA~1Python2.2', 'C:Program
FilesPython2.2DLLs', 'C:Program
FilesPython2.2lib', 'C:Program
FilesPython2.2liblib-tk', 'C:Program
FilesPython2.2', 'C:Program FilesPython2.2libsite-
packages']
45. 26-Aug-22 Advanced Programming
Spring 2002
Compiled Python files
include byte-compiled version of module if
there exists fibo.pyc in same directory as
fibo.py
only if creation time of fibo.pyc matches
fibo.py
automatically write compiled file, if possible
platform independent
doesn't run any faster, but loads faster
can have only .pyc file hide source
46. 26-Aug-22 Advanced Programming
Spring 2002
Standard modules
system-dependent list
always sys module
>>> import sys
>>> sys.p1
'>>> '
>>> sys.p2
'... '
>>> sys.path.append('/some/directory')
48. 26-Aug-22 Advanced Programming
Spring 2002
Classes
mixture of C++ and Modula-3
multiple base classes
derived class can override any methods of its
base class(es)
method can call the method of a base class
with the same name
objects have private data
C++ terms:
all class members are public
all member functions are virtual
no constructors or destructors (not needed)
49. 26-Aug-22 Advanced Programming
Spring 2002
Classes
classes (and data types) are objects
built-in types cannot be used as base
classes by user
arithmetic operators, subscripting can
be redefined for class instances (like
C++, unlike Java)
50. 26-Aug-22 Advanced Programming
Spring 2002
Class definitions
Class ClassName:
<statement-1>
...
<statement-N>
must be executed
can be executed conditionally (see Tcl)
creates new namespace
51. 26-Aug-22 Advanced Programming
Spring 2002
Namespaces
mapping from name to object:
built-in names (abs())
global names in module
local names in function invocation
attributes = any following a dot
z.real, z.imag
attributes read-only or writable
module attributes are writeable
52. 26-Aug-22 Advanced Programming
Spring 2002
Namespaces
scope = textual region of Python program
where a namespace is directly accessible
(without dot)
innermost scope (first) = local names
middle scope = current module's global names
outermost scope (last) = built-in names
assignments always affect innermost scope
don't copy, just create name bindings to objects
global indicates name is in global scope
53. 26-Aug-22 Advanced Programming
Spring 2002
Class objects
obj.name references (plus module!):
class MyClass:
"A simple example class"
i = 123
def f(self):
return 'hello world'
>>> MyClass.i
123
MyClass.f is method object
54. 26-Aug-22 Advanced Programming
Spring 2002
Class objects
class instantiation:
>>> x = MyClass()
>>> x.f()
'hello world'
creates new instance of class
note x = MyClass vs. x = MyClass()
___init__() special method for
initialization of object
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart
55. 26-Aug-22 Advanced Programming
Spring 2002
Instance objects
attribute references
data attributes (C++/Java data
members)
created dynamically
x.counter = 1
while x.counter < 10:
x.counter = x.counter * 2
print x.counter
del x.counter
56. 26-Aug-22 Advanced Programming
Spring 2002
Method objects
Called immediately:
x.f()
can be referenced:
xf = x.f
while 1:
print xf()
object is passed as first argument of
function 'self'
x.f() is equivalent to MyClass.f(x)
57. 26-Aug-22 Advanced Programming
Spring 2002
Notes on classes
Data attributes override method
attributes with the same name
no real hiding not usable to
implement pure abstract data types
clients (users) of an object can add
data attributes
first argument of method usually called
self
'self' has no special meaning (cf. Java)
58. 26-Aug-22 Advanced Programming
Spring 2002
Another example
bag.py
class Bag:
def __init__(self):
self.data = []
def add(self, x):
self.data.append(x)
def addtwice(self,x):
self.add(x)
self.add(x)
59. 26-Aug-22 Advanced Programming
Spring 2002
Another example, cont'd.
invoke:
>>> from bag import *
>>> l = Bag()
>>> l.add('first')
>>> l.add('second')
>>> l.data
['first', 'second']
60. 26-Aug-22 Advanced Programming
Spring 2002
Inheritance
class DerivedClassName(BaseClassName)
<statement-1>
...
<statement-N>
search class attribute, descending chain
of base classes
may override methods in the base class
call directly via BaseClassName.method
61. 26-Aug-22 Advanced Programming
Spring 2002
Multiple inheritance
class DerivedClass(Base1,Base2,Base3):
<statement>
depth-first, left-to-right
problem: class derived from two classes
with a common base class
62. 26-Aug-22 Advanced Programming
Spring 2002
Private variables
No real support, but textual
replacement (name mangling)
__var is replaced by
_classname_var
prevents only accidental modification,
not true protection
63. 26-Aug-22 Advanced Programming
Spring 2002
~ C structs
Empty class definition:
class Employee:
pass
john = Employee()
john.name = 'John Doe'
john.dept = 'CS'
john.salary = 1000
64. 26-Aug-22 Advanced Programming
Spring 2002
Exceptions
syntax (parsing) errors
while 1 print 'Hello World'
File "<stdin>", line 1
while 1 print 'Hello World'
^
SyntaxError: invalid syntax
exceptions
run-time errors
e.g., ZeroDivisionError,
NameError, TypeError
65. 26-Aug-22 Advanced Programming
Spring 2002
Handling exceptions
while 1:
try:
x = int(raw_input("Please enter a number: "))
break
except ValueError:
print "Not a valid number"
First, execute try clause
if no exception, skip except clause
if exception, skip rest of try clause and use except
clause
if no matching exception, attempt outer try
statement
66. 26-Aug-22 Advanced Programming
Spring 2002
Handling exceptions
try.py
import sys
for arg in sys.argv[1:]:
try:
f = open(arg, 'r')
except IOError:
print 'cannot open', arg
else:
print arg, 'lines:', len(f.readlines())
f.close
e.g., as python try.py *.py