こちらの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
bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、本当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt
この記事は Houdini Advent Calendar 2017 の15日目の記事です。 Houdini初心者が hou モジュールについて学んだこと、 デキる先輩方の Houdini を python の面から再整理してまとめてみました。 今年のアドベントカレンダーも記事がハイレベルで大変萎縮していますが、気にせず行きます😇 前置き 業務ではMayaを使っていますが、個人で使えるDCCツールを検討した結果、Houdiniを覚えることにしました。 indie版と書籍を買ったものの、覚えるためにイマイチとっかかりが掴めなかったので、 3Dツールを知るには、それに搭載されているスクリプト言語を覚えるのが一番近道 DCCツールでよく使われるコマンドの数は、パレートの法則に近似する という経験則(要出典)を用いて、スクリプトから Houdini を覚えることにしました。 Houdiniを含む
概要 HoudiniのメインメニューのWindow > Python Source Editorで、サンプルコードをさくっと書いて実行できるという事を知っている人は多いと思う。で、そのWindowのところをよく見ると、 Source File のところで hou.session module というのが記載されている。これ何?なんか意味あんの?ではここの意義ってなんだろう?? とりあえず基本の使い方 Python Source Editorは、Python Shell(Python Panel)などのインラインコード入力と違いコードの維持が複数行にわたって可能なため、以下の様にテストとして利用するケースがある。 hou.session とは? とりあえず、これに関してはドキュメントがあるので、そのリンクを貼っておく。 hou.session module まぁ、つまり書いている事をとりあえ
# 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
Pythonには多様なライブラリが用意されているので、様々な分野で活用することができる。今回は、Pythonからオンラインストレージの「Googleドライブ」を操作してみよう。PythonからGoogleドライブにアクセスできれば、任意のタイミングでクラウドにデータをアップしたり、定期的にファイルを更新したり、とアイデア次第で活用できるだろう。 Googleドライブとは? Googleドライブは、Googleが提供しているオンラインストレージのサービスだ。15GBを無料で利用可能で、各種ファイルをクラウド上に保存できる。加えて、オフィス文書などはWebブラウザ上でも閲覧することが可能なので、利用している方も多いだろう。 OAuth認証について 普通に使っても便利なGoogleドライブだが「Google Drive API」と言って、プログラミング言語から、Googleドライブを操作するため
Jupyter Notebook (a.k.a iPython Notebook) is brilliant coding tool. It is ideal for doing reproducible research. Here is my list of 10 tips on structuring Jupyter notebooks, I worked out over the time. 1. Use virtualenv to create self-contained environmentYou might be tempted to install all research libraries within your operating system and share them among all your projects. Soon you will discov
▼ 2026 (1) ▼ 1月 (1) houdini_installer ► 2025 (11) ► 12月 (2) ► 11月 (1) ► 7月 (1) ► 6月 (1) ► 5月 (1) ► 4月 (2) ► 3月 (1) ► 2月 (1) ► 1月 (1) ► 2024 (8) ► 12月 (1) ► 10月 (1) ► 9月 (2) ► 8月 (1) ► 3月 (3) ► 2023 (5) ► 12月 (1) ► 9月 (1) ► 8月 (1) ► 6月 (1) ► 5月 (1) ► 2022 (11) ► 12月 (1) ► 9月 (1) ► 8月 (1) ► 6月 (2) ► 4月 (3) ► 3月 (1) ► 2月 (2) ► 2021 (30) ► 12月 (6) ► 11月 (1) ► 10月 (1) ► 9月 (4) ► 8月 (3) ► 7月 (5) ► 6月 (1
[python] ## 二次元配列 (行列) >>> a = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) >>> a array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) >>> a.flags C_CONTIGUOUS : True ## データがメモリ上に連続しているか(C配列型) F_CONTIGUOUS : False ## 同上(Fortran配列型) OWNDATA : True ## 自分のデータかどうか、ビュー(後述)の場合はFalse WRITEABLE : True ## データ変更可能か ALIGNED : True ## データ型がアラインされているか UPDATEIFCOPY : False ## Trueには変更できないので特に気にしなくて良い >>>
私はPython歴はかれこれ7年程になり、PyScripterやVimなど色々な開発環境を変遷してきた。 その中でPyCharmが最強のPython開発環境であると断言する。 PyCharm Home Page 開発はIntelliJ IDEAのJetBrainsで、最近はGo言語用IDEのGoglandを発表している。 動作環境はWindows/OS X/Linuxのマルチプラットフォームである。 PyCharmは無償版と有償版があるが、普通の開発ならば無償版で充分すぎるほど機能が備わっている。 PyCharmがいかに便利であるか紹介してみよう。 リアルタイムのコードチェックと修正機能 PyCharmはリアルタイムにコードをチェック(PyFlakes使用)してくれるが、Vimでも同様の事ができるので目新しい事ではない。 PyCharmの素晴らしい所は、警告個所を適切に修正してくれる機能が
Pythonでバイナリを扱う時のTipsです。 Pythonでバイナリを扱う方法は2つあります、structモジュールを使う方法とctypes.Structureクラスを使う方法です。 基本的にstructモジュールは数バイトのバイナリを扱いたい時、それ以上のバイト数やC/C++と連携したい時にctypes.Structureクラスを使います。 structモジュール 例としてPNGファイルのバイナリを読んでみます、PNGファイルは頭の8バイトはヘッダで決め打ちです。 9バイト目から18バイトのデータはIHDR領域(正確にはIHDRの一部)でイメージの縦横サイズとビット深度、カラーモードが格納されています。
In this tutorial we will learn how to create an average face using OpenCV ( C++ / Python ). Most people would agree that the woman in Figure 1 is pretty. Can you guess her ethnicity ? Why is her skin flawless ? Well, she is not real. She is In this tutorial we will learn how to create an average face using OpenCV ( C++ / Python ). Most people would agree that the woman in Figure 1 is pretty. Can y
自分で小さいツールを作る時に心に留めているtipsです. 書き始めたときは「どうせ書捨てだし」と思って書き始めると意外と長い間,もしくはいろんなところで使うことになったりするので,気をつけておくと後から楽になるというような小技です.大規模なソフトウェアの開発ではまた違った流儀があると思います. メインルーチンを関数にする 関数名はなんでもいいのですが,自分は趣味で main() という名前の関数を用意し,メインルーチンは全てそこに書くようにしています. pythonの小さなサンプルコードを見たりすると関数外の部分にベタで実行コードが書かれていたりします.もちろんそれでも動くのですが,以下の2点で後々面倒になることがあります. グローバル変数だらけになり管理が追いつかなくなる:「どうせ小さなスクリプトだし」ではじめると最初は見通しが良くてもだんだんどこでどの変数名を使っているか分からなくなっ
Python ヒッチハイク・ガイド¶ Python ヒッチハイク・ガイド へようこそ。 これは皆さんの手により生きているガイドです。 貢献したい方は GitHub で fork してください! この手作りガイドは、初心者と熟練者のPython開発者の両方に、Python のインストール、設定、および使用に関するベスト・プラクティスを日々提供するために存在します。 このガイドは、ほとんど 独断的なもの であり、Python の公式文書では ありません 。 ここでは、すべての Python Webフレームワーク の一覧は見つからないでしょうが、強く推奨されているリストが簡潔に見つかるでしょう。 さあ、始めましょう! まずは、あなたの探しものがどこにあるかを確認しましょう。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く