「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
(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言語」の引数付きマクロ以上に副作用に注意が必要
--------------------------------------------------------------------------------
`▲

コメント

このブログの人気の投稿

「日記帳(2023 冬)」

ブログの教材で学ぶMATH(1)