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
310
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
120
Introduction to Programming
kevin1024
0
190
Processing Workshop
kevin1024
0
160
Processing Talk
kevin1024
0
220
Sick && Insane Programming Practices
kevin1024
1
230
Introduction to Machine Learning
kevin1024
2
250
Other Decks in Programming
See All in Programming
ピグパーティにおけるMongoDB CommunityバージョンからAtlasへの移行事例
10969hotaka
0
130
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
Jetpack for KMP
fornewid
1
290
CSC307 Lecture 06
javiergs
PRO
0
360
Rust.Nagoya #1
codemountains
0
170
日付と正規化
megmogmog1965
0
140
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
How to use Macrobenchmark
veronikapj
0
160
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
Activities at Cairo Library
cairolibrary720
0
1.2k
Featured
See All Featured
The Invisible Side of Design
smashingmag
294
50k
Infographics Made Easy
chrislema
238
18k
What's new in Ruby 2.0
geeforr
338
31k
Unsuck your backbone
ammeep
666
57k
Designing with Data
zakiwarfel
96
5k
The Language of Interfaces
destraynor
151
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Raft: Consensus for Rubyists
vanstee
134
6.5k
Thoughts on Productivity
jonyablonski
64
4.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
We Have a Design System, Now What?
morganepeng
46
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
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