Pythonの実行環境026

Pythonにおいて、変数とオブジェクトはプログラムの中で非常に重要な概念です。

変数(Variables):
変数は値を格納するための名前付きのメモリ領域です。Pythonにおいては変数は値への
参照を保持し、その値は動的に変更できます。
変数の名前はアルファベット、アンダースコア、数字から構成され、大文字と小文字は
区別されます。
変数を宣言する際には、単に変数名を指定し、その変数に値を代入します。例えば:
x = 10 は変数 x に整数値 10 を代入しています。

オブジェクト(Objects):
Pythonはオブジェクト指向プログラミング言語であり、ほとんどのものがオブジェクト
として扱われます。これには整数、文字列、リスト、辞書、関数などが含まれます。
オブジェクトはデータと関数(メソッド)を組み合わせたもので、特定の型(クラス)に
属します。
オブジェクトはメモリ内に存在し、変数はそれらのオブジェクトへの参照を持ちます。
例えば、x = 10 の場合、10 は整数オブジェクトで、x はそのオブジェクトへの参照です。

Pythonの変数とオブジェクトの特徴:
変数は動的型付け言語であるPythonにおいて、宣言時に型を指定する必要はありません。
変数は値の型に合わせて自動的に型が決定されます。
変数は再代入が可能で、新しい値を代入することができます。例えば、x = 10 の後に
x = "Hello" とすることができます。
オブジェクトは一度作成されると、メモリ内で一意のIDを持ち、そのIDはid()関数で
取得できます。
Pythonの変数は参照によって値を共有するため、注意が必要です。例えば、リストを
別の変数に代入した場合、元のリストを変更すると代入先のリストも変更されることが
あります。

例:
x = 10  # xは整数オブジェクト10への参照
y = x   # yはxと同じオブジェクト10への参照

x = "Hello"  # xは文字列オブジェクト"Hello"への参照。yはまだ整数オブジェクト10を指している。
このように、Pythonにおける変数とオブジェクトは、柔軟で強力なプログラミングの基本
概念であり、適切に理解し活用することが重要です。

※注意
Cを習得された方なら、あれ、これはポインターではないかと思われるはず、Pythonの変数
は実はCのポインターと考えれば、宣言とか型式が不定義であることは納得出来ます。




わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#LAN #Python #kuma

People Who Wowed This Post

Pythonの実行環境025

関数使用時の解説。
1:でPySimpleGUI関数を読み込み、「sg」とする。
3:ここはLayoutの設定、Window枠に「txt」と名前をつけ、ボタンに「実行」の表示と
押された時には「bin」を返す設定をする。
5:ここでWindowの表示、400X200で上部TAGに「VegaSystems」を表示、それをwin に代入
7:はdefineの設定、execute の動作設定、win に「Hello」を表示
10:からが実行部分、win の値を読み、その値で条件分岐、既定値「bin」ならexecuteを
実行する。

短くて簡単に見えるけど、VBAだけの学習では解読が出来ない、おおよその動作は
理解できても、記述は困難。
Python習得の難しさは、簡単な文法の裏にある関数の定義や仕様を理解しないと
記述はおろか解読が出来ない事にある。

ここを理解せず、Pythonは簡単(文法)と思い込んで得心している方が多い、
Pythonは文法では無く、関数やClassなど様々な「決め事」があり、文法より
こちらが数段厄介、覚える事は間違いを生むので、常に参照出来る環境を用意すること、
ここがVBAとは大きく異なる。


わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#LAN #Python #VBA #kuma

People Who Wowed This Post

SunRise 今日の日の出(2023.10.08)😊

今日は天候も悪く、日の出時の陽光を見ることは出来ません。
左の小山は小牧山。




わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#OM_D_E_M1X
#sunrise_ichinomiya
#Sunset_ichinomiya
#日の出_一宮
#夜明け_一宮
#AVIUTL #Audacity #Clipchamp #DaVinciResolve #LAN #Python #Timelapse #VBA #Video #kuma

People Who Wowed This Post

Pythonの実行環境023

Pythonのクラスは、オブジェクト指向プログラミング(OOP)の基本的な概念の1つで
あり、データとそれに関連するメソッド(関数)を組み合わせてカプセル化するための
仕組みです。
クラスは、新しいデータ型を定義し、それを使ってオブジェクトを作成するためのテンプ
レートを提供します。以下に、Pythonのクラスについて詳しく説明します。

クラスの定義: クラスを定義するには、class キーワードを使用します。クラスの名前は
通常大文字で始まります。


class MyClass:
    # クラスの本体

インスタンスの生成: クラスをもとにしてオブジェクト(インスタンス)を作成するは、
クラス名を呼び出すかっこ () を使用します。

obj = MyClass()  # MyClassのインスタンスを作成

クラスのコンストラクタ: クラスには特別なメソッドとして __init__ があり、クラスの
インスタンスを初期化するために使用されます。これはコンストラクタと呼ばれます。

class MyClass:
    def __init__(self, arg1, arg2):
        self.arg1 = arg1
        self.arg2 = arg2

インスタンスを作成すると、コンストラクタが自動的に呼び出されます。

obj = MyClass(1, 2)  # コンストラクタが呼び出され、arg1とarg2に値が設定されます

クラスメソッド: クラス内で定義された関数はメソッドと呼ばれ、オブジェクトに対する
操作を定義します。メソッドの第1引数は通常 self と呼ばれ、そのメソッドが呼び出され
たインスタンスを指します。

class MyClass:
    def __init__(self, arg1, arg2):
        self.arg1 = arg1
        self.arg2 = arg2

    def my_method(self):
        return self.arg1 + self.arg2

メソッドを呼び出す方法:

obj = MyClass(1, 2)
result = obj.my_method()  # my_methodを呼び出し、結果をresultに格納

クラス変数とインスタンス変数: クラス内で定義された変数はクラス変数と呼ばれ、
すべてのインスタンスで共有されます。インスタンスごとに異なる値を持つ変数は
インスタンス変数と呼ばれます。


class MyClass:
    class_variable = 0  # クラス変数

    def __init__(self, arg1):
        self.instance_variable = arg1  # インスタンス変数

継承: Pythonでは、クラスを継承して新しいクラスを作成することができます。継承を
使用すると、既存のクラスの機能を再利用し、新しいクラスを定義できます。

class ChildClass(ParentClass):
    # 子クラスの追加のメソッドや属性を定義

これらはPythonのクラスの基本的な概念です。クラスを使って、データと操作を効果的
に組み合わせて、コードの再利用性と保守性を向上させることができます。




わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#LAN #Python #kuma

People Who Wowed This Post

Pythonの実行環境022

Pythonにおいて、ローカル変数とグローバル変数は、変数が使用可能なスコープ
(範囲)に関連する概念です。変数がどのスコープで定義され、どの範囲でアクセス
できるかを理解することは、プログラミングにおいて非常に重要です。

ローカル変数(Local Variables):ローカル変数は、関数内で定義された変数で、
その関数内でのみアクセス可能です。関数内で宣言された変数は、その関数の
スコープ内でのみ有効です。
ローカル変数は、関数が呼び出されるときに作成され、関数の実行が終了すると
破棄されます。これにより、関数内で一時的なデータを保持できます。

グローバル変数(Global Variables):グローバル変数は、プログラム全体でアクセス
可能な変数で、関数の外部で定義されます。グローバル変数は通常、プログラム全体
で共有されるデータや設定を格納するために使用されます。
グローバル変数は、関数内からもアクセスできますが、関数内で同名のローカル変数
が定義されている場合、ローカル変数が優先されます。

注意事項:
関数内でグローバル変数を変更しようとする場合、global キーワードを使用して変更
する必要があります。例: global global_var。
グローバル変数はプログラムのどこからでも変更できるため、注意が必要です。
変更が予期せずに行われると、バグの原因になる可能性があります。
通常、ローカル変数を関数内で使用し、グローバル変数は必要な場合に限り使用する
ように設計することが推奨されます。これにより、変数のスコープを制御し、コード
の理解と保守が容易になります。

Pythonの大きな特徴である、変数宣言不要は、高級言語に慣れたプログラマーには
ちょっと面食らう、上記のような[def]での変数の扱いには慣れているものの、いきなり
変数に代入や、比較演算が出現すると、Sourceを読んでいるとたじろぐ場合が今でも
ある。
特に複数の言語を扱う場合には注意が必要です。

わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#LAN #Python #kuma

People Who Wowed This Post

SunRise TimeLaps(2023.10.06)

Today's sunrise has some clouds, but it's quite clear.
Unlike in the summer when the GoPro overheats,
today it's actually cold, with a low temperature.
It seems there was the first snowfall on the high mountains,
so hiking this weekend requires caution.

今日の日の出、少し雲がありますが、よく晴れています。
夏ならGoProが発熱するのですが、今日は冷えています、気温が低いのです。
高い山では初雪があったようです、週末の登山は要注意です。


わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#GoproHero9
#sunrise_ichinomiya
#Sunset_ichinomiya
#日の出_一宮
#夜明け_一宮
#Clipchamp #LAN #Timelapse #kuma

People Who Wowed This Post

LC2連プラグの止め具分解(備忘録として)

このように止め具で固定されている
ブーツの部分を後ろに下げる
2本ともこの位置まで下げる
止め具は青丸の部分でロックされている
一本づつ、前方に押し出す
少し力を入れればロックは外れ、押し出すことが可能。
2本とも押し出して止め具を分離する。
ケーブルを入れ替える
プラグを押し戻してロックさせる。
2本ともしっかりロックする。
ブーツを元に戻す。
ラッチの押さえの位置を確認して完了。
光ファイバーの大半は送信受信が別々に送られるため、2本のファイバーで
構成される。当然フラグも2個必要となるが、送信受信は両端で逆となるため
既成のパッチケーブルではこれを止め具で固定している。
しかし、これを光工事などでピッグテールで使用する場合、接続を反対にすると
送受は同方向となり止め具から取り外して入れ替える必要が出てくる。
写真はその手順の説明
#lan #network #光ファイバー

People Who Wowed This Post

融着機での作業(備忘録として)

これが融着機、車が購入出来る価格です
光ファイバー工事は先端プラグがLCになってから、先端研磨法での加工が難しくなってきました。
プラグはST>SC>LCと変化してきましたが、だんだん小型化の傾向で、SCまでの手加工は実質無理となりました。

そこで融着での成端処理となりますが、これが周囲温度に結構影響されます。
厄介なのは、幹線と接続線が異なるため、皮膜除去が温度で大きく影響を受ける
点です。
環境温度が5℃以下となると、作業者の動きも鈍くなり、皮膜除去に明らかな影響が
出ます。
銅線とは異なり、光ファイバーは極めてデリケートな物体なので、扱いが面倒です。
被覆があれば結構強いのですが(保護材がある)、その皮膜を除去する段階で
の僅かなミスも、決して許してくれません。

今回の経験から皮膜除去の工具も周囲温度に応じて、調整・交換が必要であることが理解出来ました。
調整が面倒ですが、10年以上前のストリッパーが調整すれば最適のようです。
光ファイバーはビニール皮膜とガラス本体との間に極薄の皮膜がありますが、これを
ビニール皮膜と一緒に除去する方法がベストです、この極薄皮膜が残存していると
無水アルコールで除去しなけれなりませんが、この時にファイバーに傷がつきやすい
のです。


やはり周囲温度は絶対に考慮すべき重要なポイントです。過去二回の経験から
冬季での作業は環境温度を第一番に考慮すべきと結論しました。
#lan #network

People Who Wowed This Post

精密作業に寒さは大敵

先週の東京での作業は寒さ部品の問題で完了出来ず。
あらためて作業時期の重要さを思い知らされました。
作業場所が屋内とはいえ、巨大倉庫の中、身動ぎせずに行う作業にはかなり
きつい環境でした。
手袋は出来ないため、指の動作が不確実となり、原因不明のトラブルが頻発。
今月リベンジです。
#lan #network

People Who Wowed This Post

今日は福井市に出張

東西のみならず、今度は北部方面に移動です。
山行きでなれた地方ではありますが・・・・・

今年は雪が少なくスタッドレスを躊躇していましたが、これではダメと昨日交換しました。
17インチの幅広は実に重くて大変です・・・・・
#LAN #network

People Who Wowed This Post

×
  • If you are a bloguru member, please login.
    Login
  • If you are not a bloguru member, you may request a free account here:
    Request Account