2008年4月5日土曜日

Python初心者の二日目

新しいPCの環境も整ってきてPythonも入れて少し勉強した。
とりあえずチュートリアルを一通りやろうとpdfをダウンロード。

Python チュートリアル (PDF)
http://www.python.jp/doc/pdf/nightly/tut.pdf

が、開けない。アドビリーダーがインストールできないっ・・・!!
vistaやってくれる、そこにしびれる憧れない。
インストーラーを実行してもうんともすんとも言わない。
検索すると以下のような記事が。



 1)AdobeのDownLoad Manegaerが起動

 2)ダウンロードが完了すると下記フォルダにファイルが展開される

   C:\Users\hogehoge\AppData\LocalLow\NOS\Adobe_Downloads



   展開されたファイルは

    Setup.exe、setuo.ini、Data1.cab、AcroReader.msi、abcpy.ini



となりましたので



 3)上記フォルダ内のファイルを全て別フォルダに退避。

 4)セットアップを中断し、PCを再起動。

 5)退避させたsetup.exeのプロパティ→互換性→「視覚テーマを無効にする」にチェック

 6)setup.exeを起動しインストール



Adobe Reader8.1 のインストール ネットワーク管理者というお仕事 から2008年4月6日に引用

とりあえず視覚テーマを無効にすればできました。AdobeはVistaに対応したと書いてるけどしてないという罠。いや、仕様ですか・・・><
これでチュートリアル読めるようになったので本題に入ります。

今日のPython(今日のわんこ的な意味で)


まだまだ初歩的です。間違った理解してる箇所があるかもしれませんのでご了承ください><

起動->python
終了->import sys;sys.exit()かControl-Z
sysはシステムクラス?importはJavaといっしょ

python -c [command]でコマンド実行
python -c print "Hello world"→×
-c オプションのあとはすべて""で囲む。エスケープは\
正解は→python -c "print \"Hellow Woerld\""

コメントは#で始まる

>>> = 一次プロンプト
... = 二次プロンプト

対話モードでは代入した変数が保持されてる


>>> width = 10 #エンター押しても表示されないが代入はされてる
>>> width #変数を入力すると値が表示
10
>>> print width #も同じ結果
10


浮動小数点は完全にサポート

>>> 7/2 #整数の演算は切り捨てだが
3
>>> 7.0/2 #7を7.0にして割ると
3.5
>>> 7.0/3 #無理数も
2.3333333333333335


複素数もサポート(複素数=2乗すると-1になる数字)
よくわからん


対話モードでは最後に印字された式が変数が"_"に代入される
文字列は×この変数は読み込み専用として使うべき
→print を使わずに直接""で囲んで表示させると文字列も_変数に入る

>>> 3+3
6
>>> _
6
>>> print "10" #文字の10を印字
10
>>> _ #式のみなので最後の6が表示される
6
>>> "Hello" #直接印字
'Hello'
>>> _ #'Hello'が入っている
'Hello'


文字列は''で囲う
文字の末尾をバックスラッシュにすると改行してかける
(理論的にはつながっている)
出力はprintを使わないとそのまま表示される

>>> hello = "こんにちは\
... はじめまして"
>>> print hello
こんにちははじめまして
>>> hello
'unicode...'


文字リテラルに"raw"(未加工)

>>> r"test\n\
... tetest!!"
'test\\n\\\ntetest!!"
>>> print r"test\n\
... tetest!!"
test\n\
tetest!!


"""もしくは'''を使うと行末エスケープが不要になる

>>> t = """test
... te
... testtttt"""
>>> print t
test
te
testtttt


文字列の演算

>>> t = "test"
>>> e = "exam"
>>> te = t + e #+は結合
>>> print te
testexam
>>> print te*10 #*で繰り返し
testexamtestexamtestexamtestexamtestexamtestexamtestexamtestexamtestexamtestexam

隣り合った文字列はそのまま連結する


今日は以上です。
Pythonの徹底的にシンプルに書ける文法にはまりつつあります。
モチベーションのために何か簡単なサービスを考えて目標としたいところ。

0 件のコメント: