[Python] 高速勉強 #9 「関数、クラス、モジュール」

2016/09/25

Python テクノロジー プログラミング 学習 特集

t f B! P L
Pythonの基礎勉強も今回でラストです。 一通りの書き方が分かれば、何かツールを作ってみるのがいいでしょう。 ただし、apacheやnginxの設定はデフォルトでは対応していないので、WEBページアプリなどを作りたい場合は、サーバー設定から行う必要があります。 今回はサーバー設定には触れていないので、次回以降ツール開発サンプルを通してサーバー設定なども触れていきます。 とりあえず、今回は「関数」「クラス」「モジュール」というオブジェクト指向の基本構造体がメインなので、この書き方をマスターすればpythonの言語基本形はマスターしたと考えてもいいでしょう。 でも、言語は使い慣れてナンボ!です。どんどんツール作りましょうね。

関数

#19 関数を使ってみよう

関数を使ってみる

def hello(): print "hello" hello()

引数

def hello(name): print "hello %s!" % name hello("tom") hello("steve")

返り値

def hello(name): return "hello %s!" % name s = hello("tom") print s

スコープなど

#20 変数のスコープとpassについて

変数のスコープ(有効範囲)

関数内の変数は、その関数内でのみ有効 name = "hoge" def hello(): name = "test" print name > hoge

pass

関数の記述をスキップする場合は「pass」を使用する def hello2(): pass

mapとlambda

#21 map、lambdaを使ってみよう

リストの要素に対して摘要させるmap機能

def double(x): return x * x print map(double , [ 2 , 5 , 8 ]) > [ 4 , 25 , 64 ]

無名関数(lambda)

print map(lambda x: x * x , [2 , 5 , 8]) > [ 4 , 25 , 64 ]

オブジェクト

#22 オブジェクトを作ってみよう

オブジェクト:複雑なプログラムのデータ構造(変数と関数をまとめたもと)

クラス:オブジェクトの設計図 インスタンス:クラスを実体化したもの

クラス

class User(object): # クラス実行時に最初に呼ばれる関数 def __init__(self , name): self.name = name def greet(self): print "My name is %s" % self.name bob = User("Bob") tom = User("Tom") print bob.name bob.greet() tom.greet()

クラス継承

#23 クラスを継承してみよう 継承:クラスを同じ性質で別のクラスとして拡張したりすること class User(object): def __init__(self , name): self.name = name def greet(self): print "My name is %s" % self.name class SuperUser(User): def shout(self): print "%s is SUPER!!" % self.name bob = User("Bob") tom = SuperUser("Tom") tom.greet() tom.shout()

モジュール

#24 モジュールを使ってみよう Pythonの公式サイトで確認(ver2用)

​数学的モジュール(math)

#coding: UTF-8 import math # 切り上げ print math.ceil(5.2) > 6.0

乱数

#coding: UTF-8 import random for i in range(5): print random.random() > 0.619632689376 > 0.186112412146 > 0.733562566163 > 0.0496740693084 > 0.201385672489

日付

#coding: UTF-8 from datetime import datetime print date.today() > 2016-09-19

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ