Автор доклада: Александр Сапронов.
Обзорный мини-доклад. В докладе вы найдете причину релиза 2.7.11 и новинки Python 3.5
Доклад сделан на 2 встрече сообщества PyNSK
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrainsit-people
The document discusses debugging in Python 3.6. It describes tracing and frame evaluation debuggers. Tracing debuggers slow code execution significantly by calling the tracing function on every line. Python 3.6 introduced a new frame evaluation API that allows evaluating frames directly, avoiding the performance issues of tracing. The document demonstrates how to build a debugger using this approach, including setting breakpoints and stepping through code by inserting temporary breakpoints on each line. Frame evaluation allows building a debugger that is faster than tracing debuggers without significant performance penalties.
Euro python2011 High Performance PythonIan Ozsvald
I ran this as a 4 hour tutorial at EuroPython 2011 to teach High Performance Python coding.
Techniques covered include bottleneck analysis by profiling, bytecode analysis, converting to C using Cython and ShedSkin, use of the numerical numpy library and numexpr, multi-core and multi-machine parallelisation and using CUDA GPUs.
Write-up with 49 page PDF report: http://ianozsvald.com/2011/06/29/high-performance-python-tutorial-v0-1-from-my-4-hour-tutorial-at-europython-2011/
The document discusses Python generators and how they can be used for iterating over lists, tuples, dictionaries, strings, files and custom iterable objects. It provides examples of using generators and the yield keyword to iterate over a countdown and generate values. The document also discusses two problems - analyzing log files using generators and finding files matching patterns using the os.walk generator.
This document provides an overview of the Go programming language including:
- A brief history of Go from its origins at Google in 2007 to current widespread usage.
- Key features of Go like functions, structs, interfaces, methods, slices, pointers, go-routines and channels.
- Examples of basic Go code demonstrating functions, structs, methods, interfaces, concurrency with go-routines and channels.
- Discussion of things missing from Go like classes, generics and exceptions.
- Quotes from developers commenting both positively and negatively on Go's simplicity and tradeoffs.
- Links to further resources like the Go tour to learn more.
The document discusses Python functions. It explains that functions allow programmers to define reusable blocks of code to perform tasks or operations. It provides examples of defining functions using def, passing parameters to functions, and how each function call creates a new stack frame. It also discusses how functions can return values and the concept that every function in Python returns something, even if it is None.
This document discusses Python and web frameworks. It begins with an introduction to Python and its advantages for web development. It then discusses several popular Python web frameworks including web.py, Flask, and Django. It also covers related topics like WSGI, templating with Jinja2, asynchronous programming, and deployment with virtualenv.
This document discusses various techniques for optimizing Python code, including:
1. Using the right algorithms and data structures to minimize time complexity, such as choosing lists, sets or dictionaries based on needed functionality.
2. Leveraging Python-specific optimizations like string concatenation, lookups, loops and imports.
3. Profiling code with tools like timeit, cProfile and visualizers to identify bottlenecks before optimizing.
4. Optimizing only after validating a performance need and starting with general strategies before rewriting hotspots in Python or other languages. Premature optimization can complicate code.
The document discusses various Python interpreters:
- CPython is the default interpreter but has a Global Interpreter Lock (GIL) limiting performance on multi-core systems.
- Jython and IronPython run Python on the JVM and CLR respectively, allowing true concurrency but can be slower than CPython.
- PyPy uses a just-in-time (JIT) compiler which can provide huge performance gains compared to CPython as shown on speed.pypy.org.
- Unladen Swallow aimed to add JIT compilation to CPython but was merged into Python 3.
«Отладка в Python 3.6: Быстрее, Выше, Сильнее» Елизавета Шашкова, JetBrainsit-people
The document discusses debugging in Python 3.6. It describes tracing and frame evaluation debuggers. Tracing debuggers slow code execution significantly by calling the tracing function on every line. Python 3.6 introduced a new frame evaluation API that allows evaluating frames directly, avoiding the performance issues of tracing. The document demonstrates how to build a debugger using this approach, including setting breakpoints and stepping through code by inserting temporary breakpoints on each line. Frame evaluation allows building a debugger that is faster than tracing debuggers without significant performance penalties.
Euro python2011 High Performance PythonIan Ozsvald
I ran this as a 4 hour tutorial at EuroPython 2011 to teach High Performance Python coding.
Techniques covered include bottleneck analysis by profiling, bytecode analysis, converting to C using Cython and ShedSkin, use of the numerical numpy library and numexpr, multi-core and multi-machine parallelisation and using CUDA GPUs.
Write-up with 49 page PDF report: http://ianozsvald.com/2011/06/29/high-performance-python-tutorial-v0-1-from-my-4-hour-tutorial-at-europython-2011/
The document discusses Python generators and how they can be used for iterating over lists, tuples, dictionaries, strings, files and custom iterable objects. It provides examples of using generators and the yield keyword to iterate over a countdown and generate values. The document also discusses two problems - analyzing log files using generators and finding files matching patterns using the os.walk generator.
This document provides an overview of the Go programming language including:
- A brief history of Go from its origins at Google in 2007 to current widespread usage.
- Key features of Go like functions, structs, interfaces, methods, slices, pointers, go-routines and channels.
- Examples of basic Go code demonstrating functions, structs, methods, interfaces, concurrency with go-routines and channels.
- Discussion of things missing from Go like classes, generics and exceptions.
- Quotes from developers commenting both positively and negatively on Go's simplicity and tradeoffs.
- Links to further resources like the Go tour to learn more.
The document discusses Python functions. It explains that functions allow programmers to define reusable blocks of code to perform tasks or operations. It provides examples of defining functions using def, passing parameters to functions, and how each function call creates a new stack frame. It also discusses how functions can return values and the concept that every function in Python returns something, even if it is None.
This document discusses Python and web frameworks. It begins with an introduction to Python and its advantages for web development. It then discusses several popular Python web frameworks including web.py, Flask, and Django. It also covers related topics like WSGI, templating with Jinja2, asynchronous programming, and deployment with virtualenv.
This document discusses various techniques for optimizing Python code, including:
1. Using the right algorithms and data structures to minimize time complexity, such as choosing lists, sets or dictionaries based on needed functionality.
2. Leveraging Python-specific optimizations like string concatenation, lookups, loops and imports.
3. Profiling code with tools like timeit, cProfile and visualizers to identify bottlenecks before optimizing.
4. Optimizing only after validating a performance need and starting with general strategies before rewriting hotspots in Python or other languages. Premature optimization can complicate code.
The document discusses various Python interpreters:
- CPython is the default interpreter but has a Global Interpreter Lock (GIL) limiting performance on multi-core systems.
- Jython and IronPython run Python on the JVM and CLR respectively, allowing true concurrency but can be slower than CPython.
- PyPy uses a just-in-time (JIT) compiler which can provide huge performance gains compared to CPython as shown on speed.pypy.org.
- Unladen Swallow aimed to add JIT compilation to CPython but was merged into Python 3.
The document appears to be notes from a study session, listing topics covered on different dates from May 10th to June 28th including Raspberry Pi hardware control with node.js, Windows 10 IoT study, workload automation, Python and Raspberry Pi. References are provided for additional reading on basic mathmatics, times tables, learning the J programming language on GitHub, a J programming language forum, and meetup events for a J/APL programming group.
In which Richard will tell you about some things you should never (probably ever) do to or in Python. Warranties may be voided. The recording of this talk is online at http://www.youtube.com/watch?v=H2yfXnUb1S4
~10min dive to Python Asynchronous IO
HTML version (recommended): https://dl.dropboxusercontent.com/u/1565687/speak/Python3%20AsyncIO%20Horizon/index.html
PyCon 2013 : Scripting to PyPi to GitHub and MoreMatt Harrison
This document discusses various aspects of developing and distributing Python projects, including versioning, configuration, logging, file input, shell invocation, environment layout, project layout, documentation, automation with Makefiles, packaging, testing, GitHub, Travis CI, and PyPI. It recommends using semantic versioning, the logging module, parsing files with the file object interface, invoking shell commands with subprocess, using virtualenv for sandboxed environments, Sphinx for documentation, Makefiles to automate tasks, setuptools for packaging, and GitHub, Travis CI and PyPI for distribution.
Gevent is a Python library that uses greenlets to provide a synchronous-looking API for asynchronous applications. It uses a single OS thread and event loop to handle many connections concurrently by switching between greenlets frequently. This allows applications to achieve high concurrency with low memory usage compared to multithreading. Gevent patches common libraries like sockets to be non-blocking and cooperative. When data is available on a socket, the socket's greenlet is resumed to process it rather than blocking the entire program.
The document discusses aliasing in Python programming. It explains that an alias is a second name for a piece of data. It provides examples of how aliasing can cause bugs when working with mutable data like lists, but not with immutable data. It also discusses why Python allows aliasing despite the potential for bugs - for efficiency when working with large data structures and because sometimes in-place updates are desired.
Reversing the dropbox client on windowsextremecoders
The document discusses reversing an obfuscated Dropbox Python client executable on Windows. It begins by unpacking the executable using py2exe to extract the embedded Python bytecode files (.pyc). The extracted .pyc files are encrypted, so the document explores dumping them from memory after the Dropbox Python interpreter decrypts them. This fails due to encryption of the bytecode. The document then leverages the PyPy Python implementation to successfully dump and decrypt one of the .pyc files. Further exploration of the PyCodeObject structure in a debugger reveals Dropbox has modified the layout to hinder reversing. A small program is used to find the actual offset of the encrypted bytecode within the PyCodeObject.
Python 3.0 introduces many backwards incompatible changes to the Python syntax and features to remove previous design mistakes and improve the language. Some key changes include print becoming a function, the introduction of bytes as a separate type from str, and the addition of the nonlocal keyword to allow modifying variables in nested functions. The document provides examples of how to port Python 2 code to Python 3 using the 2to3 refactoring tool.
The Ring programming language version 1.5.3 book - Part 25 of 184Mahmoud Samir Fayed
This document provides summaries of various file handling functions in Ring programming language including Read(), Write(), Dir(), Rename(), Remove(), fopen(), fclose(), fflush(), freopen(), tempfile(), tempname(), fseek(), ftell(), rewind(), fgetpos(), fsetpos(), clearerr(), feof(), ferror(), perror(), fgetc(), fgets(), fputc(), fputs(), ungetc(), fread(), fwrite(), fexists(), and describes how to use numbers and bytes with files. Examples are given to demonstrate the use of these functions for tasks like reading and writing files, getting directory listings, opening and closing files, seeking within files, and checking for errors.
This presentation was given online in July 2017 and will be given at the NY Java SIG later this year. It progressively builds on Java 8 concepts using puzzles and coding to give students confidence in their Java 8 stream/lambda skills. Handouts and code in https://github.com/boyarsky/java-8-streams-by-puzzles
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014Fantix King 王川
This document discusses Python asynchronous concurrency frameworks and their future. It compares Twisted, Tornado, Gevent, and the new asyncio module. Twisted and Tornado use callbacks while Gevent uses greenlets. asyncio aims to provide an event loop like Twisted. It also introduces coroutines, tasks, and futures. The document argues that asyncio could serve as a common event loop that existing frameworks adapt to for better interoperability in the future.
Functions, Exception, Modules and Files
Functions: Difference between a Function and a Method, Defining a Function, Calling a Function, Returning Results from a Function, Returning Multiple Values from a Function, Functions are First Class Objects, Pass by Object Reference, Formal and Actual Arguments, Positional Arguments, Keyword Arguments, Default Arguments, Variable Length Arguments, Local and Global Variables, The Global Keyword, Passing a Group of Elements to a Function, Recursive Functions, Anonymous Functions or Lambdas (Using Lambdas with filter() Function, Using Lambdas with map() Function, Using Lambdas with reduce() Function), Function Decorators, Generators, Structured Programming, Creating our Own Modules in Python, The Special Variable __name__
Exceptions: Errors in a Python Program (Compile-Time Errors, Runtime Errors, Logical Errors),Exceptions, Exception Handling, Types of Exceptions, The Except Block, The assert Statement, UserDefined Exceptions, Logging the Exceptions
20%
Files: Files, Types of Files in Python, Opening a File, Closing a File, Working with Text Files Containing Strings, Knowing Whether a File Exists or Not, Working with Binary Files, The with Statement, Pickle in Python, The seek() and tell() Methods, Random Accessing of Binary Files, Random Accessing of Binary Files using mmap, Zipping and Unzipping Files, Working with Directories, Running Other Programs from Python Program
The goal of this presentation is to broaden your knowledge of Python, exploring some concepts and techniques you might have never heard about. I won't go into too much detail, the goal is only to inspire you to research those features and patterns.
This presentation contains a quick tour in Python world. First by By comparing Java code, and the equivalent Python side by side, Second by listing some cool features in Python, finally by listing downs and ups of Python in usage; when to use python and when not.
Python is a popular programming language that is easy to learn and intuitive. It is well-suited for data science tasks. TensorFlow is a library for machine learning. The document provides an introduction and overview of Python basics like variables, data types, operators, and control structures. It also covers TensorFlow and how it can be used for neural network applications.
Cleanup and new optimizations in WPython 1.1PyCon Italia
This document summarizes optimizations and cleanup made to the WPython interpreter in version 1.1. Key changes include removing an unnecessary type object "hack" from version 1.0, fixing tracing for optimized loops, removing redundant checks and opcodes, adding new opcode functions, and implementing specialized opcodes for common patterns like comparisons.
This document discusses parallel, distributed, and asynchronous processing in enterprise clouds. It covers parallel programming with multi-core CPUs, distributed computing trends, and asynchronous programming techniques. Specifically, it discusses Java's ForkJoin framework, parallel programming in Java SE8 and .NET, and asynchronous programming methods.
Докладчик:
Владимир Донец (kwimba.ru)
Описание: Слышали про магию в Python? Одно из магических заклинаний называется дескрипторы. Мощная фича языка, которая позволяет определять свое поведение атрибута объекта при доступе к этому атрибуту.
Сложно звучит? А вы знали, что дескрипторами уже наверняка пользовались, если хотя бы раз писали на Python. Я расскажу о том, что такое дескрипторы и как их осознанно можно применять в собственном коде.
Докладчик:
Александр Сапронов
Описание:
Мы рассмотрим популярные библиотеки для функционального программирования на Python — fn.py, functools, itertools, funcy, hask, Toolz. Узнаем возможности каждой из библиотеки, а также как в динамическом язык имитировать мощную систему типов. Затронем характеристики функционального программирования и проверим помогают ли библиотеки выполнить.
The document appears to be notes from a study session, listing topics covered on different dates from May 10th to June 28th including Raspberry Pi hardware control with node.js, Windows 10 IoT study, workload automation, Python and Raspberry Pi. References are provided for additional reading on basic mathmatics, times tables, learning the J programming language on GitHub, a J programming language forum, and meetup events for a J/APL programming group.
In which Richard will tell you about some things you should never (probably ever) do to or in Python. Warranties may be voided. The recording of this talk is online at http://www.youtube.com/watch?v=H2yfXnUb1S4
~10min dive to Python Asynchronous IO
HTML version (recommended): https://dl.dropboxusercontent.com/u/1565687/speak/Python3%20AsyncIO%20Horizon/index.html
PyCon 2013 : Scripting to PyPi to GitHub and MoreMatt Harrison
This document discusses various aspects of developing and distributing Python projects, including versioning, configuration, logging, file input, shell invocation, environment layout, project layout, documentation, automation with Makefiles, packaging, testing, GitHub, Travis CI, and PyPI. It recommends using semantic versioning, the logging module, parsing files with the file object interface, invoking shell commands with subprocess, using virtualenv for sandboxed environments, Sphinx for documentation, Makefiles to automate tasks, setuptools for packaging, and GitHub, Travis CI and PyPI for distribution.
Gevent is a Python library that uses greenlets to provide a synchronous-looking API for asynchronous applications. It uses a single OS thread and event loop to handle many connections concurrently by switching between greenlets frequently. This allows applications to achieve high concurrency with low memory usage compared to multithreading. Gevent patches common libraries like sockets to be non-blocking and cooperative. When data is available on a socket, the socket's greenlet is resumed to process it rather than blocking the entire program.
The document discusses aliasing in Python programming. It explains that an alias is a second name for a piece of data. It provides examples of how aliasing can cause bugs when working with mutable data like lists, but not with immutable data. It also discusses why Python allows aliasing despite the potential for bugs - for efficiency when working with large data structures and because sometimes in-place updates are desired.
Reversing the dropbox client on windowsextremecoders
The document discusses reversing an obfuscated Dropbox Python client executable on Windows. It begins by unpacking the executable using py2exe to extract the embedded Python bytecode files (.pyc). The extracted .pyc files are encrypted, so the document explores dumping them from memory after the Dropbox Python interpreter decrypts them. This fails due to encryption of the bytecode. The document then leverages the PyPy Python implementation to successfully dump and decrypt one of the .pyc files. Further exploration of the PyCodeObject structure in a debugger reveals Dropbox has modified the layout to hinder reversing. A small program is used to find the actual offset of the encrypted bytecode within the PyCodeObject.
Python 3.0 introduces many backwards incompatible changes to the Python syntax and features to remove previous design mistakes and improve the language. Some key changes include print becoming a function, the introduction of bytes as a separate type from str, and the addition of the nonlocal keyword to allow modifying variables in nested functions. The document provides examples of how to port Python 2 code to Python 3 using the 2to3 refactoring tool.
The Ring programming language version 1.5.3 book - Part 25 of 184Mahmoud Samir Fayed
This document provides summaries of various file handling functions in Ring programming language including Read(), Write(), Dir(), Rename(), Remove(), fopen(), fclose(), fflush(), freopen(), tempfile(), tempname(), fseek(), ftell(), rewind(), fgetpos(), fsetpos(), clearerr(), feof(), ferror(), perror(), fgetc(), fgets(), fputc(), fputs(), ungetc(), fread(), fwrite(), fexists(), and describes how to use numbers and bytes with files. Examples are given to demonstrate the use of these functions for tasks like reading and writing files, getting directory listings, opening and closing files, seeking within files, and checking for errors.
This presentation was given online in July 2017 and will be given at the NY Java SIG later this year. It progressively builds on Java 8 concepts using puzzles and coding to give students confidence in their Java 8 stream/lambda skills. Handouts and code in https://github.com/boyarsky/java-8-streams-by-puzzles
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014Fantix King 王川
This document discusses Python asynchronous concurrency frameworks and their future. It compares Twisted, Tornado, Gevent, and the new asyncio module. Twisted and Tornado use callbacks while Gevent uses greenlets. asyncio aims to provide an event loop like Twisted. It also introduces coroutines, tasks, and futures. The document argues that asyncio could serve as a common event loop that existing frameworks adapt to for better interoperability in the future.
Functions, Exception, Modules and Files
Functions: Difference between a Function and a Method, Defining a Function, Calling a Function, Returning Results from a Function, Returning Multiple Values from a Function, Functions are First Class Objects, Pass by Object Reference, Formal and Actual Arguments, Positional Arguments, Keyword Arguments, Default Arguments, Variable Length Arguments, Local and Global Variables, The Global Keyword, Passing a Group of Elements to a Function, Recursive Functions, Anonymous Functions or Lambdas (Using Lambdas with filter() Function, Using Lambdas with map() Function, Using Lambdas with reduce() Function), Function Decorators, Generators, Structured Programming, Creating our Own Modules in Python, The Special Variable __name__
Exceptions: Errors in a Python Program (Compile-Time Errors, Runtime Errors, Logical Errors),Exceptions, Exception Handling, Types of Exceptions, The Except Block, The assert Statement, UserDefined Exceptions, Logging the Exceptions
20%
Files: Files, Types of Files in Python, Opening a File, Closing a File, Working with Text Files Containing Strings, Knowing Whether a File Exists or Not, Working with Binary Files, The with Statement, Pickle in Python, The seek() and tell() Methods, Random Accessing of Binary Files, Random Accessing of Binary Files using mmap, Zipping and Unzipping Files, Working with Directories, Running Other Programs from Python Program
The goal of this presentation is to broaden your knowledge of Python, exploring some concepts and techniques you might have never heard about. I won't go into too much detail, the goal is only to inspire you to research those features and patterns.
This presentation contains a quick tour in Python world. First by By comparing Java code, and the equivalent Python side by side, Second by listing some cool features in Python, finally by listing downs and ups of Python in usage; when to use python and when not.
Python is a popular programming language that is easy to learn and intuitive. It is well-suited for data science tasks. TensorFlow is a library for machine learning. The document provides an introduction and overview of Python basics like variables, data types, operators, and control structures. It also covers TensorFlow and how it can be used for neural network applications.
Cleanup and new optimizations in WPython 1.1PyCon Italia
This document summarizes optimizations and cleanup made to the WPython interpreter in version 1.1. Key changes include removing an unnecessary type object "hack" from version 1.0, fixing tracing for optimized loops, removing redundant checks and opcodes, adding new opcode functions, and implementing specialized opcodes for common patterns like comparisons.
This document discusses parallel, distributed, and asynchronous processing in enterprise clouds. It covers parallel programming with multi-core CPUs, distributed computing trends, and asynchronous programming techniques. Specifically, it discusses Java's ForkJoin framework, parallel programming in Java SE8 and .NET, and asynchronous programming methods.
Докладчик:
Владимир Донец (kwimba.ru)
Описание: Слышали про магию в Python? Одно из магических заклинаний называется дескрипторы. Мощная фича языка, которая позволяет определять свое поведение атрибута объекта при доступе к этому атрибуту.
Сложно звучит? А вы знали, что дескрипторами уже наверняка пользовались, если хотя бы раз писали на Python. Я расскажу о том, что такое дескрипторы и как их осознанно можно применять в собственном коде.
Докладчик:
Александр Сапронов
Описание:
Мы рассмотрим популярные библиотеки для функционального программирования на Python — fn.py, functools, itertools, funcy, hask, Toolz. Узнаем возможности каждой из библиотеки, а также как в динамическом язык имитировать мощную систему типов. Затронем характеристики функционального программирования и проверим помогают ли библиотеки выполнить.
Получаем текст веб-страниц из Python и как это работаетPyNSK
Докладчик:
Юра Бабуров aka buriy
Описание:
Мы рассмотрим python-библиотеку под названием readability-lxml (https://github.com/buriy/python-readability) , её применение и механизм работы для задачи извлечения текстов новостных страниц.
Докладчик:
Александр Сапронов
Описание:
Мы вместе пройдем по популярным задачам — от парсинга сайтов до научных вычислений и рассмотрим мощь языка Python
This document discusses various Python interfaces and design patterns including duck typing, abstract base classes (ABC), collections.abc, inheritance, and the Zope interface system. Duck typing allows objects to be used if they have the required attributes and methods without needing to inherit from a base class. ABCs allow defining abstract methods that must be implemented in subclasses. Collections provide common interfaces for types like mappings, sequences, sets, etc. The Zope interface system uses explicit interfaces that classes can declare they implement.
Докладчик:
Александр Сапронов
Описание:
Язык Python отлично подходит для прототипирования: простой синтаксис, множество батареек, много готовых решений. Это отлично для бизнеса и для разработчика.
Но давайте снимем розовые очки и озвучим негатив, который вас ждет, когда вы возьмете Python для проекта.
Видео:
https://www.youtube.com/watch?v=YE9Q78QlZiE
Austin Python Meetup 2017: What's New in Pythons 3.5 and 3.6?Viach Kakovskyi
In the talk, the changes introduced in Python 3.5 and Python 3.6 are covered. Primary based on standard documentation, but only my favourite ones are included:
* https://docs.python.org/3/whatsnew/3.3.html
* https://docs.python.org/3/whatsnew/3.6.html
Python 3.6 includes several new features and improvements related to asynchronous programming and language syntax. PEP 525 introduces asynchronous generators to allow async and await in generator functions. PEP 530 adds asynchronous comprehensions for concise creation of asynchronous iterators. Other PEPs improve class attribute definition order preservation, string formatting syntax, and the addition of asynchronous APIs to the standard library. Python 3.6 continues Python's progress towards native asynchronous programming capabilities.
Joblib: Lightweight pipelining for parallel jobs (v2)Marcel Caraciolo
This document discusses parallel computing in Python using joblib. It begins with an overview of different parallelization options in Python like threading and multiprocessing. It then discusses how joblib provides an easy way to parallelize Python code using multiprocessing without needing to explicitly manage processes. The document provides examples of using joblib to parallelize tasks like applying a function to a list of inputs and shows how it helps speed up computation by utilizing multiple CPU cores. It also discusses some considerations like interrupting jobs and memory usage when using joblib for parallelization.
The document discusses the reasons for Python's transition to Python 3 from Python 2. It argues that Python 3 is more consistent, separates concerns better, and reduces redundancy compared to Python 2. It also notes that Python 3 is now production-ready, and provides tools like 2to3 to help with the migration, though some refactoring may still be needed. Overall it makes the case that now is the time for the Python community to transition to Python 3.
Python has become the most widely used language for machine learning and data science projects due to its simplicity and versatility.
Furthermore, developers get to put all their effort into solving an Machine Learning or data science problem instead of focusing on the technical aspects of the language.
For this purpose, Python provides access to great libraries and frameworks for AI and machine learning (ML), flexibility and platform independence
In this talk I will try to get a selection of libraries and frameworks that can help us introduce in the Machine Learning world and answer the question that all people is doing, What makes Python the best programming language for machine learning?
Python Interview Questions And Answers 2019 | EdurekaEdureka!
( ** Python Training : https://www.edureka.co/python ** )
This PPT on Python Interview Questions and Answers will help you prepare for Python job interviews. Start your preparation by going through the most frequently asked questions on Python.
Check out our Python Training Playlist: https://goo.gl/Na1p9G
Follow us to never miss an update in the future:
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
( ** Python Certification Training: https://www.edureka.co/python ** )
This Edureka PPT on Advanced Python tutorial covers all the important aspects of using Python for advanced use-cases and purposes. It establishes all of the concepts like system programming , shell programming, pipes and forking to show how wide of a spectrum Python offers to the developers.
Python Tutorial Playlist: https://goo.gl/WsBpKe
Blog Series: http://bit.ly/2sqmP4s
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Among the #1 complaints of Python in a data analysis context is the presence of the Global Interpreter Lock, or GIL. At its core, it means that a given Python program cannot easily utilize more than one core of a multi-core machine to do computation in parallel. However, fear not! To beat the GIL, you just need to be willing to adopt a little magic -- and this talk will tell you how.
Faster Python Programs Through Optimization by Dr.-Ing Mike MullerPyData
1) The document discusses several methods for optimizing Python programs to increase speed, including profiling CPU usage with the cProfile module.
2) cProfile can measure the time spent in different functions and identify bottlenecks by running sample programs and printing statistics.
3) Running a "fast" sample that calls a function taking 0.001 seconds 100 times took 0.195 seconds total, with most time spent in the time.sleep calls. A "slow" sample taking 0.1 seconds per call was over 10 seconds total.
The document discusses whether the PyPy implementation of Python is ready for production use. It provides an overview of PyPy, benchmarks various workloads against CPython, and evaluates PyPy based on common criteria for determining if a software project is production-ready. While some workloads are slower on PyPy and it fails with some Python modules, it meets most criteria and provides performance improvements for CPU-bound tasks. Overall, the document concludes PyPy could be considered for production use, especially given its advantages in scalability and upcoming improvements to its just-in-time compiler and Python 3 support.
What’s cool in the new and updated OSGi specs (DS, Cloud and more) - C Ziegel...mfrancis
This session will look at new and updated OSGi specs that are in the works. Developing components has never been easier. Learn more about the new Prototype Service Factory, OSGi/CDI integration and the improved annotation support for Declarative Services.
Many people are realizing that OSGi is a great foundation technology for fluid cloud-computing architectures where the deployments change dynamically and applications don't simply scale by duplicating the entire VMs but by providing extra capacity exactly to those components that need it. Work is being done to create standards that facilitate such a portable OSGi cloud in ‘Cloud Ecosystems’ and the REST API specs. Learn more about these and other upcoming specs during this talk.
Bios:
David Bosschaert
David Bosschaert works for Adobe Research and Development. He spends the much of his time on technology relating to OSGi in Apache and other open source projects. He is also co-chair of the OSGi Enterprise Expert Group and an active participant in the OSGi Cloud efforts.
Before joining Adobe, David worked for Red Hat/JBoss and IONA Technologies in Dublin, Ireland.
Carsten Ziegeler
Carsten Ziegeler is working at Adobe Research Switzerland and spends most of his time on architectural and infrastructure topics. Working for over 25 years in open source projects, Carsten is a member of the Apache Software Foundation and heavily participates in several Apache communities including Sling, Felix and ACE. He is a frequent speaker on technology and open source conferences. Carsten participates in the OSGi Core Platform and Enterprise Expert Groups and is a member of the OSGi Alliance board.
Everyone must migrate to PHP 7! Take advantage of exceptional performance improvements, cut your hardware use in half and enjoy the best of PHP. This workshop is for everyone that is still eyeing PHP 7 while still using PHP 5, and wants to review their 1 million LOC project before jumping to PHP 7. When migrating, we need to check old code and target only the interesting issues. This session will connect the backward incompatibilities and new features to their actual location in the code, relying on static analysis to quickly process a large code base. Based on our accumulated experience and tools, we'll review the issues, diagnose criticality, select the best fixes and prioritize the tasks. All tools are Open Source, and ready to be integrated into your project lifecycle.
Django is a free and open source web application framework, written in Python, which follows the Model–View–Controller architectural pattern.
It focuses on automating as much as possible and adhering to the DRY principle
What's new in python 3.8? | Python 3.8 New Features | EdurekaEdureka!
YouTube Link: https://youtu.be/n9oaN3dVxmE
** Python Certification Training: https://www.edureka.co/data-science-python-certification-course **
This Edureka video on 'What's New In Python 3.8?' covers the new features in python 3.8 added to the new release of Python and other language changes. Following are the topics discussed:
New Features
New Modules
Other Language Changes
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
go-git is a 100% Go libray used to interact with git repositories. Even if it already supports most of the functionality it still lags a bit in performance when compared with the git CLI or some other libraries. I'll explain some of the problems that we face when dealing with git repos and some examples of performance improvements done to the library.
What We Learned Building an R-Python Hybrid Predictive Analytics PipelineWork-Bench
This document discusses building a hybrid R-Python analytics pipeline that is reproducible, maintainable, and statistically rigorous. It recommends using Git for version control, Packrat and Pip for dependency management in R and Python respectively, calling R from Python using subprocess, using Testthat and Nose for automated testing in R and Python, and Make for a reproducible workflow. Adopting these practices improves code quality, facilitates knowledge transfer, and encourages reproducible workflows, though there is an initial time investment to set them up.
The document provides information about various Python concepts like PEP 8, pickling, lambda functions, generators, modules, packages and more. It also includes questions about memory management in Python, tools for static analysis, decorators, iterators, slicing, and other common Python interview questions.
The document summarizes Guido van Rossum's talk about Python 3000 (also known as Python 3.0) at PyCon in 2007. Some key points:
- Python 3.0 will be an incompatible major release that fixes early design mistakes in Python.
- Major changes include print becoming a function, dictionary views replacing key methods, default integer division rounding to a float, and strings becoming Unicode by default.
- The timeline targets completion of PEPs by April 2007 and a 3.0 final release in June 2008.
- Automatic tools can help convert most 2.x code to 3.x, but not cases depending on implementation details. Developers are encouraged to write portable code and add tests.
Similar to Commit ускоривший python 2.7.11 на 30% и новое в python 3.5 (20)
Докладчик: Данил Руденко
О докладе:
По некоторым оценкам, больше половины профессий будет автоматизировано – это и есть максимальный объём, на который может быть увеличен рынок алгоритмов машинного обучения, ярчайшем представителем которого являются нейронные сети.
В докладе мы поговорим об общей концепции нейронных сетей, рассмотрим основные Python - фреймворки для машинного обучения, а также реализуем решение задачи классификации изображений с применением Keras.
Докладчик: Данил Руденко
О докладе:
У нашего зоопарка опять проблемы, которые необходимо решить максимально технологично!
На первом докладе мы поговорили о сверточных нейронных сетях, в этот раз рассмотрим такие виды нейронных сетей как автоэнкодеры и GAN’ы( генеративные состязательные сети). Также углубимся немного в Keras, напишем кастомный загрузчик данных и немного посмотрим на Jupyter Notebook.
Видео: https://youtu.be/tu-ee_4uAGY
Asyncio для процессинга распределенной базы данныхPyNSK
Докладчик: Никита Семенов
О докладе:
Появление asyncio стало новой вехой в истории питона. По-настоящему удобный и эффективный способ запускать асинхронный код.
В своем докладе я познакомлю слушателя с базовым синтаксисом, парадигмами и примитивами, чтобы можно было начать использовать всю мощь asyncio уже сегодня.
Для этого я возьму децентрализованные базы данных с web-интерфейсом, раскиданные по нескольким серверам, и покажу как их можно эффективно запроцесить только при помощи стандартных методов питона 3.4+ и aiohttp.
Видео: https://youtu.be/rpiHVA6vRTY
Докладчик: Станислав Каблуков
О докладе:
Расскажу о своём опыте использования Python для разработки игр. В каких игровых движках и программах для моделирования используется Python.
Как и почему стоит использовать python для создания игр, и в каких случаях лучше отказаться от данной идеи. О плюсах и минусах использования Python.
В докладе будет про: python, blender, Ren'py, KivEnt, Boo, UE4 и д.р.
Видео: https://youtu.be/2RrZx_J5twU
Python инструменты для нагрузочного тестированияPyNSK
В докладе я расскажу об использовании yandex.tank с BFG и locustio для нагрузочного тестирования.
Докладчик: Иван Гребенщиков
Видео: https://youtu.be/-kWm5V9pyCY
Python, Django и корпоративные информационные системыPyNSK
Софт для автоматизации бизнеса составляет значительную часть всего существующего на планете программного обеспечения. Рассмотрим требования к нему и особенности его разработки. Оценим, насколько Python для этого подходит, и облегчают ли фреймворки жизнь в кровавом энтерпрайзе.
Докладчик: Анатолий Щербаков
Видео: https://youtu.be/G_ks3sO1Mbs
Как показать релевантный текст для пользователя? Собрать данные, написать разные тексты, а потом написать кучу IF'ов?
В докладе я расскажу, как мы, в Welltory, делаем настройку контента под пользователя.
Поведаю о том, как content writer'ы могут писать 100 вариантов текстов на одно событие в системе.
И конечно, расскажу с чего начать вам.
Докладчик: Александр Сапронов
Видео: https://youtu.be/sG6kUxq6gDY
В докладе я расскажу об устройстве одноплатного компьютера и его периферии на примере raspbery pi.
Установку на него дистрибутива операционной системы, python 3 и управление с помощью него периферией (i2c spi uart и отдельными pin). А ещё я это покажу в живую
Докладчик: Иван Бакланов
Видео: https://www.youtube.com/watch?v=1WiIMeWHMY8
В докладе мы рассмотрим создание переносимого дистрибутива Python для любых нужд и операционных систем (Windows & Linux). Познакомимся с существующими и альтернативными решениями. Сравним их достоинства и недостатки.
Докладчик: Григорий Кареев (Odin)
Видео: https://www.youtube.com/watch?v=fvBJG_IKvaQ
Рассмотрю с практической стороны создание своего предметно-ориентированного языка. Продемонстрирую почти готовое решение возникшей задачи и расскажу, в каких случаях может потребоваться внедрение DSL.
Докладчик: Михаил Воротынцев (AgoraDoxa)
Видео: https://www.youtube.com/watch?v=Qf0TjcBG1oI
Как Python Дайджест работает с внешней статикойPyNSK
Докладчик:
Александр Сапронов
Описание:
В мини-докладе я рассмотрю простой велосипед (django-remdow), который позволяет в автоматическом режиме скачивать внешнюю статику. А также приведу простые инструменты для автоматической оптимизации вашего сайта.
Применение behave+webdriver для тестирования Web-проектовPyNSK
Докладчик:
Иван Гребенщиков
Описание:
Современные веб-проекты представляют из себя совсем не набор статических страниц, что повышает сложность их функционального тестирования.
В докладе будет рассмотрена связка инструментов behave+webdriver, способе их применения, возможные проблемы и пути их решения.
Докладчик:
Игорь Стариков
Описание:
Не секрет, что Питон, благодаря своим свойствам, имеет широчайшую область применения. Не являются исключением и мультимедийные (в том числе игровые) приложения.
В ходе этого выступления:
1. вы узнаете о некоторых средствах и принципах их построения, а также о том, как упомянутые средства могут использовать функции внешних библиотек, написанных на других языках программирования;
2. а я получу, наконец, достижение из одной известной игры, не запуская её.
Докладчик:
Александр Кацко
Описание:
Как только речь заходит про создание API, особенно для веб или мобильных приложений, то многие, не задумываясь, выбирают принцип REST. Но всегда ли это правильный выбор?
В докладе рассмотрим случаи, для которых хорошо подходит JSON-RPC, посмотрим примеры реализации на Django.
Докладчик:
Антон Голов
Описание:
Поговорим о некоторых функциях для интеграции TestRail c внешними системами и автоматизации деятельности QA. Будет немного про Google Docs, и некоторый набор методов работы с Testrail, рассмотрим возможности работы с системами автоматизированного тестирования.
"Модифицируй это!" или "Больше магии Python с помощью изменения AST"PyNSK
Докладчик:
Александр Маршалов (ЦФТ)
Описание: Мы узнаем, что из себя представляет дерево синтаксического разбора (AST / Abstract Syntax Tree) в языке Python
и какие магические возможности можно получить с помощью модификации AST.
Докладчик:
Богомолов Иван
Описание:
Краткий обзор разных вариантов использования gDrive API, так же вы узнаете как получить доступ к gDrive API, конечно же с примерами подключения, авторизации и выполнения различных запросов на питоне.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
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!!
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
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/
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Top 9 Trends in Cybersecurity for 2024.pptxdevvsandy
Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.
Oracle Database 19c New Features for DBAs and Developers.pptx
Commit ускоривший python 2.7.11 на 30% и новое в python 3.5
1. Commit ускоривший
Python 2.7 на 30%
и
новое в Python 3.5
sapronov.alexander92@gmail.com
@sapronovalex92
pynsk.nsk@gmail.com
vk.com/pynsk
facebook.com/PyNskCom
@py_nsk
Александр Сапронов:
2. Python 2.7.11
Vamsi Parasa of the Server Scripting Languages Optimization team at Intel posted
a patch to change the switch statement that executes Python bytecode in the
CPython interpreter to use computed gotos instead.
(http://article.gmane.org/gmane.comp.python.devel/153401)
3. Python 2.7.11
Vamsi Parasa of the Server Scripting Languages Optimization team at Intel posted
a patch to change the switch statement that executes Python bytecode in the
CPython interpreter to use computed gotos instead.
(http://article.gmane.org/gmane.comp.python.devel/153401)
4. computed goto
В отличие от switch-case: Не производит граничных проверок
#define OP_HALT 0x0
#define OP_INC 0x1
int interp_switch(unsigned char* code, int initval) {
int pc = 0;
int val = initval;
while (1) {
switch (code[pc++]) {
case OP_HALT:
return val;
case OP_INC:
val++;
break;
default:
return val;
}
}
}
5. computed goto
В отличие от switch-case: Не производит граничных проверок
#define OP_HALT 0x0
#define OP_INC 0x1
int interp_switch(unsigned char* code, int initval) {
int pc = 0;
int val = initval;
while (1) {
switch (code[pc++]) {
case OP_HALT:
return val;
case OP_INC:
val++;
break;
default:
return val;
}
}
}
int interp_cgoto(unsigned char* code, int initval) {
static void* dispatch_table[] = {&&do_halt, &&do_inc};
#define DISPATCH() goto *dispatch_table[code[pc++]]
int pc = 0;
int val = initval;
DISPATCH();
while (1) {
do_halt:
return val;
do_inc:
val++;
DISPATCH();
}
}
6. computed goto
В отличие от switch-case: CPU может лучше прогнозировать ветвления
Подробно про computed goto:
http://eli.thegreenplace.net/2012/07/12/computed-goto-for-efficient-dispatch-tables
Модуль предсказания переходов:
устройство, входящее в состав микропроцессоров, имеющих
конвейерную архитектуру, предсказывающее, будет ли
выполнен условный переход в исполняемой программе.
7. Новое в Python 3.5 - PEP 478
● PEP 441 , improved Python zip application support
● PEP 448 , additional unpacking generalizations
● PEP 461 , "%-formatting" for bytes and bytearray objects
● PEP 465 , a new operator ("@") for matrix multiplication
● PEP 471 , os.scandir(), a fast new directory traversal function
● PEP 475 , adding support for automatic retries of interrupted system calls
● PEP 479 , change StopIteration handling inside generators
● PEP 484 , the typing module, a new standard for type annotations
● PEP 485 , math.isclose(), a function for testing approximate equality
● PEP 486 , making the Widnows Python launcher aware of virtual environments
● PEP 488 , eliminating .pyo files
● PEP 489 , a new and improved mechanism for loading extension modules
● PEP 492 , coroutines with async and await syntax
9. PEP 484 - the typing module, a new standard
for type annotations
def greeting(name: str) -> str:
return 'Hello ' + name
from typing import *
T = TypeVar('T')
def filter(function: Optional[Callable[[T], Any]],
iterable: Iterable[T]) -> Iterator[T]:
...
Было
Стало
10. PEP 492 - coroutines with async and await syntax
async def read_data(db):
pass
async def read_data(db):
data = await db.fetch('SELECT ...')
Новые ключевые слова:
async и await