Pythonで、a=str(a)と、str(a)の違いは、元のaの型が変わるかどうかでしょうか? 教えて頂けると幸いです。で、a = str(a)は、変数aの内容を文字列に変換して、再び、aに代入します。
a = 3だとすると、print(a*2)を実行すると、 33と表示されます
str(a)は、変数aの内容を文字列に変換するだけです。
a = 3だとすると、print(a*2)を実行すると、 6と表示されます。
の所の解説を教えて頂けると幸いです。
以下のURLで、
https://oshiete.goo.ne.jp/qa/13703978.html
No.2で、前者は、33で、後者は、6になるという事でしょうか?教えて頂けると幸いです。
No.5ベストアンサー
- 回答日時:
「str(x) は xの内容に合わせた文字列。
xは変化しない。」それだけのこと。
他はまったく別の話。
a=str(a)
は
a=a+1
とかと同じ話で、aの値を使って計算した結果をaに代入する、ということ。
Pythonでは変数自体に型がないので、整数だろうと文字列だろうと代入することができる。
str(a)
は
a+1
とかと同じ話で、aの値を使って計算する、けどその結果はどこにも保存されない、ということ。
その後の話は、結果どうなったを確認するもの。
変数の中身を確認するために printを使うのはよくあるけど、ただprintしただけでは 整数3 と 文字列"3" の区別がつかないので
・整数3 * 2 → 2つの整数の掛け算の結果 6 になる
・文字列"3" * 2 → 文字列の整数回繰り返しで "33" になる
というのを利用して a の型を見えるようにしたもの。
a = str(a)と str(a)の違いとは直接は関係無い
単に型まで含めた確認するのなら、 pprint を使うとかreprを使うとかの方がわかりやすいと思う。
https://docs.python.org/ja/3/library/pprint.html
https://docs.python.org/ja/3/library/functions.h …
No.4
- 回答日時:
a = 3と初期値を与えた上でa =str(a)と文字列にした場合、a*2とすると、元の文字列を2つ繰り返して代入するとなります。
よってaの値は文字列の"33"になります。
https://www.javadrive.jp/python/string/index6.html
No.3
- 回答日時:
>Pythonにおいては、型宣言をしない変数のデータ型は定まらないので、
>何も型宣言をせずに変数を初期設定した場合、
>設定した値を元にPythonのインタープリターが変数の型を
>推論して決めます。
いえ、型アノテーションは 今のところ pythonの実行に
何の効果もありません。
型アノテーションは mypy や vscode の pylance のような
ソース解析ツールに情報を提供するための構文です。
プログラマのコードに込めた意図とコードの食い違い(バグ)を
を検出するためのものです。
python の変数にはあらゆる型のオブジェクトが常に代入可能です。
型を持つのはあくまでオブジェクトであり、変数ではありません。
No.2
- 回答日時:
構文的な意味で言えば
a =
は
a に後続の式を代入するという意味
str(a)はstr関数の第1引数としてaを渡すという意味。
str関数の実装に関する質問では無いのでそこは自分で補填してください。
No.1
- 回答日時:
str()は、パラメータの値を文字列型に変換する関数ですので、それをパラメータの変数に返せば、その変数は文字列型となります。
Pythonにおいては、型宣言をしない変数のデータ型は定まらないので、何も型宣言をせずに変数を初期設定した場合、設定した値を元にPythonのインタープリターが変数の型を推論して決めます。
また、型宣言していない変数に別のデータ型を代入すれば、エラーを出さずに代入した型に変数のデータ型を変更します。
そのために質問のような動きになります。
変数のデータ型を固定したいのであれば、あらかじめ型宣言をしましょう。
https://qiita.com/E_taku/items/b74188d3ec3b2d236 …
なお、JavaScript(ECMAScript)も、変数などのデータ型が定まっていません。
それを是正するために、TypeScriptという型宣言を必須とする言語が作られました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonについて。 2 2024/01/09 21:04
- その他(コンピューター・テクノロジー) Pythonについて。 3 2024/01/05 16:21
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- その他(プログラミング・Web制作) Pythonについて。 5 2024/01/04 19:20
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- Visual Basic(VBA) Excelセルに入力された文字の色を変える方法を教えてください 2 2023/12/10 07:42
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) VBA ユーザーフォームからSubプロージャ―に値を引き渡す方法 3 2023/04/09 01:54
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
Pythonについて。
その他(プログラミング・Web制作)
-
Pythonについて。
その他(プログラミング・Web制作)
-
Pythonについて。
その他(プログラミング・Web制作)
-
-
4
C言語関数違いについて。
C言語・C++・C#
-
5
C言語 バッファについて。
C言語・C++・C#
-
6
C言語について。
C言語・C++・C#
-
7
C言語 解答について。
C言語・C++・C#
-
8
C言語について。
C言語・C++・C#
-
9
バッファリングについて。
C言語・C++・C#
-
10
C言語について。
C言語・C++・C#
-
11
C言語について。
C言語・C++・C#
-
12
Int('1234') で、strをかんたんに整数で扱えちゃうパイソンはどうなってるんですか?
C言語・C++・C#
-
13
プログラミング言語の制作方法について
C言語・C++・C#
-
14
python言語について。
その他(プログラミング・Web制作)
-
15
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
-
16
プログラミングについての質問です。 #include <stdio.h> #include <std
C言語・C++・C#
-
17
どなたかこのプログラミングを完成させて欲しいです。 ヒントはこちらです↓ 青色:ゲームプログラムのル
C言語・C++・C#
-
18
そのまま使っただけなのに・・・python
その他(プログラミング・Web制作)
-
19
c言語
C言語・C++・C#
-
20
これなにがちがうんですか??
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBScript 全角英数記号→半角英...
-
文字コードの%E3%80%とは何です...
-
r18文学賞は文字数ではなく、枚...
-
Pythonについて。
-
Pythonについて。
-
漢字からカタカナ変換マクロ
-
iPadの文字入力・変換、、便利...
-
【PHP】全角記号を半角記号...
-
エクセルでの漢字(全角ひらが...
-
ローマ字からカナに変換する方...
-
ウイザードからのVBAでクエリー...
-
VBScript文字列をSJISからUTF8...
-
エクセルで電話番号を取り出す...
-
pythonエラー
-
パイソンエラーについて
-
Perl 先頭のスペースを複数削除
-
Accessのテキストボックスの入...
-
エクセルで数値を全角文字(カ...
-
住宅にカナを入力する際に丁目...
-
正しいメールアドレスの形式で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでPDFファイルをMicro...
-
文字コードの%E3%80%とは何です...
-
r18文学賞は文字数ではなく、枚...
-
Pythonについて。
-
CString から LPCTSTRの型に変換
-
Pythonについて。
-
テキストをhtml変換するには
-
SJIS->UTF8->SJISコード変換に...
-
シャープ(#)の受け渡し
-
gccでiconvを使った文字コード...
-
VBScript 全角英数記号→半角英...
-
【PHP】全角記号を半角記号...
-
ローマ字からカナに変換する方...
-
日付をシリアル値に変換
-
VB6にも「ToString」ってあり...
-
Visual Studio プロパティペー...
-
VBScript文字列をSJISからUTF8...
-
改行を含んだ文字列を正規表現...
-
SQLのデータで半角カナを全角に...
-
漢字からカタカナ変換マクロ
おすすめ情報