リキッドジャンパー Python 【MAYA2022】除算はfloat型-Python 2からPython 3に移行する際の注意点

【MAYA2022】除算はfloat型-Python 2からPython 3に移行する際の注意点

maya2022_python3_topimage

MAYA2022でスクリプト言語としてPython 3がサポートされ、今までの対応言語Python 2とは変わった点が幾つかあります。

Python 2から追加・変更、又は廃止された機能など、それまでの記述方法に慣れている方ほど注意が必要かもしれません。



これまでPython 2で作成してきたスクリプトをPython 3のMAYA2022以降でも使用する場合は多少修正が必要になる可能性があります。

MAYA2022以降で新たにスクリプトを作成する場合は勿論、これまで作成してきたスクリプトをPython 3でも利用する為にも、Python 2からPython 3で変わった点を知る必要があるでしょう。

この記事では、Python 2からPython 3で変更されたポイントの1つ「除算の値はFloat型で返される」を説明したいと思います。

※MAYA2022にインストールされているPython 3のバージョンは3.7です。


>>Autodesk Maya の詳細と購入

除算はfloat型-Python 2からPython 3に移行する際の注意点

Python 2でint型の値の除算はint型(整数型)を返しましたが、Python 3ではint型の値であっても除算で返される値は、float型(浮動小数点型)です。

Python 2の除算

ではPython 2でint型の値を除算してみましょう。

[1÷2 ]の処理結果をprint出力するコードを入力、実行します。

division = 1/2

print(division)

Python 2でint型の値を除算すると int型の値を返すため、[1÷2 = 0]になります。

0


1以外の値も確認したいのでfor文でループさせてみましょう。

for i in range(10): 
    division = i/2 
    print(division)


[0÷2 = 0][1÷2 = 0][2÷2 =1][3÷2 = 1][4÷2 = 2][5÷2 = 2]…

Python 2でint型の除算は小数点以下が省かれるため、正確な値を取得したい場合は注意が必要。

0 
0 
1 
1 
2 
2 
3 
3 
4 
4


Python 2で除算の返しをfloat型で取得したい場合は、float型を除算する必要があります。

division = 1.0/2 

print(division)

float型を除算するとfloat型で返されました。[1.0÷2 = 0.5]

0.5

Python 3の除算はfloat型で返す

対してPython 3の場合は、int型の除算でもfloat型を返します。

前項のPython 2の場合と同様int型を除算するコードを入力実行します。

division = 1/2 

print(division)

Python 2ではint型で返されましたが、今度はfloat型で返されました。[1÷2 = 0.5]

0.5


続けて1以外の値もfor文でループさせて確認してみましょう。

for i in range(10): 
    division = i/2 
    print(division)


[0÷2 = 0][1÷2 = 0.5][2÷2 =1][3÷2 = 1.5][4÷2 = 2][5÷2 = 2.5]…

Python 3はint型を除算してもfloat型で返します。
Python2でやっていた型を変換する処理をしなくても、正確な値で取得できます。

0.0 
0.5 
1.0 
1.5 
2.0 
2.5 
3.0 
3.5 
4.0 
4.5

long型の廃止-Python 2からPython 3に移行する際の注意点

Python2で桁数の多い整数を扱う場合は、値の末尾に L l を付けてlong型を明示する必要がありました。

long_num = 16460684767616983032343310363489641301346L


Python 3 では、長整数(long型)は廃止され、すべて整数(int)に統一されました。

Python 3 でlong型を明示するとエラーを返すので、以前のMAYAのバージョンで作成した、値の末尾に L l を付けたコードがあるスクリプトは修正が必要になります。

long_num = 16460684767616983032343310363489641301346L

# Error: invalid syntax #

【TechAcademy(テックアカデミー)ブートキャンプ】

TechAcademy [テックアカデミー] では、初心者でも短期間でPython・機械学習が学べるオンラインブートキャンプPythonコース を開催しています。

過去に独学のプログラミング学習で挫折した経験のある方でも、パーソナルメンターがビデオとチャットでサポート。疑問点を直ぐに解決して次の課題に取り組めます。

オンラインプログラミングスクール受講者No.1、TechAcademy(テックアカデミー)の学習システムの内容や疑問点を聞く事ができるTechAcademy無料動画説明会 も実施されているので、ぜひ参加してみてください。



BTOパソコンの草分け的ブランドFRONTIER(フロンティア)

教育機関や研究施設/3DCG/動画編集/そしてゲームプレイに。
用途に合わせてCPUやGPUなどパーツを自由に選べて、コスパにもこだわる方にオススメ。

ボーナス祭!開催中\GeForce RTX 3070 Tiなど最新GPUを搭載した人気モデルが超特価で登場!/6/25(金)15時まで

≪GeForce RTX 3070 Ti≫≪GeForce RTX 3080 Ti≫を搭載した高性能PCが衝撃コスパで購入できます。

Core i7 + RTX 3060モデルが税込16万円台、Ryzen 7 + RTX 3070モデルが21万円台、Core i7 + GTX 1660モデルが12万円台、Core i7 + RTX 3070 Tiモデルが22万円台

≪全18機種≫見逃し厳禁!SALE製品は台数に限りがあるので売り切れる前に是非

>>【FRONTIER】


【デジハリONLINEの 基礎動画 + AdobeCC一年ライセンス のお得プラン】

デジタルハリウッドのオンラインCGスクール「デジハリONLINE」が提供する、60時間の基礎動画とAdobe creative cloudの一年版ライセンスがパッケージされた、コスパ最強の講座プラン

「Adobeマスター講座」

受講ノルマは一切無し、Adobe製品の利用を目的に契約してもOK!

>>デジハリONLINE講座申込

▶︎基礎動画教材付きAdobe Creative Cloudを年額39,980円(税込)のお得な価格で使用する方法


Twitter Facebook Pocket LINE はてブ

おすすめの関連記事
コチラの記事も読まれています
あわせてよく読まれている記事
タグ: ,