#この記事では主に Python で動的変数名を使用する方法を紹介しますので、必要な方は参考にしてください。プログラムを書いて、x1 を 1、x2 を 2 として、x100 が 100 になるまで何をしますか? C のような静的言語では、変数名の識別子は実際にはコンパイラによってメモリ アドレスに直接変換されるため、各変数の値を手動で設定する以外にこれを行う方法はありません。そして、Python のような動的言語はそれを行うことができます。
当然考えやすいのは eval ですが、Python の変数名は単なる辞書のキーなので、実際にはそんな危険なことは必要ありません。この辞書を取得するには、locals 関数と globals 関数を直接使用します。
したがって、このプログラムは次のように実装できます:
コードは次のとおりです:
>>> names = locals() >>> for i in xrange(1, 101): ... names['x%s' % i] = i ... >>> x1 1 >>> x2 2 >>> x100 100
しかし、この例は役に立たないと言うかもしれません。配列を使用して実装するのが現実的です。
次に、別の例を考えてみましょう。サーバーはオブジェクト データベースを使用し、オブジェクトをデータベースに直接保存できます。サーバーには現在サポートされているすべてのクラスがリストされており、ユーザーはリストに存在しないクラスを追加したいため、JSON または XML テキストがサーバーに送信されます。サーバーはこのテキストを解析し、クラス オブジェクトに変換し、クラス名を設定します。ユーザーはこのクラスのオブジェクトを自由に生成できます。
重要なのは、このデータベースがクラス名に関連しているということです。一般的な Object クラスを使用してすべてのオブジェクトを保存することはできません。そうしないと、クエリが台無しになります。偶然にも、GAE フォーラムでもこの要件を提起した人がいましたが、Java しか知らなかった彼は、最終的には断念せざるを得ませんでした。
もちろん、いたずらとして使用することもできます:
コードは次のとおりです:
>>> locals()['True'] = False >>> True False
もう 1 つの用途は、変数名が既に存在するかどうかをテストすることです。標準的なアプローチは、NameError 例外を除いて try... することですが、実際には、locals() または globals() で直接使用して判断することができます。
ところで、もう一つ奇妙なメソッドを紹介します。このように書いている人がいるかどうかはわかりません: コードは次のとおりです:>>> import __main__ >>> hasattr(__main__, 'x') False >>> setattr(__main__, 'x', 1) >>> x 1 >>> hasattr(__main__, 'x') True
もちろん、いいえ、ある人はあなたにこのように書くことを勧めますが、私も会議に勧めません。
最後に、変数名を動的に設定するだけでなく、del locals()['x1'] などの動的削除も可能です。同様に、delattr も使用できます。
関連チュートリアルの推奨事項:
Python ビデオ チュートリアル以上がPython は変数変数名を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
