pythonその2
def add(x,y)はダメ。以下のエラーが。。。
typeError: add() takes exactly 2 arguments (3 given)
def add(self, x, y)ならオッケー。selfが必須なのか?!ネットで調べると、確かにそんなこと書いてある。そして他言語から来た人にはキモいとも書かれている…
ネットで例を見てたら、selfを書いていないのもある。どっちが本当?と思って試してたらclassのメソッドはselfが必要だけど、ただのメソッドなら要らないみたいで、以下はオッケーだった。
def add(x, y):
return x + y
result = add(100,200)
print result
別のファイルからクラスをnewしてメソッドを呼び出すというのもやってみた。from ファイル名 import クラス名と書くらしい。unit testはまた今度。
Related posts
仕事での困りごと
4月から参画してもらってる人がもう無理ですとのこと。 発注元に説明することを考えると頭が痛いです。一ヶ月分の教育コストがパーですが、本人的には不甲斐ない自分がツライ、開発者としての適正がないと。みたいなことを感じてるらしいです。設計のためのリサーチなんてフワフワした作業ですし、未経験の人に真っ当なアウトプットは期待していない。といった事は説明したのですが、、、なんでしょうね。自分のことをアムロとでも思ってたんですかね。 次の人をどうするかもまた頭が痛いです。ソフトウェアの開発は人材不足で、希望する職務経験のある開発者が募集にかかることはここ数年ありません。あってもステップアップ転職をしようとしているとか。ですので候補は業界未経験の人、新卒採用、ご年配の方とかになってきます。今回は他業種で社会人経験が2-3年って人を採用して失敗しました。新卒は真っさらなので無理が効きますね、エクセルも使えないってことがあるのですが、化けることもあるので博打です。ですが、最初の現場で右も左も分からないので辞めることが少ないです。ご年配の方は理解度が低い、自分のやり方に固執するので相手にするのがツライです。あと外国籍の方がいますが、フルリモートでコミュニケーションに難があるとどうにもならないですし、やはり新人かなと思います。 昨日から天気が悪く、気圧の変化のせいか頭がすごく痛いです。
vagrantに開発環境の設定
以前作ったc++製のmarkdownパーサ。githubで公開しようと思ったら自分のドメインベタ書きでとても無理だった。なので、真っ当にテスト環境で直して本番で試してみようと考えた。vagrantの環境はubuntu 12.04があるので、そこにコードを持っていく。 vagrantでは鍵を作ってなかったので、作成して、.ssh/id_rsa.pubの内容をこのドメインのユーザの.ssh/authorized_keysにコピペして追加。 ssh ユーザ名@boltech21.net -p sshのポート番号 sshでつながることを確認したら、コードをがっさーと持ってくる。 git clone ssh://ユーザ名@boltech21.net:ポート番号/.gitのあるパス vagrantのディレクトリ名 コードは持ってこれたので、とりあえずmakeしようと思ったら、gccのバージョンが古いそうで-std=c++11がなんだかわからん。と怒られた。 C++11のためにGCCの最新版をインストールする | 金星☆ちゃんねる 先人の知恵を拝借し、gcc 4.8をインストール。 boostも必要だったので、インストール。これもvpsとバージョンが違う… やっぱりコンパイルエラーが出た。boostのエラー大量過ぎて読む気にならない。素直に環境を合わせようか。
pythonその4 環境周りとdjangoインストール
ファイルの先頭行に何を書くのか? 直接実行したい時は以下を書くと良い。 #!/usr/bin/env python 具体的には直接実行しないクラスを書いたファイルには不要。 デフォルトエンコーディングは書いておいた方が良さそう。 # -*- coding: utf-8 -*- rubyでのrbenvみたいなのは? わたしゃさくらのvpsにubuntu 14.04.02 LTSを入れて学習中。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" なのですが、既に以下の状態。ここから実行環境の切り替えとかできるんだろうか… $ find /usr/bin -name "python*" | xargs ls -l lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python -> python2.7 lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python2 -> python2.7 -rwxr-xr-x 1 root root 3345416 Jun 23 03:51 /usr/bin/python2.7 lrwxrwxrwx 1 root root 9 Mar 23 2014 /usr/bin/python3 -> python3.4 -rwxr-xr-x 2 root root 4061272 Jun 20 00:35 /usr/bin/python3.4 -rwxr-xr-x 2 root root 4061272 Jun 20 00:35 /usr/bin/python3.4m lrwxrwxrwx 1 root root 10 Mar 23 2014 /usr/bin/python3m -> python3.4m rubyのrbenvみたいなのは、direnvかpyenvらしい。virtualenvはその前みたい。誰かその辺の歴史みたいなのとかまとめてくれんかな。direnvはpythonもrubyもまとめて面倒みまっせ的なものみたいだけど、既にrbenvは導入済だし、今回はpyenvでやってみることにする。他の人のやり方を見つつ、以前にrbenv入れたのをhistoryで推測しながら以下を実行した。 % cd /opt % sudo git clone git://github.com/yyuu/pyenv.git pyenv % sudo groupadd pyenv % sudo gpasswd -a ユーザ名 pyenv % sudo chgrp -R pyenv pyenv % sudo chmod -R g+rwxXs /opt/pyenv % sudo mkdir /opt/pyenv/shims % sudo mkdir /opt/pyenv/versions % sudo chmod -R g+rwxXs /opt/pyenv/shims % sudo chmod -R g+rwxXs /opt/pyenv/versions % echo ‘export PYENV_ROOT="/opt/pyenv"’ >> .zshrc % echo ‘if [ -d "${PYENV_ROOT}" ]; then’ >> .zshrc % echo ‘ export PATH=${PYENV_ROOT}/bin:$PATH’ >> .zshrc % echo ‘ eval "$(pyenv init -)"’ >> .zshrc % echo ‘fi’ >> ~/.zshrc % source ~/.zshrc なお、参考にさせていただいたのは以下でございます m(. .)m Ubuntu 12.04でpyenvを利用して速攻でPython3.4 + Nginx + uWSGI + FlaskなWebアプリケーション実行環境を作る (Qiita) Ubuntuにpyenvを用いてpythn環境を構築しました。(たくのこWeb) /usr/binにインストールされているpythonは置いといて、version 3.4.3をインストール。インストール前にdjangoとversionの整合性は確認した。インストールにはそこそこ時間かかる。何やらWARNINGが出てるが、気にしないったら気にしない。 % pyenv install 3.4.3 Downloading Python-3.4.3.tgz… -> https://yyuu.github.io/pythons/4281ff86778db65892c05151d5de738d […]
Trackbacks and Pingbacks on this post
No trackbacks.
- TrackBack URL
Comments on this post