Python begin

656 views
550 views

Published on

新入生用につくったので、すごい適当です。あまり参考にしない方がいいです。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
656
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Python begin

  1. 1. PYTHON でなにできんの?twitter: @ashigirl96 あしがる96113年4月26日金曜日
  2. 2. スクリプト言語文法が簡単で、読みやすいモジュールやドキュメントが豊富やりたいと思うことが(他の言語に比べて)すぐに出来てしまう(かもしれない)そもそもPythonってなに?213年4月26日金曜日
  3. 3. 事前事項※別に他の言語をdisったりしてるわけではないのでご了承ください。権力とかマジこわいんで・・・。313年4月26日金曜日
  4. 4. PYTHONの紹介Pythonは オランダ人のすごい人が作りました彼はPython を 万人が使えるためにした(らしい)Pythonの目標 :  簡易で直感な言語で、主要言語と同程度の強力  オープンソースで誰もが開発可  平易な英語のようにわかりやすい  開発時間を極力短くする                     らしい413年4月26日金曜日
  5. 5. (続き)Pythonは ぱいそん と呼びますPythonを使ってる人を Pythonista と呼びます (ダサくないです)Python は ニシキヘビ って意味です513年4月26日金曜日
  6. 6. インストールしようぜ!http://www.python.org/download/OSにあわせてNE !!613年4月26日金曜日
  7. 7. そろそろ本題に。713年4月26日金曜日
  8. 8. 機械語へ変換する手順を省略して実行出来る言語スクリプト言語って?813年4月26日金曜日
  9. 9. それでは、コンパイル言語 と スクリプト言語 を比較します。  コンパイル言語は 機械語になおしてから実行します。速いです。  コンパイル言語で有名なのは C言語(様)です。913年4月26日金曜日
  10. 10. 例 1 #include<stdio.h> 2  3 int main(void) 4 { 5   int a; 6   char b[]={"@Ashigirl96"}; 7   printf("Hello Worldn"); 8   a=100; 9   printf("%dn%sn",a,b);10   11   return 0;12 }C言語 (様)1013年4月26日金曜日
  11. 11. 実行結果 と その行程ashigirl96% vim c.c [~/Desktop]ashigirl96% gcc c.c [~/Desktop]ashigirl96% ./a.out [~/Desktop]Hello World100@Ashigirl961113年4月26日金曜日
  12. 12. 例Python (さん)1 b="@Ashigirl96"2 print "Hello World"3 a=1004 print "%dn%s"%(a,b)寂しい1213年4月26日金曜日
  13. 13. 実行結果 と その行程ashigirl96% vim c.py [~/Desktop]ashigirl96% python c.py [~/Desktop]Hello World100@Ashigirl961313年4月26日金曜日
  14. 14. 他にも 1 #include<stdio.h> 2  3 int main(void) 4 { 5   int i; 6   for(i=0;i<10;i++){ 7     printf("Hello Worldn"); 8   } 9   while(i != 20){10     printf("@ashigirl96n");11     i+=1;12   }13   return 0;14 }15 1 for i in range(10):2     print "Hello World"3 while i!=20:4     print "@ashigirl96"5     i+=16 C言語(様) Python1413年4月26日金曜日
  15. 15. 実行結果Hello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello World@ashigirl96@ashigirl96@ashigirl96@ashigirl96@ashigirl96@ashigirl96@ashigirl96 1513年4月26日金曜日
  16. 16. 某サイトの某問題 1 z=lambda:raw_input().split() 2 while True: 3     t={} 4     c=input() 5     if c==0:break 6     for i in range(c): 7         f,q=z() 8         t[f]=int(q) 9     for i in range(input()):10         f=z()11         m=sum([t[j] if j in t else 0 for j in f[2:]])12         q=t[f[0]]13         t[f[0]]=q if m>q else m14     print t[raw_input()]C言語(様) Python1 #include <map> 2 #include <iostream> 3 #include <vector> 4 using namespace std; 5 map<string,int> item; 6 map<string,vector<string> > rec; 7   8 int saiki(string str){ 9     int ret = 0;10     if(rec[str].size()){11         for(int i=0;i<rec[str].size();i++){12             ret += saiki(rec[str][i]);13         }14     }else{15         ret=item[str];16     }17     if(item[str]&&item[str]<ret)ret=item[str];18     return ret;19 }20  21 int main(){22     int n,m,t;23     string s,rs;24     while(cin >> n && n){25         item.clear();26         rec.clear();27         for(int i=0;i<n;i++){28             cin >>    s;29             cin >> item[s];30         }31         cin >> m;32         for(int i=0;i<m;i++){33             cin >> rs >> t;34             for(int j=0;j<t;j++){35                 cin >> s;36                 rec[rs].push_back(s);37             }38         }39         cin >> s;40         cout << saiki(s) << endl;41     }42 }1613年4月26日金曜日
  17. 17. ちなみに、さっきの問題を(C言語で)解いたのは 我らプロ研の誇りである   『世界一』の人(部長)。Pythonで解いたのは僕です。1713年4月26日金曜日
  18. 18. ( ˘⊖˘)。o(C言語って長いし、  何書いてるか分かりづらいな。)1813年4月26日金曜日
  19. 19. コレは何の言語ですか?おぃ!てめぇ!何C言語 disってんだよ!例が悪いんだよ殺すぞ!1913年4月26日金曜日
  20. 20. 殺すぞ。2013年4月26日金曜日
  21. 21. ※申し訳ねぇ。Pythonが良いように書きました。殺さないでください。2113年4月26日金曜日
  22. 22. じゃあ見やすいのか。理由 オブジェクト指向だから。2213年4月26日金曜日
  23. 23. オブジェクト指向とは設計や開発で、操作手順より操作対象に重点を置く考え方。データの集合とそれに対するメソッドを『オブジェクト』として、まとめて、  組み合わせて何かを作る指向。2313年4月26日金曜日
  24. 24. よは、車を作るには、・タイヤ・ハンドル・ボディ・エンジン・.etc   っていう部品(メソッド)で組み合わせて作ろうぜ? っていう指向。2413年4月26日金曜日
  25. 25. よって、見やすい部品(メソッド)で見れるから、組み合わせを変えたら違うものができたり。2513年4月26日金曜日
  26. 26. オブジェクト指向の言語Pythonは オブジェクト指向の代表的な言語ですが、他にも Ruby , Perl , Objective-C , C# などなどたくさんあります!!2613年4月26日金曜日
  27. 27. インタプリタに話題転換2713年4月26日金曜日
  28. 28. インタプリタってなんぞ?ソースコードなしで、実行可!!1.ソースコードを直接実行する2.何らかの効率で中間表現にかえ、即座に実行3.コンパイル済みの中間表現を実行!例をみよう。2813年4月26日金曜日
  29. 29. ashigirl96% python [~/Desktop]Python 2.7.2 (default, Oct 11 2012, 20:14:37)[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> for i in range(3):... print i,Hello World...0 Hello World1 Hello World2 Hello WorldPython って入れてみ2913年4月26日金曜日
  30. 30. >>> a = raw_input().split()100 3000 hoge 340023 asldkfja>>> print a[100, 3000, hoge, 340023, asldkfja]>>> print a[0]100>>> a[1]3000>>> a[2]hoge>>> a[3]340023>>>print はなくても良い3013年4月26日金曜日
  31. 31. すっごい楽(しい)やろ?3113年4月26日金曜日
  32. 32. おもんない。話題変えろ3213年4月26日金曜日
  33. 33. 例えば、奇数の配列(リスト)作る。『for文で 整数 i を10回まわす、そのとき i%2(iを2で割った余)が ゼロでない場合の i だけリストに入れる』Pythonがどれぐらい英語っぽいか>>>print [i for i in range(10) if i%2 is not 0][1, 3, 5, 7, 9]>>>3313年4月26日金曜日
  34. 34. 続きもし 文字列に “kyuri” が入っていたら、配列(リスト)から取り除く。>>> LIST = [kyuridenamida , homodenamida , kyuri ha sekai iti,homo ha sekai iti , butyoukyuri , tatarikun , mossan ]>>> print [i for i in LIST if kyuri not in i][homodenamida, homo ha sekai iti, tatarikun, mossan]>>>これ3413年4月26日金曜日
  35. 35. ところで、3513年4月26日金曜日
  36. 36. どうせ、お前も、厨二病だろW3613年4月26日金曜日
  37. 37. ブラッディ・マンデイもPYTHONを使ってるよ3713年4月26日金曜日
  38. 38. あっそ。話題変えろ3813年4月26日金曜日
  39. 39. PYTHONで何ができるのか。3913年4月26日金曜日
  40. 40. ScapyをやりましょうScapyってなに?http://www.slideshare.net/reonnishimura5/scapy-presentation-16806081←解説してます(ごめんなさいScapyは Pythonによって作られた パケット生成ツールネットワークについて勉強したい人は必ずやっておくべきです!!ネットワーク興味ある方4013年4月26日金曜日
  41. 41. こういう感じのやつです。4113年4月26日金曜日
  42. 42. Pythonでバイナリ解析できるらしいです。結構知識が必要です、めっちゃ必要です。けど楽しいです。➡この本が良いです。僕は今の所(理解して)読めないです。リバースエンジニアリング ―Pythonによるバイナリ解析技法 (Art Of Reversing) セキュリティに興味ある方4213年4月26日金曜日
  43. 43. こういう感じのやつです。4313年4月26日金曜日
  44. 44. Google App Engine っていうGoogleが提供してるサービスで、 Python,Java,Goなどの言語で、作ることが出来ます。Python用SDK(ソフトデベロップキット)などもあるので、 調べてみたら簡単に作れると思います。Webアプリ制作に興味ある方4413年4月26日金曜日
  45. 45. Django っていうPythonのwebフレームワークがあります。簡単に好きなサイトが作れてしまいます。開発やテスト用の軽量サーバなども提供されてます。データベースの言語も色々使えて便利です。Webサイトに興味ある方4513年4月26日金曜日
  46. 46. Pygame を調べてみましょうビデオゲームを作るために制作されたモジュールのことです。チュートリアル(説明)がたくさんあるので、勉強しやすいです。ゲーム制作に興味ある方4613年4月26日金曜日
  47. 47. こういう感じのやつです。http://www.pygame.org/project-Spacemax-1698-3491.html4713年4月26日金曜日
  48. 48. このようにたくさんできることがあります。もしなにからしていいかわからない。けどプログラミングしたい。そんな方はPYTHONがおすすめです。4813年4月26日金曜日
  49. 49. ご清聴ありがとうございました!4913年4月26日金曜日

×