IT女子がお届けするオフィスワーク効率化・VBA技術紹介

ノンプログラマーによるノンプログラマーのためのやさしい解説付き

スポンサーリンク

【VBA vs Python】 変数・データ型・変数名の規則

当カテゴリ「VBA vs Python」についてはこちらをご覧ください。

第1回目は「変数とデータ型」「変数名の規則」です。
f:id:excel-accounting:20180603201951p:plain:w400

対比表

比較内容
VBA
Python
①変数の宣言 必要(※1) 不要
②データ型の指定 必要(※1) 不要(※2)
③変数名の規則 半角英数字、漢字、ひらがな、カタカナ
_ (アンダースコア)
半角英数字のみで日本語は使用不可
_(アンダースコア)
④変数名の大文字/小文字(※3) 大文字/小文字が異なっても、同一変数と認識される 大文字/小文字が異なれば、別変数と認識される
⑤変数への値代入 通常1行につき1つ 1行で複数の値代入が可能(※4)

(※1)厳密には変数の宣言・型指定ともに省略しても動作はするが、推奨しない

(※2)Pythonは動的型付け言語

動的型付け(どうてきかたづけ、英: dynamic typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型を、コンパイル時などそのプログラムの実行よりも前にあらかじめ決めるということをせず、実行時の実際の値による、という型システムの性質のことである。

(※3)④の具体例
f:id:excel-accounting:20180417165507p:plain

(※4)⑤の具体例
f:id:excel-accounting:20180417165521p:plain

Pythonの基本データ型

分類
データ型
内容
文字列 str型 文字列を扱う
数値 int型 整数を扱う
数値 float型 小数点を扱う
ブール型 bool型 True,Falseを扱う

それでは、「変数に値を代入し、出力する」という基本処理を比較してみましょう。

VBAで書くと

ソースコード

Sub sample()

    '変数の宣言と型の指定
    Dim myname As String '文字列型
    Dim age As Long '整数型
    Dim weight As Double '小数点型
    Dim animal As Boolean 'ブール型
    
    '変数に値の代入
    myname = "さすけ"
    age = 1
    weight = 8.5
    animal = True
    
    'イミディエイトウィンドウに出力
    Debug.Print "名前→" & myname
    Debug.Print "年齢→" & age
    Debug.Print "体重→" & weight
    Debug.Print "動物?" & animal

End Sub

実行結果

名前→さすけ
年齢→1
体重→8.5
動物?True

Pythonで書くと

ソースコード

#変数に値の代入
myname = 'さすけ'
age = 1
weight = 8.5
animal = True

#変数のデータ型を確認する
print(type(myname))
print(type(age))
print(type(weight))
print(type(animal))

#インタラクティブシェルに出力
print('名前→' + myname)
print('年齢→' + str(age))#str()で文字列形式に変換
print('体重→' + str(weight))
print('動物?' + str(animal))

実行結果

f:id:excel-accounting:20180417170635p:plain

比較まとめ

Pythonは、
・変数の宣言、データ型指定ともに不要。
・変数名に日本語は使用不可。
・変数名のアルファベット大文字/小文字は区別される(別変数として認識される)
・変数への値代入は、カンマ区切りを使うと1行で記載できる。
・コメントアウトは#(シャープ)で記述

スポンサーリンク