Python入門(1)

基本的な内容は全体像を把握しておけば十分です。不安な場合は実装時に確認すればよく、練習を重ねることで自然と覚えるようになります。特に時間を無駄にすることなく、深く掘り下げすぎないようにしましょう。

1.Pythonの予約語

import keyword
print(keyword.kwlist)
print(len(keyword.kwlist))
result: ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

2.Pythonにおけるインデント

Pythonではコードブロックをインデントによって区別します。理論的には任意のスペースが使用可能ですが、一般的には4つのスペースまたは1つのタブが推奨されます。

3.Pythonでの改行

教材では「\」が改行のマークとして紹介されていますが、現在のPyCharmでもこれは非効率な記号として警告が出るようになりました。必要に応じてEnterキーを使用し、問題が発生した場合は確認するようにしてください。多くの実践を通じて、注意すべきポイントを理解できます。

4.Pythonの文字列リテラル

シングルクォートとダブルクォートはどちらも文字列を表します。これらのクォート内では改行が自動的に分割されますが、実際には一つの文字列として扱われ、改行表示されることはありません。

トリプルクォートを使用すると複数行の文字列を定義でき、出力時も複数行で表示されます。さらに、トリプルクォートはコメントとしても利用可能です。

5.Pythonの入出力関数

result = print('hello_')  # result = None
result = input("カード番号を入力してください:")  # result = 000000

6.Pythonの変数

ここはしっかりと理解しておく必要があります。ポインタや参照という概念がないとはいえ、変数とメモリとの関係を把握することは重要です。

命名規則:

  1. 英字、数字、アンダースコアから構成される
  2. 大文字と小文字を区別し、先頭は数字にできません
  3. 予約語を使用してはいけません

代入方法: 単一の値を代入:a = 100 複数の値を同時に代入:a, b, c = 100, None, "hello"

定数:慣習的に大文字の変数名を使用します。これは実際には変数であり、人為的に変更すべきではありません。

7.Pythonのデータ型

(1)数値型 int float bool

a = 2
b = 5

算術演算子: 加算(+): a + b = 7 減算(-): a - b = -3 乗算(*): a * b = 10 除算(/): a / b = 0.4 (浮動小数点へと変換) 整数除算(//): a // b = 0, b // a = 1 剰余(%): a % b = 2 (小数に対する剰余は自身になる) べき乗(**): b ** a = 25

8.Pythonの比較演算子

>, <, >=, <=, !=, == は他の言語と同じです。

9.Pythonの論理演算子

論理積(and) 論理和(or) 否定(not) # 論理演算結果はbool型(True or False)

10.PythonのNone型

他の言語と似たようなもので、特別な予約領域や変数の型として考えられます。

練習コード:

from pyzbar.pyzbar import decode
from PIL import Image
import cv2
import keyword

"""
Pythonの予約語を出力
変数命名規則:
1. 数字、英字、アンダースコア_で構成
2. 大文字と小文字の区別あり、先頭は数字不可
3. 予約語不可
"""
print(keyword.kwlist)
print(len(keyword.kwlist))

multi_line_text = """
今テストしてみましょう
インストールが正常に完了しているか確認します
始めましょう
"""
another_text = ("追加のコメント"
                "うん 何もありません")
print(multi_line_text)
ans = print(another_text)
# ライブラリ関数の戻り値は?
print(ans)

image, num = Image.open('../img/barcode1.png'), 21
# 定数として大文字の変数を使用する慣習。実際には変数だが、意図的に変更しない
print(num)
# 加減乗除、整数除算、剰余、べき乗
print(7 + num)
print(7 - num)
print(7 * num)
print(7 / num)  # 結果は浮動小数点型。計算時にfloatに変換
print(7 // 3)   # C++の整数除算と同等
print(7 % num)  # 商が0の場合は元の値を返す
print(7 ** 2)

if image is not None:
    decoded_objects = decode(image)
    for obj in decoded_objects:
        print('Type:', obj.type)
        result = obj.data.decode('utf-8')
        print('Data:', result)
        img = cv2.imread('../img/barcode1.png')
        org = (50, 50)  # テキストの左下位置
        fontFace = cv2.FONT_HERSHEY_SIMPLEX
        fontScale = 1
        color = (0, 0, 255)
        thickness = 2
        lineType = cv2.LINE_AA
        cv2.putText(img, result, org, fontFace, fontScale, color, thickness, lineType)

        cv2.imshow('Image with Text', img)
        cv2.waitKey(0)
        cv2.destroyAllWindows()

このコードではpyzbarライブラリを使用し、QRコードやバーコードを読み取ります。QRコードの結果は複雑な文字列になりやすく、バーコードの結果は通常数値となります。実行結果は以下の通りです:

タグ: Python プログラミング入門 変数 データ型 演算子

5月16日 04:33 投稿