

関数を定義したいのですが、定義されません  
（変数＋２）×４みたいに  
以下が実際にやってみたコード？です

[code]

    def sample function(data):
      return (data+2)*4
    
[/code]


CC BY-SA 4.0
2023-04-21T05:20:04.607
94590
2023-04-25T05:45:15.287
2023-04-25T05:45:15.287
3060
58017
question
python google-colaboratory
関数の定義が意図した通りできない


質問者さんからの応答が未だのようですが、最初のコメントにUpvoteが付いているように、関数名に空白文字が入っていることが問題の原因です。

Pythonの仕様だとこの辺の記事が該当します。  
[8.7.
関数定義](https://docs.python.org/ja/3/reference/compound_stmts.html#function-
definitions)

>
[code]

>     funcdef    ::=  [decorators] "def" funcname "(" [parameter_list] ")"
>                     ["->" expression] ":" suite
>  
[/code]

>
[code]

>     funcname   ::=  identifier
>  
[/code]

[2.3. 識別子 (identifier) およびキーワード
(keyword)](https://docs.python.org/ja/3/reference/lexical_analysis.html#identifiers)

> ASCII 範囲 (U+0001..U+007F) 内では、識別子として有効な文字は Python 2.x
> におけるものと同じです。大文字と小文字の`A`から`Z`、アンダースコア`_`、先頭の文字を除く数字`0`から`9`です。

このように「識別子として有効な文字」(関数名として使える文字)には「空白文字」は入っていません。

コメントに書かれているように「空白文字」をアンダースコア`_`に変えるか、「空白文字」を削除して2つの文字列を連結する等で対処できます。

他には私がコメントに書いたような記事や、以下のちょっと古い記事等も参考になるでしょう。  
[Python公式ドキュメント内で書かれてる BNF](http://hhsprings.pinoko.jp/site-
hhs/2015/11/python%E5%85%AC%E5%BC%8F%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E5%86%85%E3%81%A7%E6%9B%B8%E3%81%8B%E3%82%8C%E3%81%A6%E3%82%8B-bnf/)


CC BY-SA 4.0
2023-04-22T01:17:03.177
94607
2023-04-22T01:17:03.177
26370
94590
answer