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

ワオ!と言っているユーザー

Pythonの実行環境025

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

ワオ!と言っているユーザー

DaVinciResolve18.6.1にアップデート

DaVinciResolve1...
DRのVerが上がっています。




わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#DaVinciResolve #kuma

ワオ!と言っているユーザー

Pythonの実行環境024

Pythonの実行環境024
Pythonの文法は比較的簡単です、Sourceも動作内容に比べかなり簡略化されていますが、
これは古い言語をやった方ならすぐわかりますが、最近の高級言語は、すべからく
この簡略化はLIBでなされています。

Pythonには本体及び簡単に読み込むことが出来る標準LIBがありますが、それ以上は
外部からDLし、読み込む必要があります、Sourceを読むにはこの外部LIBの検索が
不可欠です。




わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph

ワオ!と言っているユーザー

SunRise 今日の日の出(2023.10.08)😊

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




わかお かずまさ

VegaSystems


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

ワオ!と言っているユーザー

刃物まつりに行ってきました(2023.10.07)

関の刃物まつりに出かけました。
駐車場は満車の大盛況・・・・
現地では、刃物市への人手より、屋台にたくさん人が集まったいました。
今年はMISONOの出店が無く、他の店もなんだかパッとしない状況。
仕事で使う、電線切断用の金属用ハサミを購入。




わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph

ワオ!と言っているユーザー

各務原遺産の森トレッキング(2023.10.08)

各務原遺産の森トレッキング(2...
7月22日以来、75日ぶりのトレッキングです。
多忙と悪天候、更に猛暑でこれだけの日にちが空いてしまいました。
山にきのこは無く、呆れた事にまあセミが鳴いていました・・・・


わかお かずまさ

VegaSystems


📷📷📷📷📷📷
#LAN_PRO
#Bloguru
#VegaSystems
#photograph
#HW01
#トレッキング
#trekking

ワオ!と言っているユーザー

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

ワオ!と言っているユーザー

Pythonの実行環境022

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

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

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

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

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

わかお かずまさ

VegaSystems


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

ワオ!と言っているユーザー

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

ワオ!と言っているユーザー

×
  • ブログルメンバーの方は下記のページからログインをお願いいたします。
    ログイン
  • まだブログルのメンバーでない方は下記のページから登録をお願いいたします。
    新規ユーザー登録へ