[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
2022-01-12 11:34:30
質問
コードは次のとおりです。
from os import system
def a(len1,hgt=len1,til,col=0):
system('mode con cols='+len1,'lines='+hgt)
system('title',til)
system('color',col)
a(64,25,"hi","0b")
input()
実行しようとすると、エラーが発生します。
SyntaxError: non-default argument follows default argument
解決方法は?
ここで、2つの点を明らかにしておきます。
-
まず、非デフォルトの引数はデフォルトの引数の後に続いてはいけません。
(a = 'b',c)
を関数内で使用することができます。関数内でパラメータを定義する正しい順序は、: -
位置決めパラメータまたはデフォルト以外のパラメータ、すなわち
(a,b,c)
-
キーワードパラメータまたはデフォルトパラメータ、例
(a = 'b',r= 'j')
-
キーワードのみのパラメータ
(*args)
-
var-keyword パラメータ 例
(**kwargs)
def example(a, b, c=None, r="w" , d=[], *ae, **ab):
(a,b)
は位置決めパラメータ
(c=none)
はオプションのパラメータです。
(r="w")
はキーワードパラメータ
(d=[])
はリストパラメータ
(*ae)
はキーワードのみ
(*ab)
は、var-keyword パラメータです。
というわけで、まずはパラメータを並べ替えてみましょう。
- hgt=len1 を実行するときに len1 を定義する必要があります。len1 引数は、デフォルト値が保存されるときには定義されていません。
で、2つ目はこれを削除します。
"len1 = hgt"
Pythonで許可されていないのです。
引数とパラメータの違いに注意してください。
関連
-
Python関数の高度な応用を解説
-
python implement mysql add delete check change サンプルコード
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] 億の相対的輸入
-
[解決済み】エラー時に自動的にpythonデバッガを起動する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PicgoのイメージベッドツールをPythonで実装する
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み] データ型が理解できない
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] なぜ非デフォルトの引数はデフォルトの引数に従えないのか?