Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cool New Features in Python 3.5
Search
Kevin McCarthy
November 07, 2015
Programming
1
350
Cool New Features in Python 3.5
Kevin McCarthy
November 07, 2015
Tweet
Share
More Decks by Kevin McCarthy
See All by Kevin McCarthy
Functors
kevin1024
1
150
Introduction to Programming
kevin1024
0
230
Processing Workshop
kevin1024
0
180
Processing Talk
kevin1024
0
250
Sick && Insane Programming Practices
kevin1024
1
290
Introduction to Machine Learning
kevin1024
2
290
Other Decks in Programming
See All in Programming
プログラマのための作曲入門
cheebow
0
510
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
120
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
480
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
880
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
1
330
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
440
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
110
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
290
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
1
410
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.1k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Become a Pro
speakerdeck
PRO
29
5.5k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Transcript
Cool new features in Python 3.5
None
Unpacking >>> a,b,c = [1,2,3] >>> print(a) 1 >>> print(b)
2 >>> print(c) 3
Unpacking: LEVELED >>> a = [1,2,3] >>> b = [4,5,6]
>>> print([*a, *b]) [1,2,3,4,5,6] PEP 448
Build Dictionaries >>> defaults = {"database": "mysql"} >>> my_config =
{"database": "sqlite", "password": "cats"} PEP 448
Build Dictionaries >>> defaults.update(my_config) >>> print defaults {"database": "sqlite", "password":
"cats"} PEP 448
Build Dictionaries >>> print {**defaults, **my_config} {"database": "sqlite", "password": "cats"}
PEP 448
Call Functions with Unpacking >>> connect(**defaults, **my_config) PEP 448
math.isclose() >>> a = 1.0 >>> b = 1.00000000001 >>>
math.isclose(a,b) True >>> math.isclose(1.0, 1.1) False >>> math.isclose(1.0, 1.01, abs_tol=.1) True PEP 485
>>> import math >>> math.pow(a, 2) + math.pow(b, 2) ==
math.pow(c,2)
>>> a**2 + b**2 == c**2
import numpy as np from numpy.linalg import inv, solve #
Using dot function: S = np.dot((np.dot(H, beta) - r).T, np.dot(inv(np.dot(np.dot(H, V), H.T)), np.dot(H, beta) - r))
@ matrix multiplication operator @ >>> S = (H @
beta - r).T @ \ inv(H @ V @ H.T) @ (H @ beta - r) PEP 465
os.scandir() PEP 471
yield from (python 3.4) @asyncio.coroutine def view(request): data = yield
from db_query(request.q) more = yield from db_query(request.p) return yield from render(data, more) PEP 380
async and await async def view(request): data = await db_query(request.q)
more = await db_query(request.p) return await render(data, more) PEP 492
type annotations def hello(name: str) -> str: return "hello, {}".format(name)
PEP 484
type annotations def hello(name: str) -> str: return "hello, {}".format(name)
def greet(name): print greeting(name) PEP 484 types!
gradual typing def hello(name: str) -> str: return "hello, {}".format(name)
def greet(name): print(greeting(name)) types! no types! PEP 484
import typing from typing import List def combine(input: List[str]) ->
int: return input.join() PEP 484
much, much more! PEP 461, 479… • subprocess.run() • collections.OrderedDict
4-100 times faster • bytes % args, bytearray % args • functools.lru_cache() 10-25x faster • StopIteration handling inside generators better • A new installer for Windows
Thanks! https://docs.python.org/3/whatsnew/3.5.html