「Python」試用録(15)」
%F0:「Python」試用録(15)」/*「作業中」*/
「OctalPython」作成のための断片的備忘録です.
/*背景色は(茶: 編集・確認中; 灰色: 確認済; 緑: 非慣用記法; 白色: 初期化済)*/
/*「緑」は定義行のみ(他ではシアン).「茶」の語句があるパラグラフは「IDも茶」*/
%F11:資料の参照/*「□で場所を明示」*/
`▼
--------------------------------------------------------------------------------
①[Lang_□]@https://docs.python.org/ja/3/reference/index.html
②[Lib_□]@https://docs.python.org/ja/3/library/index.html#library-index
③[Tutr_□]@https://docs.python.org/ja/3/tutorial/
⑥[W6_□]@https://drive.google.com/file/d/1191Ev62Uo9yha0w87Kl5A01DsVCP7e-x/view?usp=sharing
⑦[Trial_□]@https://oshino3.blogspot.com/2020/05/python.html
--------------------------------------------------------------------------------
`▲
%F2:[Trial_□]のパラグラフに関するメモ
`▼
--------------------------------------------------------------------------------
(0)暫定版です
(1)参考資料
①【[%26](6).[Trial_2]】@https://oshino3.blogspot.com/2020/05/python_21.html
②【[%71(2)①].[Trial_7]】@https://oshino3.blogspot.com/2020/06/python7.html
③【[%11].[Trial_1]】@https://drive.google.com/file/d/1191Ev62Uo9yha0w87Kl5A01DsVCP7e-x/view?usp=sharing
これらの文字が文字列リテラルやコメントの外にある場合、無条件にエラーとなります:
$ ? `
----------------------------------------
(3)「②」からの引用
list は、実際には関数ではなくミュータブルなシーケンス型で、
リスト型 (list) と シーケンス型 --- list, tuple, range にドキュメント化されています。
①class list([iterable])
リストの構成にはいくつかの方法があります:
・角括弧の対を使い、空のリストを表す: []
・角括弧を使い、項目をカンマで区切る: [a]、[a, b, c]
・リスト内包表記を使う: [x for x in iterable]
②class tuple([iterable])
タプルの構成にはいくつかの方法があります:
・丸括弧の対を使い、空のタプルを表す: ()
・カンマを使い、単要素のタプルを表す: a, または (a,)
・項目をカンマで区切る: a, b, c または (a, b, c)
・組み込みの tuple() を使う: tuple() または tuple(iterable)
(4)「Octal Python」の基本データ型は数値型,文字型,ポインタ型.
①数値型は奇数桁の8進数.
②文字型はASCIIの7ビットコード.
③ポインタ型はデータ型のパッケージ内の行番号.
(5)複合データ型はデリミタでブロック化する./*【[%22].[Trial_2]】*/
①「□:{□}:」の「:{」,「}:」は「W6」の「LET:(」,「)」に対応.
②「TYPE&.{□}.」の「.{」,「}.」は「W6」の「TYPE&.(」,「)」に対応.
③「&.{□}.」の「.{」,「}.」は「W6」の「DO:(」,「)」に対応.
④「STR8&.{□}.」の「.{」,「}.」は「W6」の「DATA;(」,「)」に対応.
⑤集合型・辞書型の表現は「Python」に準拠./*【[Trial_E4](10)】*/
②各行の行末に「#\t行番号.レベル」を付加(レベルは8進数の「7」以下)
(7)パッケージ内のどのモジュールも512行以下
(8)【[%E3(2)].[Trial_14]】のプログラム例では「(5)」のデリミタを省略して
----------------------------------------
number = int(number) \t#001.1
\t#002.1
if number % 3 == 0: \t#003.1
print('Fizz')#004.2
elif number % 5 == 0: \t#005.1
print('Buzz')#006.2
elif number % 15 == 0: \t#007.1
print('FizzBuzz') \t#100.2
else: \t#101.1
print(number) \t#102.2
----------------------------------------
(9)「[%F2](1)③」からの引用/*【[W6_%131]】*/
%131:ソース3.W8「
$EX1.SAME,.LET:(
$MAIN.SAME,.DO:(
LET:($X.LIKE,.-5);
IF:X<0..X.=0
)
)
$EX3.SAME,.LET:(
LET:WITH,.$EX1; $MAIN.BY,.EX1);
DO:(MAIN)
)」
----------------------------------------
②「W6」のインデント量は半角スペース2個
③慣用記法と異なり,「begin」と「end」のインデント量が異なる/*「Pascal★」*/
★https://ja.wikipedia.org/wiki/Pascal
④「$MAIN」を1行で表すと
「$MAIN.SAME,.DO:(LET:($X.LIKE,.-5); IF:X<0..X.=0))」
⑤「$EX3」の「$MAIN」は「new_name」,「MAIN」は「old_name」
/*「スコープはモジュール全体」*/
⑥「W6」では「new_name」を名前表に登録して管理
⑦同じ名前は同じメモリ領域を使う.
⑧関数呼び出し時は実引数の値を仮引数の領域に代入./*「PUSH; POPを多用」*/
・「C言語」の引数付きマクロ以上に副作用に注意が必要
「OctalPython」作成のための断片的備忘録です.
/*背景色は(茶: 編集・確認中; 灰色: 確認済; 緑: 非慣用記法; 白色: 初期化済)*/
/*「緑」は定義行のみ(他ではシアン).「茶」の語句があるパラグラフは「IDも茶」*/
%F11:資料の参照/*「□で場所を明示」*/
`▼
--------------------------------------------------------------------------------
①[Lang_□]@https://docs.python.org/ja/3/reference/index.html
②[Lib_□]@https://docs.python.org/ja/3/library/index.html#library-index
③[Tutr_□]@https://docs.python.org/ja/3/tutorial/
⑥[W6_□]@https://drive.google.com/file/d/1191Ev62Uo9yha0w87Kl5A01DsVCP7e-x/view?usp=sharing
⑦[Trial_□]@https://oshino3.blogspot.com/2020/05/python.html
--------------------------------------------------------------------------------
`▲
%F2:[Trial_□]のパラグラフに関するメモ
`▼
--------------------------------------------------------------------------------
(0)暫定版です
(1)参考資料
①【[%26](6).[Trial_2]】@https://oshino3.blogspot.com/2020/05/python_21.html
②【[%71(2)①].[Trial_7]】@https://oshino3.blogspot.com/2020/06/python7.html
③【[%11].[Trial_1]】@https://drive.google.com/file/d/1191Ev62Uo9yha0w87Kl5A01DsVCP7e-x/view?usp=sharing
(2)「①」からの引用
以下の印字可能 ASCII 文字は、Python では使われていません。これらの文字が文字列リテラルやコメントの外にある場合、無条件にエラーとなります:
$ ? `
----------------------------------------
(3)「②」からの引用
list は、実際には関数ではなくミュータブルなシーケンス型で、
リスト型 (list) と シーケンス型 --- list, tuple, range にドキュメント化されています。
①class list([iterable])
リストの構成にはいくつかの方法があります:
・角括弧の対を使い、空のリストを表す: []
・角括弧を使い、項目をカンマで区切る: [a]、[a, b, c]
・リスト内包表記を使う: [x for x in iterable]
②class tuple([iterable])
タプルの構成にはいくつかの方法があります:
・丸括弧の対を使い、空のタプルを表す: ()
・カンマを使い、単要素のタプルを表す: a, または (a,)
・項目をカンマで区切る: a, b, c または (a, b, c)
・組み込みの tuple() を使う: tuple() または tuple(iterable)
(4)「Octal Python」の基本データ型は数値型,文字型,ポインタ型.
①数値型は奇数桁の8進数.
②文字型はASCIIの7ビットコード.
③ポインタ型はデータ型のパッケージ内の行番号.
(5)複合データ型はデリミタでブロック化する./*【[%22].[Trial_2]】*/
①「□:{□}:」の「:{」,「}:」は「W6」の「LET:(」,「)」に対応.
②「TYPE&.{□}.」の「.{」,「}.」は「W6」の「TYPE&.(」,「)」に対応.
③「&.{□}.」の「.{」,「}.」は「W6」の「DO:(」,「)」に対応.
④「STR8&.{□}.」の「.{」,「}.」は「W6」の「DATA;(」,「)」に対応.
⑤集合型・辞書型の表現は「Python」に準拠./*【[Trial_E4](10)】*/
(6)パッケージ内のどの行も64文字以下
①行頭のレベルをインデント量で明示(半角スペース4個が1レベルに対応)②各行の行末に「#\t行番号.レベル」を付加(レベルは8進数の「7」以下)
(7)パッケージ内のどのモジュールも512行以下
(8)【[%E3(2)].[Trial_14]】のプログラム例では「(5)」のデリミタを省略して
----------------------------------------
number = int(number) \t#001.1
\t#002.1
if number % 3 == 0: \t#003.1
print('Fizz')#004.2
elif number % 5 == 0: \t#005.1
print('Buzz')#006.2
elif number % 15 == 0: \t#007.1
print('FizzBuzz') \t#100.2
else: \t#101.1
print(number) \t#102.2
----------------------------------------
(9)「[%F2](1)③」からの引用/*【[W6_%131]】*/
①「W6」のプログラムでは「)」の次行のインデント量が減少.
----------------------------------------%131:ソース3.W8「
$EX1.SAME,.LET:(
$MAIN.SAME,.DO:(
LET:($X.LIKE,.-5);
IF:X<0..X.=0
)
)
$EX3.SAME,.LET:(
LET:WITH,.$EX1; $MAIN.BY,.EX1);
DO:(MAIN)
)」
----------------------------------------
②「W6」のインデント量は半角スペース2個
③慣用記法と異なり,「begin」と「end」のインデント量が異なる/*「Pascal★」*/
★https://ja.wikipedia.org/wiki/Pascal
④「$MAIN」を1行で表すと
「$MAIN.SAME,.DO:(LET:($X.LIKE,.-5); IF:X<0..X.=0))」
⑤「$EX3」の「$MAIN」は「new_name」,「MAIN」は「old_name」
/*「スコープはモジュール全体」*/
⑥「W6」では「new_name」を名前表に登録して管理
⑦同じ名前は同じメモリ領域を使う.
⑧関数呼び出し時は実引数の値を仮引数の領域に代入./*「PUSH; POPを多用」*/
・「C言語」の引数付きマクロ以上に副作用に注意が必要
--------------------------------------------------------------------------------
`▲
コメント
コメントを投稿