PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 "

Similar documents
JavaプログラミングⅠ

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

JavaScriptプログラミング入門 2.JavaScriptの概要

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

正規表現概要

ICONファイルフォーマット

構造体

Prog1_2nd

プログラミング実習I

C 資料 電脳梁山泊烏賊塾 構造体 C++ の構造体 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する 定義と変数宣言 C++ に

ファイル操作

講習No.9

正規表現応用

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

<4D F736F F D20837D836A B5F93C192E88C AC888D593FC97CD5F2E646F63>

Microsoft Word - no103.docx

プレポスト【解説】

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

Java講座

Microsoft PowerPoint - prog04.ppt

Prog1_10th

Report#2.docx

文字コード略歴 よこやままさふみ社内勉強会 2012/05/18 文字コード略歴 Powered by Rabbit 2.0.6

ファイル操作-バイナリファイル

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ファイル入出力

ポインタ変数

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

基礎プログラミング2015

プロセス間通信

Prog1_3rd

VB6互換のファイルの処理

kiso2-03.key

C プログラミング 1( 再 ) 第 4 回 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 1

講習No.8

正規表現詳細

データファイル形式データファイルは ヘッダレコード 明細レコード トレーラレコードで構成されます 各レコードは 改行コード (CR+LF) で改行されます 注意事項 データファイル ヘッダ明細 ~ 明細トレーラ 梱包形式出荷データにつきましては 上記の構成とは異なります 詳細は 出荷データのレイアウ

文字列 2 前回の授業ではコンピュータ内部での文字の取り扱い 文字型の変数 文字型変数への代入方法などを学習した 今回は 前回に引き続き 文字処理を学習する 内容は 標準入出力 ( キーボード ディスプレイ ) での文字処理 文字のファイル処理 文字を取り扱うライブラリ関数である 標準入出力 Lin

PowerPoint Presentation

Microsoft PowerPoint - ruby_instruction.ppt

memo

グラフィックス

Report#2.docx

Prog1_6th

ファイル入出力

sinfI2005_VBA.doc

1 はじめに このアプリケーションは 計算機ハードウェア論 のアセンブリ言語 ( 超簡単命令セット ) の理解を助けるために製作されました 便宜的に機能を追加 削除した箇所があるため このアプリケーション上での動き方が実際のCPUでの動き方と異なる場合があることに留意してください このアプリケーショ

Microsoft PowerPoint - char-1605temp.ppt [互換モード]

Microsoft PowerPoint - kougi6.ppt

文法と言語 ー文脈自由文法とLR構文解析2ー

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 ゲームプログラミング スプライト スプライト Pygame では pygame.sprite を用いる事でスプライトの管理 描画 衝突判定等を簡単に行う事が出来る 此れを利用してキャラクター操作に関する各種機能をスプライトクラスとして 1 個

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

回文作成支援プログラム

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

Microsoft PowerPoint - 5Chap15.ppt

Prog1_10th

JavaScriptで プログラミング

SOC Report

JavaプログラミングⅠ

文字列操作と正規表現

コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 1 バイトの表示文字とし アルファベット文字以外は変換しない 1. #include <stdio.h> 2. #include <ctype.h> /*troupper,islower,isupper,tol

VB実用Ⅲ⑩ フリーデータベースⅡ

Microsoft PowerPoint - prog03.ppt

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

第2回講義:まとめ

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

2006年10月5日(木)実施

PowerPoint プレゼンテーション

C 資料 電脳梁山泊烏賊塾 キャスト C++ のキャスト 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する C++ でのキャスト

解答編 第 9 章文字データの取り扱い 演習問題 9.1 文法事項 1 ) コンピュータにおける 文字データの取り扱いについて説明しなさい コンピュータでは 文字に整数の番号を割り当てて ( コード化して ) 文字コードとして扱います 実際に用いられる文字コードとして ASCII コード EUC コ

PowerPoint プレゼンテーション

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

02: 変数と標準入出力

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

BACREX小売パターンドキュメント

Prog2_2nd

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

出力可能なバーコードの種類 出力可能なバーコードの種類各バーコードはそれぞれのバーコードの仕様に準拠します バーコードの種類 PDF417 MICROPDF417 対応バーコードの名称 PDF417 マイクロ PDF417 操作例 PDF417 商品コードの内容を PDF417 にする 作成された

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

4 Mule(Emacs)

Delphi/400バージョンアップに伴う文字コードの違いと制御

JavaプログラミングⅠ

モグラ叩きプログラム

02: 変数と標準入出力

Si 知識情報処理

注意事項 データファイル形式データファイルは ヘッダレコード 明細レコード トレーラレコードで構成されます 各レコードは 改行コード (CR+LF) で改行されます データファイル ヘッダ明細 ~ 明細トレーラ データファイル名 送受信 受信 送信 受信 受信ファイルの場合 上記圧縮ファイル名でダウ

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

BACREX小売パターンドキュメント

PowerPoint プレゼンテーション

VB.NET解説

シーケンシャルファイルの操作

JavaプログラミングⅠ

Prog1_15th

PowerPoint プレゼンテーション

メソッドのまとめ

デジタル表現論・第6回

フィルタとは

相性占いプログラム

<88C993BF E815B836C EF3904D B838C A88EE688F890E6976C91A4816A2E786C73>

Transcription:

PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う " 文字列 " ' 文字列 ' 他のプログラミング言語ではダブルクオーテーションとシングルクオーテーションで囲う場合では エスケープ処理等の扱いが異なる物が多いが Python では孰れも全く同じで有る 文字列の標準出力への出力 print 関数は引数に指定されたオブジェクトを標準出力に出力する print 関数は引数の出力の後 自動的に改行 ( n) を追加して出力する 猶 引数の最後がカンマ (, ) で終わって居る場合は改行が出力されない 複数の引数を指定する場合は カンマ (, ) で区切って複数の引数を記述する 此の場合 2 個目の引数からは頭に空白が 1 個付加されて出力される 従って カンマで区切って出力する場合は 此の様に空白が 1 個含まれて了うので 空白を入れたくない場合は 出力する文字列を連結してから出力する print 関数の引数に文字列以外を指定した場合には 先ず文字列に変換してから出力が行われる エスケープシーケンス Python ではダブルクオーテーションで囲った文字列でもシングルクオーテーションで囲った文字列でもエスケープシーケンスを使用する事が出来る 使用出来るエスケープシーケンスは 下記の通りで有る エスケープシーケンス 意味 文字そのもの ' シングルクオーテーション " ダブルクオーテーション a ベル b バックスペース f 改ページ r キャリッジリターン n 改行 t 水平タブ v 垂直タブ N{name} Unicode データベース中で名前 name を持つ文字 uxxxx 16 ビットの16 進数値 xxxx を持つUnicode 文字 Uxxxxxxxx 32 ビットの16 進数値 xxxxxxxx を持つUnicode 文字 -1-

ooo 8 進数 ooo を持つASCII 文字 xhh 16 進数 hh を持つASCII 文字 0 NULL +( 改行 ) 文字列を途中で改行する ( 行継続記号 ) 長い文字列の場合に 下記の様にプログラム中で改行するとエラーと成る "The browser displays an error message" 上記の様な場合には 下記の様に改行の直前に を入力する "The browser displays an error message" の直後に改行が有る場合には 行が次の行へ続いて居る事を表すので 上記は下記の様に 1 行で記述された場合と同じ扱いに成る "The browser displays an error message" トリプルクオーテーション 文字列を作成する方法として 下記の様にシングルクオーテーション ( ' ) かダブルクオーテーション ( " ) を 3 個続けた物で文字列を囲う方法が有る 此の場合 複数行の文字列を作成する事が出来る """1 行目文字列 2 行目文字列 3 行目文字列 """ '''1 行目文字列 2 行目文字列 3 行目文字列 ''' 此の場合 プログラム中で改行されて居る箇所は 改行文字で有る n が入力されて居ると看做される 例えば下記の様に使用する print("""<html> <head> <title>test</title> </head> <body> <p>test Page</p> </body> </html>""") 猶 此の形式の場合には 文字列の中で単独のダブルクオーテーションやシングルクオーテーションを使う時にエスケープシーケンスは必要無い ( エスケープシーケンスを使用しても問題は無い ) -2-

raw 文字列 raw 文字列を使用する事でエスケープシーケンスを無効にする事が出来る raw 文字列は下記の様に通常の文字列の先頭に r 又は R を付けた物で有る r" 文字列 " r' 文字列 ' R" 文字列 " R' 文字列 ' raw 文字列は ファイルのパスの様な 記号を多く含む文字列を作成する場合に便利で有る r"c: My Document node track test.txt" 猶 raw 文字列でも ダブルクオーテーションで囲った文字列の中にダブルクオーテーションを含める場合は " とする必要が有る 亦 シングルクオーテーションの場合も同様に ' とする バイト列と文字列 バイト列は特定のエンコード方式でエンコードされて居り リテラルでは b'a' の様に表現する 一方 文字列は Unicode のコードポイントを並べた物で有り リテラルでは ' あいう ' の様に表現する b"squid" # バイト列 b'squid' # バイト列 " 烏賊 " # 文字列 ' 烏賊 ' # 文字列 Python3 のバイト列は Python2 のバイト文字列と扱いが似て居るが Python2 のバイト文字列は文字列で有るが Python3 のバイト列は文字列ではない全く別の型で有る Python3 の文字列と Python2 のユニコード文字列は同等と考えて良い リテラル表記に違いが有り u を文字列の前につけなくてはならなかった Python2 のユニコード文字列に対して Python3 の文字列は其れが不要で有る 猶 バイト列は 非 ASCII 文字を含む場合 リテラル表記が使えないので 文字列を特定のエンコード方式でエンコードする必要が有る print(b" 烏賊 ") print(" 烏賊 ") # SyntaxError # 烏賊 print(b" xe7 x83 x8f xe8 xb3 x8a".decode('utf-8')) # 烏賊 print(" 烏賊 ") # 烏賊 因みに 非 ASCII 文字の文字コードは 下記の様にして取得する事が出来る print(" 烏賊 ".encode('utf-8')) # b' xe7 x83 x8f xe8 xb3 x8a' -3-

両者を type 関数で確認すると バイト列は bytes 型で有り 文字列は str 型で有る事が解る print(type(b"a")) print(type("a")) # <class 'bytes'> # <class 'str'> 前述の様に Python3 のバイト列は文字列ではない 其の為 文字列と連結不可能で有るし サポートして居るメソッドも異なる 両者の標準出力の例を 下記に示す ( 文字列は sys.stdout に バイト列は sys.stdout.buffer に書き込む ) import sys sys.stdout.write(' あ ' + ' いう ' + ' n') sys.stdout.buffer.write((' あ ' + ' いう ' + ' n').encode('utf-8')) 文字列は文字を Unicode として扱い 日本語の様な全角文字でも アルファベットの様な ASCII 文字でも 1 文字を 1 文字として扱う バイト列がバイト単位なのに対して Unicode 文字列では文字単位で処理を行う事が出来る 其の為 通常 Python で日本語を取り扱う場合は文字列を使用する 文字列の連結 文字列の連結には 下記の様に + 演算子を使用する print("python" + "3.7") # print("python " + b"3.7".decode('utf-8')) print(" 西暦 " + "2000 年 ") 文字列とバイト列の連結は出来ない (TypeError が発生する ) バイト列を文字列と連結するには 一旦バイト列をデコードして文字列に変換する必要が有る 文字列の繰り返し 文字列の繰り返しには 下記の様に * 演算子を使用する * 演算子は * 演算子の左辺の文字列を右辺に指定した数値だけ繰り返した新しい文字列を返す print("-" * 40) print("~" * 20) 文字列の長さ 文字列の長さを取得するには 下記の様に len 関数を使用する 通常の文字列の場合はバイト数 Unicode 文字列の場合は文字数を取得する print(len("squid")) # 5 print(len(" 烏賊 ")) # 2-4-

数値を文字列に変換 文字列以外の数値等のオブジェクトを文字列に変換するには 下記の様に str 関数を使用する print("year" + str(2000)) print(" 円周率 " + str(3.14159)) インデックスを指定して要素を取得 文字列を構成する個々の要素は 先頭から順に割り当てられたインデックス番号を指定する事で 個別に取得する事が可能で有る ( 要素番号は 0 から順に番号が割り当てられるが 負の値を指定する事も可能で -1 なら一番最後の要素 -2 なら最後から二番目の要素と成る ) str = "Hello" print(str[0]) # H print(str[1]) # e print(str[2]) # l print(str[3]) # l print(str[4]) # o 非 ASCII 文字を含む文字列も同じ様にインデックスを指定して要素を取得する事が出来る 文字列では個々の要素は文字単位なので 要素も文字単位と成る str = " 烏賊の王様 " print(str[0]) # 烏 print(str[1]) # 賊 print(str[2]) # の print(str[3]) # 王 print(str[4]) # 様 部分文字列の取得 部分文字列を取得するには 下記の様にスライス機能を使用する str = "ABCDE" print(str[1:3]) print(str[1:-1]) #"BC" #"BCD" スライス機能の書式は 下記の通りで有る 文字列オブジェクト [ 開始インデックス : 終了インデックス ] 終了インデックスを省略すると最後の文字の次のインデックスが指定された事に成り 結果的に開始インデックスから最後の文字迄が抽出される 亦 開始インデックスを省略すると最初の文字の前のインデックスが指定された事に成り 結果的に先頭の文字から終了インデックスの前の文字迄が抽出される -5-