プログラミング

文字列操作

【Python】文字列操作:文字列中に含まれる文字列の個数を数える

嫁ちゃん 文章の中に含まれる特定の文字が何個あるか数えたいんですけど? わたし そんなときは、 str型の count() メソッドを使うといいよー♪ はじめに str.count() は、文字列中に含まれる特定の文字列の数を数えるメソッドです。 用法 str.count(sub])) の範囲に、部分文字列subが重複せず出現する回数を返します。オプション引数startおよびendはスライス表記と...
文字列操作

【Python】文字列操作:find()、index() 文字列の検索

嫁ちゃん 指定した文字列が文字列内のどの位置(インデックス)にあるか知りたいんですけど? わたし str型の find() メソッドを使えば、文字列の位置がわかるよ! はじめに str型には find() や index() メソッドが用意されており、文字列中に指定した文字列がどの位置(インデックス)にあるか調べることができます。index() メソッドは、指定した文字列が見つからなかったとき、V...
文字列操作

【Python】文字列操作:空白や指定文字の削除

嫁ちゃん 文字列の前後に空白が入っているので、取り除きたいのですけど? わたし strip() を使えば、空白や指定文字を取り除くことができるよー。 はじめに strip() メソッドは文字列の前後または、先頭、末尾にある不要な空白や文字を削除(除去)します。引数で文字を指定しなかった場合、タブや改行なども空白として削除されます。引数 charsは削除される文字集合ですので、完全一致の文字列ではあ...
文字列操作

【Python】文字列操作:join() で文字列を連結(結合)する

嫁ちゃん 文字列を繋(つな)ぎあわせたいんですけど? わたし join() メソッドを使えば簡単に繋ぎあわせることができるよ。 はじめに join() メソッドを使えば、要素間(文字と文字の間(あいだ))にセパレータ(区切り文字)を入れることもできます。文字列の連結なので、数値がリストに含まれているとエラーが出力されます。 用法 str.join(iterable) iterable 中の文字列を...
文字列操作

【Python】文字列操作:文字列を replace() で置き換える

嫁ちゃん 文字列を違う文字に置き換えたいんですけど? わたし str型には「replace()」という文字列置換のメソッドが用意されているよ。 はじめに 文字列中の指定された文字を別の文字に変換します。 用法 str.replace(old, new) 文字列をコピーし、現れる部分文字列old全てをnewに置換して返します。オプション引数countが与えられている場合、先頭からcount個のold...
文字列操作

【Python】文字列操作:文字列を分割する

嫁ちゃん カンマ区切りの文字列などを分割したいのですが? わたし str型には便利なメソッドが用意されているよ はじめに 文字列を指定した文字で分割する方法 用法 str.split(sep=None, maxsplit=-1) 文字列をsepをデリミタ文字列として区切った単語のリストを返します。maxsplitが与えられていれば、最大でmaxsplit回分割されます (つまり、リストは最大max...
文字列操作

【Python】文字列操作:文字列の最初の文字を大文字に変換

嫁ちゃん 文字列の最初の文字を大文字にできると聞いたんですけど。 わたし 文字列 str型には capitalize() というメソッドが用意されているよ。 はじめに 文字列の最初の文字を大文字に変換する方法 用法 str.capitalize() str型はイミュータブルなので、変数内の文字を書き換えるのではなく、変換された文字列 str を返します。 例 firstName = 'ta...
Tkinter

【Python】Tkinter:デスクトップアプリで「Hello world」を表示する

嫁ちゃん デスクトップ(ウィンドウ)アプリを作りたいんですけど? わたし では、デスクトップアプリ版の簡単「Hello world」を作ってみよー! はじめに tkinterモジュールを使って簡単なウィンドウを表示してみます。 「Hello world.」だけでは寂しいので、簡単なボタン処理もおこないます。 Hello world を表示するアプリの作成 # coding: utf-8 impor...
組み込み関数

【Python】組み込み関数:dir関数でクラスのメソッド一覧を表示

嫁ちゃん 組み込み関数にどんなメソッドがあるか知りたいんですけど? わたし 組み込み関数の「dir()」で、メソッドの一覧を取得できるよ。 はじめに クラスに含まれるメソッドの一覧を取得します。 用法 dir() 引数がない場合、現在のローカルスコープにある名前のリストを返します。引数がある場合、そのオブジェクトの有効な属性のリストを返そうと試みます。 組み込み関数 — Python 3.8.2 ...
文字列操作

【Python】文字列操作:文字列の大文字小文字変換

嫁ちゃん 文字列を大文字や小文字に変換はどうやってするの? わたし 文字列 str型には大文字や小文字にするためのメソッドが用意されているよ。 はじめに 文字列を大文字や小文字に変換する方法 用法 # 大文字 str.upper() # 小文字 str.lower() str型はイミュータブルなので、変数内の文字を書き換えるのではなく、大文字や小文字に変換された文字列 str を返します。 例 #...
文法

【Python】例外処理 try except の使い方

嫁ちゃん input 関数などで、数字だけを入力して欲しいのに、英単語とか入力されたら困りますよね。 わたし 例外処理 try-except を使って、実行中のエラーをキャッチしてみよう 例外処理をしなかった場合の記述 以下例は、数字の入力を求め、その数字を出力するプログラムになります。 x = int(input("数字を入力してください:")) print("入力された数字は、", x, " ...
文法

【Python】グローバル変数の書き方と注意点

嫁ちゃん 変数にはローカル変数とグローバル変数があると聞いたのですが、どんなの? わたし 変数が使用できる範囲(スコープ)が違うんだよ。 グローバル変数 グローバル変数とローカル変数の違い グローバル変数とローカル変数の違いは、変数が使用できる範囲(スコープ)の違いにあります。 ローカル変数(ローカルスコープで宣言された変数)は関数やクラス内で宣言された変数で、これは別の関数からは基本的には参照で...
組み込み関数

【Python】組み込み関数:int関数の使い方

嫁ちゃん 文字列の数字を数値(整数)として扱いたいんですけど。 わたし 組み込み関数の「int()」を使うと数値(整数)に変換できるよ。 はじめに 文字列の数字を整数値に変換します。 用法 class int(x, base=10) xが数値でない、あるいはbaseが与えられた場合、xは文字列、bytesインスタンス、bytearrayインスタンスのいずれかで、基数baseの整数リテラルで表された...
組み込み関数

【Python】組み込み関数:input関数でキーボード入力を取得

嫁ちゃん キーボードから入力した値を使ったプログラムを作りたいんですけど。 わたし 組み込み関数の「input」を使うことで実装できるよ! はじめに ターミナルなど CUI(Charactor User Interface)、CLI(Command Line Interface)でキーボードからの入力を取得する組み込み関数 input() を使ってみましょう 用法 input() 引数prompt...
Tkinter

【Python】Tkinter:メッセージボックスを表示する

嫁ちゃん ターミナルの文字だらけで疲れてきたよ。 わたし 気分転換にメッセージボックスを表示してみよー! はじめに tkinter.messagebox モジュールを使って簡単なウィンドウを表示してみます。 用法 from tkinter import messagebox messagebox.('', '') メソッドの種類 messagebox.showinf...
文字列操作

【Python】文字列操作:文字列中の文字の全角半角判定

嫁ちゃん 文字列内の全角半角の区別をつけたいなー わたし 文字列から1文字づつ取り出して、判定してみよう! はじめに 文字列から1文字づつ取り出して unicodedata.east_asian_width() を使って全角と半角を判定してみます。 用法 import unicodedata ret = unicodedata.east_asian_width(chr) ユニコード文字chr に割...
文法

【Python】for文の書き方

嫁ちゃん 繰り返し処理をおこなうのはどうするの? わたし for文を使うと繰り返し処理をおこなうことができるよ。 for文の書き方 用法 for 変数 in オブジェクト: 処理 や、 for 変数 in オブジェクト: 処理 else: ループが終わった際の処理 オブジェクトがリストの場合のfor文 words = for w in words: print(w) aaa bbb ccc オブジ...
環境構築

【Python】環境構築:TensorFlow2 を Mac にインストール

はじめに 対話AIを作成するにあたって、Googleが提供している TensorFlow(テンソルフロー) ライブラリをインストールしました。 TensorFlow 公式サイトはこちら TensorFlow は、機械学習向けに開発されたエンドツーエンドのオープンソース プラットフォームです。研究者が機械学習で最新の実験を行い、デベロッパーが ML 搭載アプリケーションを簡単に開発してデプロイできる...
文字列操作

【Python】文字列操作:インデックスを指定して文字を抽出

嫁ちゃん 文字列から文字を抽出する方法ですね。 わたし 文字列だけど、基本的には配列と一緒なので、インデックスが使えるよ。 はじめに 文字列から文字を抽出する方法にはいろいろな方法があります、ここでは簡単なインデックスを使って1文字取得する方法になります。 インデックスに正数を指定した場合 str = 'abcdefg' print ( str ) 先頭0から数えて3番目の文字が出...
データ型

【Python】辞書操作:要素のソート(並び替え)

嫁ちゃん 今回は辞書のソート(並び替え)ですね。 わたし そうだね。ここでは sorted関数を使って実装します。 辞書のソート(並び替え)も覚えてしまえば、そんなに難しくないので、ここで一緒に学びましょう! 辞書とは? 辞書は他の言語にも "連想記憶 (associated memory)" や "連想配列 (associative array)" という名前で存在することがあります。ある範囲の...
データ型

【Python】辞書操作:要素の削除

嫁ちゃん 今回は辞書から要素を削除する方法ですね。 わたし そうだねー!リストの時と同じ様な方法で要素を削除できるよ。 辞書とは? 辞書は他の言語にも「連想記憶 (associated memory)」や「連想配列 (associative array)」という名前で存在することがあります。ある範囲の数でインデクス化されているシーケンスと異なり、辞書は キー (key) でインデクス化されています...
データ型

【Python】辞書操作:要素の追加・変更

嫁ちゃん 辞書に追加したり、すでにある要素の内容を更新したりできますよね。 わたし そうだねー!嫁ちゃんもよくわかってきたね、優秀ださっそくいってみよー。キーが重複しないように、追加もできるので安全だね。 辞書とは? 辞書は他の言語にも「連想記憶 (associated memory)」や「連想配列 (associative array)」という名前で存在することがあります。ある範囲の数でインデク...
データ型

【Python】辞書操作:キーと値の存在チェックと検索

嫁ちゃん 辞書のキーと値の存在チェックとは、辞書に載っているかどうか確認するという感じですか?便利なような、回りくどいような。。。 わたし 索引のラベルが付いているかどうか確かめる感じかな。値までチェックできるなんてコンピュータのらしい機能だね。 辞書とは? 辞書は他の言語にも "連想記憶 (associated memory)" や "連想配列 (associative array)" という名...
データ型

【Python】辞書操作:辞書の作成

嫁ちゃん 今回は「辞書型 (dictionary)」の使い方ですね。リスト型と似ているようですが、どういう違いがあるの? わたし リスト型と似ているね。リストの各要素に見出しが付いたような感じかな。PHPなどではおなじみの「連想配列」と同じような扱いができるよ。 辞書とは? 辞書は他の言語にも "連想記憶 (associated memory)" や "連想配列 (associative arra...
配列操作

【PHP】多次元配列から指定カラムの配列を作成する array_column()

はじめに 嫁ちゃん 多次元配列から配列を作るってどういうこと?なんかややこしくない? わたし 多次元って聞くとなんか複雑そうな感じもするね。表計算ソフトで言うところの1列分のデータを取ってきて、配列を作る感じかな。 概要 二次元配列は、表ではこのようになりますね。 番号氏名フリガナ年齢1山田 太郎ヤマダ タロウ452宇宙 ひろしウチュウ ヒロシ1003山本 リンダヤマモト リンダ20 ここから「氏...
関数・クラス

【PHP】指定フォルダ内にある画像ファイルの一覧からランダムで1つ選ぶ

はじめに わたしは写真を撮るのが好きで、Twitterに写真を投稿するのですが、特に公に晒してもいい写真を1つのフォルダに集め、そこから写真を一枚選んでTwitterに投稿しています。もちろん「写真を一枚選んで、Twitterへ投稿」という部分はPHPに任せています。 嫁ちゃん 電車の写真ばっかり撮っているよねー。他は何かないのかな? わたし そやなー、あえていうなら、花のマクロ撮影なんかは楽しい...
開発環境

【Mac】Visual Studio Code を使ったPHPの最低限のデバッグ環境の構築

はじめに 小さなプロジェクトで、特にGUIを必要としない小さなプログラム作成には、MacのターミナルでPHPのソースを作成し、そのまま実行するという感じでやってきたのですが、少しリッチな環境「Visual Studio Code」で作業(デバッグ)をしてみたいと思い、この記事にまとめてみました。 嫁ちゃん 今回は「Visual Studio Code」を使ってPHPのデバッグ環境を構築することにな...
ファイル操作

【PHP】ファイルが削除可能かチェックする is_writable

概要 嫁ちゃん なぜファイルが削除可能かチェックするの?どうせ削除するなら確認なんかいらないんじゃないの。 わたし 「ファイルの削除が可能なら、ある処理をした後にファイルを削除する」というような分岐が可能になるよ。 環境 使用OSmacOS Catalina バージョン 10.15.1PHPバージョン is_writable 関数 is_writable 関数は、対象のファイルが書き込みが可能かチ...
データ型

【Python】リスト操作:要素の追加や、リスト結合の方法

概要 作成したリストへの要素の追加、別のリストとの結合をする方法です。 嫁ちゃん リストの要素追加や、リスト結合にはどんな方法があるの? わたし リストへの要素追加にはリストのメソッド「append」「insert」や「+演算子」「スライス」で実現することができるよ。リストの結合はリストのメソッド「extend」や「+演算子」で簡単に結合することができるね。 リストへの要素の追加 コード list...
開発環境

【Mac】Homebrew で Mac に PHP7.3 をインストール

はじめに MacにはもともとデフォルトでPHPが入っていますが、PHPの最新とはいかないので、バージョンアップしてゆきたいと思います。パッケージマネージャ「Homebrew」を使ってインストールしますので、特にむずかい設定等はありません。 作業環境 MacBook Pro (Retina, 13-inch, Early 2015) macOS Catalina バージョン 10.15.3 Home...
Twitter関連

【Twitter】自分のTweet(ツイート)を取得する

はじめに 前回PHPでTwitterの簡単なツイート(つぶやき)をするコーディングをしてみました。今回は、「自分のツイートを取得」してみたいとおもいます。 PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Consumer secret」「Access token」「Access token secr...
Twitter関連

【Twitter】Tweet(ツイート)をしてみる

はじめに PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Consumer secret」「Access token」「Access token secret」の取得が必要です。 ライブラリ「TwitterOAuth」のダウンロード 以下のサイトからライブラリ「TwitterOAuth」一式がダウン...
Twitter関連

【Twitter】Twitterアプリケーション作成のための準備

ブログやホームページを更新した際、広報としてTwitterへ投稿したいなーと思いまして、PHPを使ってTwitterへ投稿する方法など、少しまとめてみました。今回は、Twitterアプリケーション作成の準備について書きたいと思います。 はじめに PHPでTwitterの投稿やツィートを取得するプログラムを作成する為には、事前にTwitterの開発者向けサイトにて「Consumer key」「Con...