python初心者です。
いつも引数で混乱します。
例えば、
s=BOOK
という文字列を小文字にしたいときlowerという関数を使って小文字にしようとするのですが
s=s.lower()
はエラー無く正解なのに
s=lower(s)
ではエラーで成功しません。
私には
s=s.lower()とs=lower(s)の区別がつきません。
同じく文字列のsを引っ張ってきているような気がするのにどうしてs=lower(s)ではダメなのでしょうか?
このドットで使用する関数とかっこの中に入れて使用するものの区別をどうやって付けたらよいのでしょうか?
初歩的な質問ですみませんが考え方等教えていただけると助かります。
> このドットで使用する関数とかっこの中に入れて使用するものの区別をどうやって付けたらよいのでしょうか?
覚えていないのであれば、リファレンスで調べてください。
組み込み関数(lower 関数があればここに書いてあります)
組み込み関数の数は少ないので、何があるかくらいは覚えておいた方がいいと思います。
https://docs.python.org/ja/3/library/functions.html
文字列メソッド(s.lower メソッドがあればここに書いてあります)
文字列のメソッドもよく使うので、何があるかくらいは覚えておいた方がいいと思います。
https://docs.python.org/ja/3/library/stdtypes.html#string-methods
動作を確認したコードとエラーメッセージはきちんと提示しましょう。
おそらく
s = "BOOK"
のように文字列リテラルを使うべきですし、
lower(s)
を実行したときにはエラーメッセージが出るはずです。
すみませんs = "BOOK"でした。
エラーは定義されていません、と出ます。
私が知りたいのはs=s.lower()という感じに使うものと、例えばs=len(s)と使うものの違いです。
s=lower(s)は定義されていないとエラーが出ますが
s=len(s)はきちんと文字数を数えてくれます。
そりゃ定義されてなかったら定義されてないと言われるでしょう。
どこに不思議がありますか?
佐藤歯科と志雄歯科との違いがわかりません。
佐藤歯科には普通に行けますが、志雄歯科に行ってくれとタクシーの運転手に行っても「そういうのは無いよ」と言われます。
なぜでしょうか?
無いからです。
無いのであれば行けないので、無いと言われるのが当然だと考えますが、あなたは違うのですか?
あるか無いかを知らなければ、調べればいいだけではありませんか?
「自分の思った通りに書いたのに思った通りに動かない!」と癇癪を起しているんですか?
Python はあなたに合わせて作られているのではありません。
プログラミングしたかったら、あなたが Python に合わせるんです。
何かストレスでもかかえてみえるんですか?
どう書いたら反応するか調べただけです。
見えているのに無視したということがわかりました。
そもそも、何がわからないのかさっぱりわかりません。
常人が理解するには十分な回答が出ていると思うので、解決したならさっさとベストアンサーを決めてください。
これで解決しないというなら、あなたの抱えている根本的な問題を明らかにする必要があります。
ぜんぜん違う書き方をしているものを持ってきて並べて「違いが分からない」という質問をしたら、この人は何を質問したいのかわからん、ってなるのは普通の反応だと思いますが。
質問の意図はわかるので、表題の付け方の問題が大きいという感じはあります。
あと質問は編集できるので、質問への追記・修正の依頼をされたら質問の方を編集しましょう。
> すみませんs = "BOOK"でした。
とか、この欄に返答する必要は特にありません。黙って質問を編集すればそれで大丈夫です。
謝意を書くのはいいですが、返答だけして質問をそのままにすると「依頼を無視してる」ように見えています。
回答4件
あなたの回答
tips
プレビュー