Python begin
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Python begin

  • 592 views
Uploaded on

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

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
592
On Slideshare
577
From Embeds
15
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 15

http://reonreon3reon.hatenablog.com 15

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PYTHON でなにできんの?twitter: @ashigirl96 あしがる96113年4月26日金曜日
  • 2. スクリプト言語文法が簡単で、読みやすいモジュールやドキュメントが豊富やりたいと思うことが(他の言語に比べて)すぐに出来てしまう(かもしれない)そもそもPythonってなに?213年4月26日金曜日
  • 3. 事前事項※別に他の言語をdisったりしてるわけではないのでご了承ください。権力とかマジこわいんで・・・。313年4月26日金曜日
  • 4. PYTHONの紹介Pythonは オランダ人のすごい人が作りました彼はPython を 万人が使えるためにした(らしい)Pythonの目標 :  簡易で直感な言語で、主要言語と同程度の強力  オープンソースで誰もが開発可  平易な英語のようにわかりやすい  開発時間を極力短くする                     らしい413年4月26日金曜日
  • 5. (続き)Pythonは ぱいそん と呼びますPythonを使ってる人を Pythonista と呼びます (ダサくないです)Python は ニシキヘビ って意味です513年4月26日金曜日
  • 6. インストールしようぜ!http://www.python.org/download/OSにあわせてNE !!613年4月26日金曜日
  • 7. そろそろ本題に。713年4月26日金曜日
  • 8. 機械語へ変換する手順を省略して実行出来る言語スクリプト言語って?813年4月26日金曜日
  • 9. それでは、コンパイル言語 と スクリプト言語 を比較します。  コンパイル言語は 機械語になおしてから実行します。速いです。  コンパイル言語で有名なのは C言語(様)です。913年4月26日金曜日
  • 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. 実行結果 と その行程ashigirl96% vim c.c [~/Desktop]ashigirl96% gcc c.c [~/Desktop]ashigirl96% ./a.out [~/Desktop]Hello World100@Ashigirl961113年4月26日金曜日
  • 12. 例Python (さん)1 b="@Ashigirl96"2 print "Hello World"3 a=1004 print "%dn%s"%(a,b)寂しい1213年4月26日金曜日
  • 13. 実行結果 と その行程ashigirl96% vim c.py [~/Desktop]ashigirl96% python c.py [~/Desktop]Hello World100@Ashigirl961313年4月26日金曜日
  • 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. 実行結果Hello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello World@ashigirl96@ashigirl96@ashigirl96@ashigirl96@ashigirl96@ashigirl96@ashigirl96 1513年4月26日金曜日
  • 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. ちなみに、さっきの問題を(C言語で)解いたのは 我らプロ研の誇りである   『世界一』の人(部長)。Pythonで解いたのは僕です。1713年4月26日金曜日
  • 18. ( ˘⊖˘)。o(C言語って長いし、  何書いてるか分かりづらいな。)1813年4月26日金曜日
  • 19. コレは何の言語ですか?おぃ!てめぇ!何C言語 disってんだよ!例が悪いんだよ殺すぞ!1913年4月26日金曜日
  • 20. 殺すぞ。2013年4月26日金曜日
  • 21. ※申し訳ねぇ。Pythonが良いように書きました。殺さないでください。2113年4月26日金曜日
  • 22. じゃあ見やすいのか。理由 オブジェクト指向だから。2213年4月26日金曜日
  • 23. オブジェクト指向とは設計や開発で、操作手順より操作対象に重点を置く考え方。データの集合とそれに対するメソッドを『オブジェクト』として、まとめて、  組み合わせて何かを作る指向。2313年4月26日金曜日
  • 24. よは、車を作るには、・タイヤ・ハンドル・ボディ・エンジン・.etc   っていう部品(メソッド)で組み合わせて作ろうぜ? っていう指向。2413年4月26日金曜日
  • 25. よって、見やすい部品(メソッド)で見れるから、組み合わせを変えたら違うものができたり。2513年4月26日金曜日
  • 26. オブジェクト指向の言語Pythonは オブジェクト指向の代表的な言語ですが、他にも Ruby , Perl , Objective-C , C# などなどたくさんあります!!2613年4月26日金曜日
  • 27. インタプリタに話題転換2713年4月26日金曜日
  • 28. インタプリタってなんぞ?ソースコードなしで、実行可!!1.ソースコードを直接実行する2.何らかの効率で中間表現にかえ、即座に実行3.コンパイル済みの中間表現を実行!例をみよう。2813年4月26日金曜日
  • 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. >>> 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. すっごい楽(しい)やろ?3113年4月26日金曜日
  • 32. おもんない。話題変えろ3213年4月26日金曜日
  • 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. 続きもし 文字列に “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. ところで、3513年4月26日金曜日
  • 36. どうせ、お前も、厨二病だろW3613年4月26日金曜日
  • 37. ブラッディ・マンデイもPYTHONを使ってるよ3713年4月26日金曜日
  • 38. あっそ。話題変えろ3813年4月26日金曜日
  • 39. PYTHONで何ができるのか。3913年4月26日金曜日
  • 40. ScapyをやりましょうScapyってなに?http://www.slideshare.net/reonnishimura5/scapy-presentation-16806081←解説してます(ごめんなさいScapyは Pythonによって作られた パケット生成ツールネットワークについて勉強したい人は必ずやっておくべきです!!ネットワーク興味ある方4013年4月26日金曜日
  • 41. こういう感じのやつです。4113年4月26日金曜日
  • 42. Pythonでバイナリ解析できるらしいです。結構知識が必要です、めっちゃ必要です。けど楽しいです。➡この本が良いです。僕は今の所(理解して)読めないです。リバースエンジニアリング ―Pythonによるバイナリ解析技法 (Art Of Reversing) セキュリティに興味ある方4213年4月26日金曜日
  • 43. こういう感じのやつです。4313年4月26日金曜日
  • 44. Google App Engine っていうGoogleが提供してるサービスで、 Python,Java,Goなどの言語で、作ることが出来ます。Python用SDK(ソフトデベロップキット)などもあるので、 調べてみたら簡単に作れると思います。Webアプリ制作に興味ある方4413年4月26日金曜日
  • 45. Django っていうPythonのwebフレームワークがあります。簡単に好きなサイトが作れてしまいます。開発やテスト用の軽量サーバなども提供されてます。データベースの言語も色々使えて便利です。Webサイトに興味ある方4513年4月26日金曜日
  • 46. Pygame を調べてみましょうビデオゲームを作るために制作されたモジュールのことです。チュートリアル(説明)がたくさんあるので、勉強しやすいです。ゲーム制作に興味ある方4613年4月26日金曜日
  • 47. こういう感じのやつです。http://www.pygame.org/project-Spacemax-1698-3491.html4713年4月26日金曜日
  • 48. このようにたくさんできることがあります。もしなにからしていいかわからない。けどプログラミングしたい。そんな方はPYTHONがおすすめです。4813年4月26日金曜日
  • 49. ご清聴ありがとうございました!4913年4月26日金曜日