投稿

1月, 2022の投稿を表示しています

ラーメン紀行/王者ー23

イメージ
特製蕎麦肉入りの大をいただきました。900円。 安定の美味しさ。現状徳島で最高ランクに位置する味ですね。 今回食べてるうちにふと懐かしさを感じました。 2000年前後に県内のラーメン・中華そば屋を100件以上食べ歩いたことがあるのですが、その頃食べた記憶があるような🤔 実は、今回は中華そば以外のメニューにチャレンジしようと思ったのですが、券売機のどこにそれがあるのかわからなくて、あたふたしている内に後のお客さんが来てしまったので、特製蕎麦にしたのでした(^^;) 次は店員さんに聞こう(笑)

今日の、のらちゃん

イメージ
未確認生物(笑) 最近はほとんど新宅にいるようになりました。ずっと嫌がってたんですけどね(^^;)

超弩級ターンテーブル(@_@;)

イメージ
中国 FFYX社 のフラッグシップターンテーブル T201 。 最大のハイエンドオーディオの市場は香港を含む中国なので、自国製の超ハイエンド製品があっても全然おかしくないのですが、これにはびっくり(^^;) 最上段の重そうなプラッターをエアーフロートし、2段目の多分プラッターと同じ重さのホイールを逆回転させることで不要振動を抑え込む構造で、さらにその下にこれまた重そうなホイールがあって、それをベルトか糸で回転させているようです。 お値段は560万円オーバー!    \(@_@)/ とんでもない値段ですが、欧米や日本で同規模のものを作るとなると、確実に1千万円オーバーでしょうから、格安なのかも? FFYX社では現実的な製品も数多く販売していて、特にT1804という製品は個人的に魅力的だなと思います。 デザインも、彼の国にありがちな過剰感が少なく良い感じです。 ちなみにT1804aというモデルもあって、T1804がプラッターの軸受に磁気ベアリングが使われているのに対し、T1804aは(それに加えて?)エアサスペンションが使われているようです。 お値段は、仕様のバリエーションが多い上に、日本語翻訳がめちゃくちゃなのでよくわからないところがあるのですが、 20万円弱から30万円あたり で手に入れることができそうです。 これは正直お金があれば欲しい!(笑) ただ、輸送時の取り扱いと故障修理を考えると、高額な中国製品の購入には二の足を踏まざるを得ないですが。 最近このブログでは、オーディオ製品といえば中国製ばかり取り上げているのですが、性能が欧米や日本製に近づいているにも関わらず価格は数分の一だったりするので、どうしても魅力的に見えてしまうんですよね(^^;) 欧米や日本では、オーヲタ心をくすぐるサムシングを持つ製品は超高額になってしまって、手が出ないですから。

今日の、のらちゃん

イメージ
 ごろごろ^^ 今日は雨なので数日前の写真。 この後、芝生まみれで家の中に(^^;)

今日の、のらちゃん

イメージ
凛々しい姿が撮れました。珍しいw

Python: 関数...デフォルト引数...引数のキーワード指定...可変長引数

 Python 独習ノート 引数にデフォルト値を指定 仮引数にデフォルト値を指定すると、実引数の入力を省略できる。 def 関数名(引数1, 引数2, 引数2  = デフォルト値, … ):     処理     return 戻り値 関数呼び出しで実引数が指定されない場合は、デフォルト値が指定されたものとみなされる。 デフォルト値を指定した以降の仮引数もデフォルト値の指定が必要になる。 def eat(fujihira, yoshida, aritomo, mori='カレー'):     print('藤平さんは{}を、吉田さんは{}を、有友さんは{}を、そして森さんは{}を食べました。'.format(fujihira, yoshida, aritomo, mori)) eat('ピザ', 'サンドイッチ', 'マック') 実行結果 藤平さんはピザを、吉田さんはサンドイッチを、有友さんはマックを、そして森さんはカレーを食べました。 ※実引数を3つしか指定していないので、4つめの仮引数にはデフォルト値の「カレー」が代入されている。 引数にキーワード指定した関数の呼び出し 関数名(仮引数名1=実引数1, 仮引数名2=実引数2, …) def eat(fujihira, yoshida, aritomo='うどん', mori='すし'):     print('藤平さんは{}を、吉田さんは{}を、有友さんは{}を、そして森さんは{}を食べました。'.format(fujihira, yoshida, aritomo, mori)) eat('ピザ', 'カレー', mori='マック') 実行結果 藤平さんはピザを、吉田さんはカレーを、有友さんはうどんを、そして森さんはマックを食べました。 ※3つ目の実引数が "aritomo" ではなく、キーワードを指定した仮引数 "mori" に引き渡されている。 可変長引数 def 関数名(仮引数名1, 仮引数名2, 仮引数名3, *仮引数名n ): 末尾 の仮引数に「 * 」をつけると、複数の実引数を1つのタプ

今さら Xiaomi Mi Watch を購入

イメージ
今さらですが買いました。 動機は、だんだん散歩が億劫になってきたので、記録を残してやる気を出そう!と思ったから。 スマートウオッチに全然関心がなかったので、今回色々調べてみたのですが、散歩のルートと距離の記録だけが目的なら、現在も一番コスパが良いのは Mi Watch という結論になりました。 対抗馬は HUAWEI Band 6 だったのですが、GPS が付いてないんですよね。 買ってみた感想ですが、いい感じです。 残念な点は、 ベルトがつけづらい 汗かきなのでこの季節でもベルトに汗がたまる 記録のデータを取り出せない 自分には少し大きい くらいでしょうか。ケースがプラなのと、ディスプレイのガラスが弱いのは承知のうえで買ったので。  カ○オのが安かったらな〜(⌒-⌒; )

Python: 関数

Python 独習メモ 「関数」は自分で作ることもできる。 既に存在する関数と同じ名前の関数を作ると、関数の定義が上書きされてしまう。 最もシンプルな関数 def 関数名():    # 「定義」部分     処理 関数名()     # 「呼び出し」部分 def hellow():     print('こんにちは。') hellow() 実行結果 こんにちは。 引数を持つ関数 def 関数名(引数1, 引数2, …)   # 定義部分/引数を「仮引数」と呼ぶ     処理 関数名(引数1, 引数2, …)     #呼び出し部分/引数を「実引数」と呼ぶ def hellow(name):     print(f'{name}さん、こんにちは。') hellow('有友') 実行結果 有友さん、こんにちは。 (注意)関数内で準備された変数は、その関数の中でしか使えない。 関数に複数の引数を渡すことができる。 def profile(name, age, hobby):     print(f'私の名前は{name}で年齢は{age}歳。趣味は{hobby}です。') profile('吉田', 17, 'ダンス') 実行結果 私の名前は吉田で年齢は17歳。趣味はダンスです。 引数と戻り値を持つ関数 def 関数名(引数1, 引数2, …)     処理     return 戻り値     # 戻り値はひとつだけなので注意! 戻り値を受け取る変数名 = 関数名(引数1, 引数2, …) def data(x, y):     answer = x * y     return answer answer = data(3, 7) print('掛け算の答えは{}です'.format(answer)) 実行結果 掛け算の答えは21です ※定義部分のanswerと呼び出し部分のanswerは別の変数なので、どちらかを変更しても実行結果は同じになる。 タプルを使った複数の戻り値 def value(a, b):     return a + b, a - b plus, minus = value(100, 30) print(plus) print(min

Python: for 文

Python 独習メモ for 文は、決まった回数の処理を繰り返すのに便利。 for 文でリストの全要素を参照する。 for 変数 in リスト:     繰り返し処理 scores = [50, 60, 70, 40, 90] for data in scores:  # リストの要素が順番にdataに格納される     if data >= 60:         print('ok')     else:         print('no') 実行結果 no ok ok no ok range 関数を使って決まった回数繰り返す。 for 変数 in range(n): n = 4 for num in range(n):     print('aaa') 実行結果 aaa aaa aaa aaa ※range() は0から指定した数より1小さい整数までの要素をもつ整数列をつくり出す関数。 繰り返しの強制終了(break) scores = [20, 30, 50, 40, 35, 25, 55, 60, 32, 27] num = 5 sample = list()  # 空のリストをつくる for data in scores:     if data >= 20 and data <= 35:         sample.append(data)         if len(sample) == num:  # もしサンプルの数がnに達したら↓             break   # ↑処理を強制的に終了する print(sample) 実行結果 [20, 30, 35, 25, 32] instance 関数 instance(データ, データ型) データがデータ型(int, str, bool など)と一致したらTrueに置き換わる。 繰り返しのスキップ(continue) scores = [20, 30, 50, 40, 35, 25, 55, 60, 32, 27] samples = list() for data in scores:     if not isinstance(data, int):   # dataが整数型でないならば↓         conti

Python: while 文 (繰り返し)

Python 独習メモ while 条件式     条件好きが成立したときの処理 count = 0 counts = [] while count <= 5:     counts.append(count)     print(counts)     count = count + 1 実行結果 [0] [0, 1] [0, 1, 2] [0, 1, 2, 3] [0, 1, 2, 3, 4] [0, 1, 2, 3, 4, 5] 回数ではなく状態(True/False)で繰り返す。 is_hunger = True count = 0 while is_hunger == True:     count += 1     print('{}杯目のラーメンを召し上がれ^^'.format(count))     key = input('お腹いっぱい?(y/n)>>')     if key == 'y':         is_hunger = False print('まいどあり') 実行結果 1杯目のラーメンを召し上がれ^^ お腹いっぱい?(y/n)>>n 2杯目のラーメンを召し上がれ^^ お腹いっぱい?(y/n)>>y まいどあり ある事柄や状態を二者択一で表すには、bool 型を利用する。フラグとなる変数名は一般的に "is_xxx" とする。 繰り返しでリストを作成。 count = 0 cat_num = int(input('ネコは何匹ですか?>>')) weight_list = list()  # list 関数(コレクション変換)を使って空のリストを作る while count < cat_num:     count += 1     weight = float(input('{}匹目の体重を入力>>'.format(count)))     weight_list.append(weight)        # リストに要素を追加している print(weight_list) total = sum(weight_list) print('平

Python: if文 (条件分岐)

 Python 独習メモ if 文の基本形 if 条件式:     条件式が真(true)の場合に実行する処理          value = int(input('1~10の数を入力してください')) if value >= 5:     print('5以上です') 実行結果 1~10の数を入力してください7 5以上です 論理演算子を使ってふたつ以上の条件を組み合わせる score = 70 if score > 60 and score < 80:     print('そこそこ') 実行結果 そこそこ if else の形 if 条件式:     条件式が真(true)の場合に実行する処理 else:     条件式が偽(false)の場合に実行する処理 value = int(input('好きなら1、嫌いならそれ以外を入力して下さい')) if value == 1:     print('好きです') else:     print('嫌いです') 実行結果 好きなら1、嫌いならそれ以外を入力して下さい2 嫌いです if elif else の形 if 条件式A:     条件式Aが真(true)の場合に実行する処理 elif 条件式B:     条件式Aが偽(false)で条件式Bが真(true)の場合に実行する処理 else:     すべての条件式が偽(false)の場合に実行する処理 value = int(input('1~10の数を入力してください')) if value == 1:     print('1です') elif value == 2:     print('2です') elif value == 3:      # elif は複数でもよい     print('3です') else:     print('入力が間違っています') 実行結果 1~10の数を入力してください4 入力が間違っています in 演算子を使ってみる。 右辺に左辺の値が含まれているかを判定。 foods = ['うどん', 'そば

Python: 比較演算子, 論理演算子

 Python 独習メモ 「もし○○なら」といった「条件式」を作るのに使われるのが「比較演算子」と「論理演算子」。 比較演算子 a == b     aとbは等しい a != b     aとbは等しくない a > b     aはbより大きい a < b     aはbより小さい a >= b     aはbより大きいか等しい a <= b     aはbより小さいか等しい 論理演算子 a and b a も b も真であれば真 a or b a または b が真であれば真 not a a が偽であれば真 もどる

Python: セットによる集合演算

Python 独習メモ セットによる集合演算 集合演算とは、ふたつのセットの共通点や違いを探す処理。 集合演算子 a | b     # 和集合     a と b の要素を合わせたもの a & b     # 積集合    a と b の両方に含まれる要素  a - b     # 差集合     a から a と b 両方に含まれる要素を除いたもの a ^ b     # 対集合    a になく b にあるものと b になく a にあるものの集合  a = {1, 2, 3, 4} b = {2, 3, 4, 5} print(a | b) print(a & b) print(a - b) print(a ^ b) 実行結果 {1, 2, 3, 4, 5} {2, 3, 4} {1}                              # 注意 5 がない! {1, 5} & 演算の使用例 member_data = {'吉田': {'a', 'b', 'c', 'd'}, '森': {'c', 'd', 'e', 'f'}} common_data = member_data['吉田'] & member_data['森'] print(common_data) 実行結果 {'d', 'c'} ※集合演算はコレクションのなかでもセット特有の機能なので、セットをリストやタプルに変えるとエラーになる。 完全に忘れていた!(T-T) もどる

Python: コレクションのネスト(入れ子)

Python 独習メモ コレクションはネスト(入れ子)にできる。 辞書の中に辞書をネストする yoshida_scores = {'国語': 80, '算数': 75, '理科': 70, '社会': 90} aritomo_scores = {'国語': 85, '算数': 90, '理科': 85, '社会': 85} members_scores = {'吉田': yoshida_scores, '有友': aritomo_scores} print(members_scores) 実行結果 {'吉田': {'国語': 80, '算数': 75, '理科': 70, '社会': 90}, '有友': {'国語': 85, '算数': 90, '理科': 85, '社会': 85}} 辞書の中にセットをネスト member_scores = {'吉田': {30, 40, 50}, '有友': {40, 55, 60}                  } print(member_scores)  # ふたりのスコアを表示 print(member_scores['有友'])  # 有友さんのスコアを表示 実行結果 {'吉田': {40, 50, 30}, '有友': {40, 60, 55}} {40, 60, 55} 2次元リスト a = [1, 2, 3] b = [4, 5, 6] c = [a, b] print(c) print(c[1])  # リストcの1番目(リストb)だけを表示 print(c[1][2])  # リストcの1番目(リストb)の2番目だけを表示 実行結果 [[1, 2, 3], [4, 5, 6]] [4, 5, 6] 6 ※2次元リストについては このページ が分かりやすい。 _/_/_/_/_/_/_/_/_/_/_/ Pyth

Python: コレクションの相互変換

Python 独習メモ コレクション(リスト、辞書、タプル、セット)は 関数を使って 相互に変換できる。 list 関数 tuple 関数 set 関数 members = ['吉田', '有友', '森', '藤平'] scores = {'算数': 80, '理科': 75, '国語': 85} print(members)  # リストをそのまま表示 print(tuple(members))  # リストをタプルに変換して表示 print(set(scores))  # キーだけが変換される print(set(scores.values()))  # 値が変換される 実行結果 ['吉田', '有友', '森', '藤平'] ('吉田', '有友', '森', '藤平') {'算数', '理科', '国語'} {80, 75, 85} 辞書(ディクショナリ)への変換 キーを格納したリスト等と値を格納したセット等を準備して、「dict(zip(キーのリスト等, 値のリスト等))」という構文で辞書に変換できる。 members = ['吉田', '有友', '森', '藤平'] scores = [77, 88, 99, 100] member_scores = dict(zip(members, scores)) print(member_scores) 実行結果 {'吉田': 77, '有友': 88, '森': 99, '藤平': 100} もどる

Python: タプルとセット

Python 独習メモ タプルとセットは利用頻度が低いので、そんなものがある程度でも良いらしい... タプル = 中身が変更できないセット タプルの定義 変数 = (値1, 値2, 値3, …) リストと同様に各要素に 0 からはじまる添字がつく scores = (50, 65, 80 ,90) print(scores) print(scores[0]) print('要素数は{}'.format(len(scores))) print(f'合計は{sum(scores)}') 実行結果 (50, 65, 80, 90) 50 要素数は4 合計は285 タプルはリストと同様にsum 関数・len 関数が使え、スライスを使って要素の一部を取り出すこともできる。 scores = (50, 65, 80 ,90) print(scores) print(scores[1:2]) print(sum(scores)) print(len(scores)) 実行結果 (50, 65, 80, 90) (65,) 285 4 タプルの要素は変数でも良い。 (x, y) = (1, 2) num = (x, y) print(num) x = 3 print(num) 実行結果 (1, 2) タプルを作成したあとに変数に別の値を代入しても、タプルの要素は変更されない。 x = 1 y = 2 num = (x, y) print(num) x = 3 print(num) print(num[0] + num[1]) 実行結果 (1, 2) (1, 2) 3 _/_/_/_/_/_/_/_/_/ セット 重複した値を要素に持てない 添字やキーがないので特定の要素を参照・変更できない 添字がないので要素は順序を持たない append 関数の代わりに add 関数で要素を追加 セットの定義 変数 = {値1, 値2, 値3, …} members = ('鈴木') print(type(members)) members = ('黒島', )  # 要素数が1のタプルは値の後ろにカンマを付ける print(type(members)) 実行結果 <class 'str'> <cla

ラーメン紀行/祇園亭

イメージ
ずっと以前から存在は知るものの、1度も入ったことのない山川の「祇園亭」に行ってきました。 セルフサービスなのは知らなかった。 数十年タイムスリップしたような、昔懐かしい大衆食堂の中華そばですね。 高校時代を思い出しました。 焼き飯はチャーハンでなく「焼き飯」。 餃子は野菜が多く入っていて、なんとなく懐かしい味です。 ごちそうさまでした。 2022.01.07

Python: 辞書

Python 独習メモ 辞書(dictionary)とは? リストの「要素」に相当するものにキー(key)という見出し情報が付いたもの。 こんな感じ。 変数 = {キー1: 値1, キー2: 値2, キー3: 値3} scores = {'国語': 80, '理科': 90, '算数': 75} print(scores) 実行結果 {'国語': 80, '理科': 90, '算数': 75} キーには、文字列意外に整数型など様々な型のデータを指定できる キーのデータ型は要素ごとに異なってもよい キーの重複も許される(ただし、最後に指定したもの以外は無視される) 要素の値を参照 「キー」を指定すると「要素の値が表示される」 辞書[キー] scores = {'国語': 80, '理科': 90, '算数': 75} print(scores["理科"]) 実行結果 90 要素の追加と修正 辞書[新しいキー] = 新しい値 辞書[変更したい要素のキー] = 変更後の値 scores = {'国語': 80, '理科': 90, '算数': 75} scores['社会'] = 95  # 要素を追加 scores['理科'] = 65  # 要素を変更 print(scores) 実行結果 {'国語': 80, '理科': 65, '算数': 75, '社会': 95} 要素の削除 del 辞書[削除したい要素のキー] scores = {'国語': 80, '理科': 90, '算数': 75} del scores['理科']  # 理科を削除 print(scores) 実行結果 {'国語': 80, '算数': 75} 辞書の合計 scores = {'国語': 80, '理科': 90, '算数': 75} tot

JungSon と KINKI STUDIO(中国のオーディオメーカー)

イメージ
中国製のオーディオ機器といえば、Topping や S.M.S.L が販売するデスクトップオーディオ向けの製品や FiiO に代表されるポータブルオーディオ製品が日本でも有名なのですが、それらとは趣を異にするハイエンド志向な製品を見つけました。 ひとつめは、JungSon というブランド。 写真は、同社の創立20周年を記念して発売された JA-1(プリアンプ) / JA-99C(パワーアンプ) という型番のセパレートアンプ。 中国製のオーディオ機器というと、デジタル機器やD級アンプをイメージするのですが、これは物量を投入したコンベンショナルなA級のアナログアンプです。 中国でもオーディオで本物志向といえばアナログなのでしょうか? ハイエンド志向と書きましたが、AliExpress で調べると価格はペアで251,991円。 オーディオなので安かろう音質が悪かろうでは話にならないのですが、YouYube に投稿されたレビューを見る限り音質もなかなかで、是非実物を見て聴いてみたいと思いました。 もうひとつは、 KINKI STUDIO 。 こちらはさらにハイエンド志向です。 写真は EX-M1+ というプリメインアンプ。 重量は25kg でこちらもなかなかの物量投入。ケースや内部に使われている金属パーツの分厚さが目につきます。 オフィシャルサイトでの販売価格は2,898ドル。写真で見る限り、欧米のハイエンド機器っぽさが漂う外観ですが、音質は? これもぜひ見て聴いてみたいです。

Python: リスト

Python 独習メモ 「関連するデータをグループにしてひとつの変数として扱う」仕組みをデータ構造といい、Python ではコレクション(collection)またはコンテナ(container)と呼ぶ。 「リスト」はコレクションのひとつ。 リストは複数の値を1列に並べて管理するコレクション。 リストに格納されるそれぞれの値を要素(element)といい、先頭から順にインデックス(index)または添字と呼ばれる、0から始まる管理番号が自動で振られる。 ↓ こんなイメージ '森(0)', '藤平(1)', '有友(2)', '吉田(3)' リストの定義 変数 = [要素1, 要素2, 要素3, …] ※要素は数値や文字列など members = ["吉田", "森", 100] print(members) 実行結果 ['吉田', '森', 100] 特定の要素だけを抽出したい場合は、変数名の後ろにインデックス(添字)を[]で囲んで記述する。 members = ["藤平", "吉田", 100] print(members[1]) 実行結果 吉田 sum 関数 リスト内の全要素の合計を求める scores = [70, 80, 90] total = sum(scores) print(f'合計{total}点です') 実行結果 合計240点です len 関数 リスト内の要素の数を求める scores = [70, 80, 90] print(len(scores)) 実行結果 3 要素の追加 リスト.append(追加する要素) members = ['藤平', '森', '有友'] members.append('吉田') print(members) 実行結果 ['藤平', '森', '有友', '吉田'] 要素の削除 リスト.remove(削除したい要素) members = ['鈴木', '山田', '

Python: データ型, input 関数, type 関数, format 関数

Python 独習メモ データ型 int     整数     123, -100 float     小数     3,14, -0.7 str     文字列     "Hello", "ハンバーグ" bool     真偽値     True, False input 関数 変数名 = input(文字列) x = input("円周率は?") print(x) 実行結果 円周率は?3.14 3.14 type 関数 格納されている値のデータ型を調べる type(変数名) x = 10 print(type(x)) 実行結果 <class 'int'> データ型の変換 int 関数     int(x)     変数 x の値を int 型に変換 float 関数     float(x)     変数 x の値を float 型に変換 str 関数     str(x)     変数 x の値を str 型に変換 bool 関数     bool(x)      変数 x の値を bool 型に変換 x = 3.14 y = int(x) print(y) print(type(y)) z = str(x) print(z) print(type(z)) print(z * 2) 実行結果 3 <class 'int'> 3.14 <class 'str'> 3.143.14 format 関数 "{} を含む文字列".format(埋め込む値1, 埋め込む値2, …) name = input("名前?") age = input("年齢?") height = input("身長?") print("私の名前は{}で、年齢は{}歳で、身長は{}cmです".format(name, age, height)) 実行結果 名前?吉田 年齢?17 身長?162 私の名前は吉田で、年齢は17歳で、身長は162cmです 上記は f-string を使って簡潔に書くことが可能。 name = input("名前?&q

PyCharmのインストールと基本的な設定

イメージ
"Pythonプログラミング VTuber サプー" さんの動画を参考にして Python の「統合開発環境: IDE (Integrated Development Environment)」のひとつ、PyCharm のインストールと簡単な初期設定をやってみました。  ※せっかく  Homebrew をインストールしたので使いましたが、dmg ファイルを 公式からダウンロード してインストールしてもなんの問題もないです(^^:) (特に高齢者が) プログラム言語を覚えるには、「コードを書いて実行してみる」ことが一番大事だと思うので、簡単にそれができる IDE は必須だと今回思いました。 _/_/_/_/_/_/_/_/_/_/_/ Homebrew で PyCharm (無料版)をインストール % brew install --cask pycharm-ce ※"cask" は GUI を持つアプリをインストールする際のオプション。 ※ プロジェクトの作成 PyCharm を起動すると以下の画面が表示されるので "New Project" をクリック。 下の画面が表示されるので、"Base interpreter" に pyenv でインストールした Python を指定。 日本語入力パックのインストール "アプリケーションメニューで Preferences" を選択。 "Plugins" を選択。検索バーに "japanese" と入力すると "日本語入力パック" が表示されるので "Install" して "Restart" 。 文字サイズの調整 "Preferences" --> "エディター" --> "フォント" でフォントサイズを変更。変更したら "OK" をクリック。("OK" は他の項目でもクリックする) カラースキームの選択 "Preferences" --> "エディター" --> &q

Python: 変数, 算術演算子, 複合代入演算子, エスケープシーケンス, その他

Python 独習メモ 変数 変数とは、値が保管されている場所を指し示すもの。 変数名 = 値 x = 100 x = "abc" アンパック代入 一度に複数の変数に複数の値(の補完されている場所)を代入。 x, y = "abc", 100 算術演算子 +     足し算(加算) -     引き算(減算) *     掛け算(乗算) /     割り算(除算)※結果は少数 //    割り算の商 ※結果は整数 %     割り算の余り **     べき乗(累乗) 演算子には優先順位があり、高いものから順に処理される。同じ優先順位のものは左から処理される。 優先順位 高     ** 中     *, /, % 低     +, - 文字列における算術演算子 +     文字列の結合(文字列+文字列のとき) x = 'abc' + 'def' print(x) 実行結果 abcdef *     文字列の反復(文字列*数値または数値*文字列のとき) x = 'abc' * 2 print(x) 実行結果 abcabc 複合代入演算子 age += 1 price *= 1.5 +=      右辺の値と左辺の変数の値を足し算して変数に代入 -=     右辺の値と左辺の変数の値を引き算して変数に代入 *=     右辺の値と左辺御変数の値を掛け算して変数に代入 /=     右辺の値と左辺の変数の値を割り算して変数に代入 よく使われるエスケープシーケンス \n  改行を表す制御文字 \\ (バックスラッシュ) \' (シングルクオーテーション) \" (ダブルクオーテーション) ちなみに、Mac では"optinon + ¥"で \ が入力できる。  戻る