こちらのTweetが Python.jp slack でちょっと話題になっていた。 どういうこと? pic.twitter.com/BxyyWbyvQo— ahuglajbclajep (@ahuglajbclajep) 2018年1月24日 次のようなコードだ >>> a = [lambda: print(i) for i in range(3)] >>> for i in a: i() 2 2 2 結論としては cocoatomo さんの書かれているように、変数の評価タイミングの問題で、 初めまして. そこは Python のループでよくハマるポイントで, i の値の評価が後で行われるのが混乱の原因です. ループの本体の中で一度 i を別の変数に入れるなどして, 評価を走らせると回避できます. FAQ → https://t.co/5iCqdIIhUZ— tomo🐧 (@cocoat
非同期プログラミングが熱い pythonで並列処理を実現するにはすごくざっくりいって3つの選択肢がある。 マルチスレッド方式 (モジュール名: concurrent.futures, threading) マルチプロセス方式 (モジュール名: concurrent.futures, multiprocessing, subprocess) 非同期I/O方式 (モジュール名: asyncio) マルチスレッド方式はスレッドセーフにプログラム作るのが本当に(本当に!)難しいし、マルチプロセス方式はデータの共有が煩雑。これに比べて非同期I/O方式はめちゃくちゃ簡単に並列処理が書けるので CPU処理が主体でないような処理では、非同期I/O方式による実装が人気を集めている( 非同期I/O方式では1CPU しか使えないのは注意)。非同期I/O方式の興隆は python に限ったことではなく、Javas
参考 @kidach1 さんの投稿をPythonに書き換えてるだけです。 @kidach1 さん、いつもありがとうございます。 https://qiita.com/kidach1/items/4b63de9ad5a97726c50c 概要 改めて基本を学ぶ。 参考「Rubyによるデザインパターン第1章」→この投稿はPython デザインパターンとは プログラミングにおいて繰り返し現れる問題に対する、適切解のパターン。 無駄無く設計されたオブジェクト指向プログラムの実現をサポート。 パターンとしてカタログ化されていることで 車輪の再発明を防ぐ デザインパターンの根底にある5つの考え 変わるものを変わらないものから分離する プログラムはインターフェイスに対して行う(実装に対して行わない) 継承より集約 委譲、委譲、委譲 必要になるまで作るな(YAGNI) 変わるものを変わらないものから分離する
Pythonエンジニア列伝の3回目は、石本敦夫氏にお越しいただきました。 お客様 石本敦夫氏は、1998年以来、日本におけるプログラミング言語 Pythonコミュニティで活動しており、メーリングリストの開設やユーザ会の設立、ドキュメント翻訳プロジェクトなどを主導しておられます。 著書に「パーフェクトPython(技術評論社)」,「Python文法詳解(オライリー・ジャパン)」,「Pythonライブラリ厳選レシピ(技術評論社)」などがあります。 : 石本敦夫氏 @atsuoishimoto 聞き手 : 佐藤治夫 @haru860 : 清原弘貴 @hirokiky 後半に行くほどに濃い内容になっていきますので、是非とも1〜7までお読みください。 → 【その1】へ 目次 石本敦夫氏に聞く、Pythonの歴史とこれから〜Pythonエンジニア列伝 Vol.3 【その1】Python Japanを
bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、本当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt
Note: We will be moving away from UserVoice feedback sites on a product-by-product basis throughout the 2021 calendar year. We will leverage 1st party solutions for customer feedback. Microsoft has partnered with UserVoice, a third-party service, to communicate with customers and collect feedback. We will be moving away from UserVoice feedback sites throughout the 2021 calendar year on a product-b
この記事は Houdini Advent Calendar 2017 の15日目の記事です。 Houdini初心者が hou モジュールについて学んだこと、 デキる先輩方の Houdini を python の面から再整理してまとめてみました。 今年のアドベントカレンダーも記事がハイレベルで大変萎縮していますが、気にせず行きます😇 前置き 業務ではMayaを使っていますが、個人で使えるDCCツールを検討した結果、Houdiniを覚えることにしました。 indie版と書籍を買ったものの、覚えるためにイマイチとっかかりが掴めなかったので、 3Dツールを知るには、それに搭載されているスクリプト言語を覚えるのが一番近道 DCCツールでよく使われるコマンドの数は、パレートの法則に近似する という経験則(要出典)を用いて、スクリプトから Houdini を覚えることにしました。 Houdiniを含む
この記事は、LIFULL Advent Calendar 2017の2日目の記事です。 おはようございます。新UX開発部の二宮( @ninomiyt )です。 LIFULLではデータ解析や最適化の用途、もしくはAWS Lambda上の簡易ツール実装用途などでPythonがそれなりに普及してきました。数値計算寄りの(いわゆるデータサイエンティスト的な)メンバーも今はPythonを使うことが多く、コード量としては小規模なプロジェクトが多く、簡単なAPIやバッチ処理の実装までやってもらうこともあります。 そのレビューをやっていく中で、「これ使うともっと簡単に実装できるよね」っていうライブラリがいくつかまとまってきたので紹介します。 click コマンドラインパーサー用のライブラリで、デコレータを使って関数を簡単にCLI化できます。 標準ライブラリのargparseがありますが、clickではバリ
概要 HoudiniのメインメニューのWindow > Python Source Editorで、サンプルコードをさくっと書いて実行できるという事を知っている人は多いと思う。で、そのWindowのところをよく見ると、 Source File のところで hou.session module というのが記載されている。これ何?なんか意味あんの?ではここの意義ってなんだろう?? とりあえず基本の使い方 Python Source Editorは、Python Shell(Python Panel)などのインラインコード入力と違いコードの維持が複数行にわたって可能なため、以下の様にテストとして利用するケースがある。 hou.session とは? とりあえず、これに関してはドキュメントがあるので、そのリンクを貼っておく。 hou.session module まぁ、つまり書いている事をとりあえ
Plan for dropping Python 2.7 support The Python core team plans to stop supporting Python 2 in 2020. The NumPy project has supported both Python 2 and Python 3 in parallel since 2010, and has found that supporting Python 2 is an increasing burden on our limited resources; thus, we plan to eventually drop Python 2 support as well. Now that we're entering the final years of community-supported Pytho
# coding: utf-8 import math def calc_cos(dictA, dictB): """ cos類似度を計算する関数 @param dictA 1つ目の文章 @param dictB 2つ目の文章 @return cos類似度を計算した結果。0〜1で1に近ければ類似度が高い。 """ # 文書Aのベクトル長を計算 lengthA = 0.0 for key,value in dictA.items(): lengthA = lengthA + value*value lengthA = math.sqrt(lengthA) # 文書Bのベクトル長を計算 lengthB = 0.0 for key,value in dictB.items(): lengthB = lengthB + value*value lengthB = math.sqrt(lengthB
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 元記事: Awesome Python Awesome List in Qiita Awesome Ruby Awesome Java Awesome JavaScript Awesome Node.js Awesome Go Awesome Selenium Awesome Appium 管理パネル 管理インタフェース用ライブラリ ajenti - サーバ用管理パネル. django-grappelli - Django 管理インターフェースのためのジャズスキン. django-jet - 改良された機能を備えた Django 管理イ
The Qiita Advent Calendar 2017 is supported by the following companies, organizations, and services.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く