Python基礎チュートリアルの簡単入門(変数と制御言語の使い方)
はじめに
興味があればご覧ください: インタープリター言語 + 動的型付け言語 + 厳密に型付けされた言語
対話モード: (主にテストに使用され、ipython を試すことができます)
$python
>>> print 'hello world'
スクリプト
#!/usr/bin/env python
「hello world」を印刷
環境:
python2.7 + easy_install + pip + virtualenv + ipython をお勧めします
インデント
Python 関数には明確な開始と終了がなく、関数の開始と終了をマークする中括弧もありません。区切り文字はコロン (:) のみで、コード自体はインデントされます。
例:
#Function
def func(value) :
値 #Indent を印刷します
if 値 == 1:
値 += 1
elif 値 == 2:
pass
else:
値 += 10
識別子
変数は識別子の例です。 識別子は、何かを識別するために使用される名前です。識別子に名前を付けるときは、次のルールに従う必要があります:
1.Python の識別子は大文字と小文字が区別されます。
2. 識別子は文字またはアンダースコアで始まり、文字、アンダースコア、数字を含めることができます。大文字と小文字は区別されます。
3. アンダースコアで始まる識別子には特別な意味があります。
単一のアンダースコア (_foo) で始まるものは、直接アクセスできないクラス属性を表します。これらは、クラスによって提供されるインターフェースを介してアクセスする必要があり、「from xxx import *」を使用してインポートすることはできません。二重アンダースコア付き (__foo) クラスのプライベート メンバーを表します。二重アンダースコアで開始および終了する
(foo) は、クラスのコンストラクターを表す init() など、Python の特別なメソッド専用の識別子を表します。
assert else if pass
break import print
class in raise
Continuefinally is return
def for lambda try
del from from not while
変数
代入ステートメント
1. 代入ステートメントはオブジェクト参照値を作成します
2. 変数名は初めて代入されるときに作成されます
3. 変数名には、参照される前に値が割り当てられる必要があります。値が割り当てられていないものは参照できません
割り当て方法
変数(変数)=値(値)
複数の変数の代入
Python の元のタプルとリストの代入ステートメントは、長さが等しい限り、右側が任意のタイプのシーケンスであることを受け入れるように一般化されています。長さが等しい必要があることに注意してください
Variable1, variable2,...=Value1,Value2,...
[s,h] =['a','b'] リスト代入、位置
a,b,c,d = 'スパム' シーケンス割り当て、普遍性
a,*b = 'スパム' 拡張シーケンス アンパッキング (python3)
複数ターゲットの割り当て
s = h = ‘spam’ マルチターゲット割り当て
。 自動変数の割り当て
通常の書き込みでは 2 回の計算が必要ですが、独立変数の代入では Python は 1 回だけ計算します。
自動バリアント割り当ては、新しいオブジェクトを作成するのではなく、元のオブジェクトを変更します。
s +=42 增强赋值
x += y
优点:
左侧只需计算一次,优化技术自动原处修改,更快
l +=[] 原处修改
l = l+[] 复制,生成新的对象
运算符
一个表达式可以分解为运算符和操作数
运算符 的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示
运算符需要数据来进行运算,这样的数据被称为 操作数
运算符优先顺序列表(从最高到最低)
运算符 描述
'expr' 字符串转换
{key:expr,...} 字典
[expr1,expr2...] 列表
(expr1,expr2,...) 元组
function(expr,...) 函数调用
x[index:index] 切片
x[index] 下标索引取值
x.attribute 属性引用
~x 按位取反
+x,-x 正,负
x**y 幂
x*y,x/y,x%y 乘,除,取模
x+y,x-y 加,减
x<
x&y 按位与
x^y 按位异或
x|y 按位或
x
x is y,x is not y 等同测试
x in y,x not in y 成员判断
not x 逻辑否
x and y 逻辑与
x or y 逻辑或
lambda arg,...:expr Lambda匿名函数
结合规律
运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算
计算顺序
默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它们的计算顺序,你得使用圆括号。好的做法:默认对复杂的运算加括号,而不是依赖于默认结合和计算顺序
真值
真值测试
1、任何非零数字或非空对象都为真
2、数字零,空对象以及特殊对象None都为假
3、比较和相等测试都会递归地运用到数据结构中
4、比较和相等测试会返回True或False
真值表
对象/常量 值
"" 假
"string" 真
0 假
2>=1 真
-2<=-1 真
()空元组 假
[]空列表 假
{}空字典 假
None 假
布尔表达式
三种布尔表达式运算符
x and y
x or y
not x
比较
数字通过相对大小进行比较
字符串时按照字典顺序的,一个字符一个字符比较
列表和元组从左到右对每部分的内容进行比较
字典通过排序后的键值列表进行比较
数字混合类型比较在python3是错误的,但是python2.6支持,固定但任意的排序规则
布尔数
有两个永远不改变的值True,False
布尔是整型的子类,但不能被再继承
没有nonzero()方法的对象的默认值是True
对于值为0的任何数字或空集,值False
在数学运算中,Bollean值的True和False分别对应于1和0
基本控制流
if
基本的条件测试语句,用来判断可能遇到的不同情况,并针对不同的情况进行操作
基本形式
if <条件>:
<语句>
elif <条件>:
<语句>
else:
<语句>
注意
python根据缩进判断, elif和else部分是可选的
例子:
a = 1
b = 2
c = 3;d=4 #两个放一句用分号隔开,不过建议分行
if a < b and c < d:
print("branch a")
elif a == b:
print("branch b")
else:
print("branch c")
switch
python 本身没有 switch 语句,若需要,用if/elif/else实现完成同样的工作,某些情况可以考虑用字典
也可以用dict的形式
if/else三元运算符
A = ((X and Y) or Z)
A = Y if X else Z
例: a = ‘t' if x else ‘a'
[code]
for
基本文法
ループ制御ステートメントを使用して、特定のシーケンスをループできます
else ブロックはオプションであり、ループの終了時に実行されます。break によってループが終了すると、else は実行されません。
形式:
[コード]
for <オブジェクト コレクション>:
if<条件>:
if<条件> :
continue
<その他のステートメント>
else:
<その他のステートメント>
1. オブジェクト コレクションはリスト、辞書、タプルなどです。
2. for..in ループは任意のシーケンスに適用できます。
3. for は辞書を走査するときに、そのキーを走査します。辞書
range() 関数を使用して整数のリストを生成し、カウント サイクルを完了できます
start オプションのパラメータ、開始番号
stop 終了番号、x の場合、0-(x-1) の整数のリストを生成
step オプションのパラメータ、ステップ サイズ、書かれていない場合はデフォルトは 1
range(1,5) にはシーケンス [1,2,3,4]
が含まれます
(python3.x は無視できます)
Rangeメソッドではリストオブジェクトを生成しますが、XRangeでは返されたものがそれほど大きくない場合やループ内では基本的に最初から最後までチェックする場合はxrangeオブジェクトを生成します。これら 2 つの方法の効率はほぼ同じです。ただし、返されるアイテムが大きい場合、またはループ内で頻繁に中断される場合は、スペースを節約するだけでなく効率も向上する XRange を使用することをお勧めします。
>>> print xrange(1, 5)
xrange(1, 5)
上記のステートメントでは、range は通常の List を返し、xrange は特定の xrange タイプのオブジェクトを返します。 xrange メソッドは、整数のリスト (同じ引数を取る) も作成するため、range メソッドと非常によく似ています。ただし、xrange メソッドは、必要な場合にのみリストに整数を作成します。 xrange メソッドは、大量のコンピューター メモリを消費する非常に大きなリストを作成しないため、多数の整数を反復処理する必要がある場合に適しています。
その間
if ステートメントと同様に、条件付きテスト ステートメントとループが含まれており、ステートメント ブロックを繰り返し実行できます。
オプションの else ステートメント ブロック。else ブロックと同じです。
形式:
Break
if
continue
<その他のステートメント>
else:
説明:
else ブロックは、while ループの条件が False になった場合にのみ実行されます
break を使用してループを終了する場合、while オプションの else ブロックは実行されませんPython には do while または do until ループ ステートメントがありません
break & continue & pass
break、ループステートメントを終了し、for/while ループ内で終了した場合、その else は実行されません
。
続行し、現在のサイクルを終了し、ループの次のラウンドに入ります - 最新のループの先頭にジャンプします (ループの最初の行に来ます)
pass は何も行いません。これは単なる空のプレースホルダーステートメントであり、何らかの構文ステートメントが必要であるが、プログラムは何も行わない場合に使用されます。
ループ else ブロック: ループが正常に終了するとき、つまり
のみ実行されます。for または while ループから中断すると、対応するループ else ブロックは実行されません。覚えておいてください、break ステートメントは for ループ内でも使用できます
その他
ループ作成のヒント:
反復プロセス中に反復シーケンスを変更するのは安全ではありません (これは、リンク リストなどの変更可能なシーケンスを使用する場合にのみ当てはまります)。反復しているシーケンスを変更する場合 (たとえば、選択範囲をコピーする)、そのコピーを反復できます。カッティングマークを使うと簡単に出来ます
>>>
辞書内でループする場合、キーワードと対応する値iteritems( ) メソッドも同時に解釈されます。
. . k、v
を印刷...
純粋なガラハッド
勇敢なロビン
シーケンスをループするとき、enumerate() 関数を使用してインデックス位置と対応する値を同時に取得できます。
> for i, v in enumerate([' tic', 'tac', 'toe']):
... print i, v

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法
