LoginSignup
0
1

More than 1 year has passed since last update.

python備忘録1(型変換の注意)

Last updated at Posted at 2023-04-19

キャストについて

pythonを昨日学び始めた学生です
わからないことが多く、自分は忘れやすいので備忘録をつけることにします。

今回のコードの内容

c_1,c_2が与えられ、それはアルファベット大文字一文字あるいは数値である
両方とも数値であった場合和演算し、それ以外ならそのまま結合する

最初書いた間違ったコード
c_1 = input()
c_2 = input()
if c_1.isdigit() and c_2.isdigit():
    int(c_1)
    int(c_2)
    sum = (c_1 + c_2)
    print(sum)
else:
    print(c_1 + c_2)

キャスト(型変換は)宣言した変数を変えるのではなく
その答えを返す?だけなのでそれ以降のコードに影響がない

具体的には

入力値
1
9
コード
int(c_1)#str->int
int(c_2)#str->int
#この時点で型変換をした答えを返したが受け取れていないので以降に影響がない
sum = (c_1 + c_2)
print(type(c_1))
print(type(c_2))
print(sum)
結果
<class 'str'>
<class 'str'>
19

となり、先頭でいくらキャスト(型変換)してもそのあとのコードには影響されていないことがわかる。

修正したコード
c_1 = input()
c_2 = input()
if c_1.isdigit() and c_2.isdigit():
    print(int(c_1) + int(c_2))
else:
    print(c_1 + c_2)

出力するprint関数内でint()を記述した
(sumいらなかった)

python所感

勝手に色々やってくれる
演算なしで出力する場合int,char,floutとか意識しないでそのままinput,printできたとき感動した。

さいごに

解釈が間違っていたり、こうしたほうがいい、
などご意見あったらお願いします

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1