Python-基礎-入門

Jun 16, 2016 am 08:42 AM
python

Python简介及入门

python
为什么是python

选择自己喜欢的语言,这往往不容易,更多的是根据需求

话说,之前是java,大学用了三年+实习半年,后来入职做测试开发后,碰到了python

到最后,转python开发了

写起来快,缩进,不用打花括号,省手指,读起来舒服…..

喜欢,貌似不需要什么太牛的理由,用着顺手舒服就行

什么语言之争,编辑器之战啥的,能忽略就忽略吧,能无视就无视吧,工具,够用,用这舒服就ok了,浪费口水精力争来争去图个啥呢

Life is short, I use python!

简介

python介绍: 到官网自个看

有兴趣可以看看: 解释性语言+动态类型语言+强类型语言

优点缺点: 自己google

国际惯例

交互模式:(主要拿来试验,可以试试 ipython 支持tab自动补全)

复制代码 代码如下:

$python
>>> print 'hello world'

脚本

复制代码 代码如下:

#!/usr/bin/env python
print 'hello world'

环境及其他
基本安装: 自己google[安装和配置一搜一大把,基本技能,不解释,貌似很久之前我也写了一篇http://blog.csdn.net/wklken/article/details/6311292

环境:

建议python2.7 + easy_install + pip + virtualenv + ipython
开发工具:

vim/sublimetext2/eclipse+pydev/pycharm
建议初学idle或者pydev吧,用着顺手就行,
关于编码风格:

谷歌的:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
中文: http://www.bsdmap.com/articles/zh-google-python-style-guide/
--------------------------------------------------------------------------------

入门
不扯,开始

缩进
Python 函数没有明显的 begin 和 end,没有标明函数的开始和结束的花括号。唯一的分隔符是一个冒号 (:),接着代码本身是缩进的。

例子:

复制代码 代码如下:

#函数
def func(value):
    print value  #缩进

    if value == 1:
        value += 1
    elif value == 2:
        pass
    else:
        value += 10

标识符
变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:

1.python中的标识符是区分大小写的。

2.标示符以字母或下划线开头,可包括字母,下划线和数字,大小写敏感

3.以下划线开头的标识符是有特殊意义的。

•以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;
•以双下划线开头的(__foo)代表类的私有成员;
•以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
4.标识符不能是保留字

and            elif        global   or    yield
assert         else        if       pass
break          except      import   print
class          exec        in       raise
continue       finally     is       return
def            for         lambda   try
del            from        not      while
变量
赋值语句

•赋值语句建立对象引用值
•变量名在首次赋值时会被建立
•变量名在引用前必须先赋值,不能引用未声明赋值的变量
赋值方式

•简单赋值
Variable(变量)=Value(值)

s = 'spam'
•多変数代入
Python の元のタプルとリスト代入ステートメントが形成され、最終的には右辺が任意の型のシーケンスであることを受け入れるように一般化されました。 、長さだけ同じになるようにしてください。長さは等しくなければならないことに注意してください

変数 1,変数 2,...=値 1,値 2,...

s,h = 'a','b' タプル代入、位置 [よく使われる]
[s,h] =['a','b'] リスト代入、位置
a ,b ,c,d = 'スパム' シーケンスの割り当て、普遍性
a,*b = 'スパム' 拡張シーケンスのアンパッキング (python3)

•複数のターゲットの割り当て

a=b=変数

s = h = ‘spam’ マルチターゲット割り当て
注: 変数タイプの場合、複数の変数がメモリ内の同じオブジェクトを指します。1 つを変更すると他の変数に影響します

•自動割り当て
+=、-=、*= など。

独立変数の代入では、Python は 1 回だけ計算しますが、通常の記述方法では 2 回計算する必要があります。

自動バリアント割り当ては、新しいオブジェクトを作成するのではなく、元のオブジェクトを変更します。

s +=42 拡張割り当て
x += y
利点:

プログラマーの入力が減ります

左辺の計算は 1 回だけで済み、最適化テクノロジーにより自動的にその場で変更され、高速になります
l +=[] その場で変更
l = l+[] コピー、新しいオブジェクトを生成
演算子
式は演算子とオペランドに分解できます

演算子の機能は、何かを達成することです。演算子は、+ などの記号またはその他の特定のキーワードで表されます

演算子は演算を実行するためにデータを必要とし、そのようなデータはオペランドと呼ばれます

演算子の優先順位のリスト (最高から最低へ)

オペレーターの説明

'expr' 文字列変換
{key:expr,...} 辞書
[expr1,expr2...] リスト
(expr1,expr2,...) タプル
関数(expr,...) 関数呼び出し
x[index:index] Slice
x[index] 添字インデックス値
x.attribute 属性参照
~x ビット単位の否定
+x, -x 正、負
x**y 累乗
x*y、x/y、x%y 乗算、除算、法
x+y、x-y 加算、減算
x<< y, x>>y シフト
x&y ビット単位 AND
x^y ビット単位 XOR
x|y ビット単位 OR
x=y, x>y 比較
x は y、x は y ではない 等価性テスト
x は y にあり、x は y にない メンバーの判断
x ではない 論理的ではありません
x と y論理 and
x または y 論理 or
ラムダ引数,...:expr Lambda 匿名関数
結合ルール

演算子は通常、左から右に結合されます。つまり、同じ優先順位を持つ演算子は左から右の順序で評価されます

計算順序

デフォルトでは、演算子の優先順位テーブルによって、どの演算子が他の演算子よりも前に評価されるかが決まります。ただし、評価される順序を変更したい場合は、括弧を使用する必要があります。グッドプラクティス: 複雑な演算の場合は、デフォルトの組み合わせと計算順序に依存するのではなく、デフォルトでかっこを使用します

真の値
真実テスト
• ゼロ以外の数値または空でないオブジェクトはすべて真です
• 数値ゼロ、空のオブジェクト、および特別なオブジェクト None はすべて偽です
• 比較と等価性テストはデータ構造に再帰的に適用されます
• 比較および等価性テストは True または False を返します
真理値表

コードをコピー コードは次のとおりです:

オブジェクト/定数値
"" false
"string " true
0 False
2>=1 True
-2<=-1 True
()空のタプル False
[]空のリスト False
{}空の辞書 False
なし false



ブール式
3 つのブール式演算子

コードをコピー コードは次のとおりです:


x および y
x または y
not x



比較
• 数値は相対的なサイズによって比較されます
• 文字列は辞書順に、文字ごとに比較されます
• リストとタプルは左から右に比較されます。内容が比較されます
• 辞書はソートされたキー値リストによって比較されます
• python3 では数値混合型の比較が間違っていますが、python2.6 では固定だが任意のソート規則がサポートされています
Boolean
• 値は 2 つあります決して変化しない、True と False
•Boolean は整数のサブクラスですが、継承できません
•__nonzero__() メソッドのないオブジェクトのデフォルト値は True です
•任意の数値または空のセットに対して値が 0 の場合、値は False
•数学演算では、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'
for
•基本语法
循环控制语句,可以用于循环遍历某一序列

else块可选,在循环终止的时候执行,若是break终止循环,else不执行

格式:

复制代码 代码如下:


for <对象变量> in <对象集合>:
if<条件>:
break
if<条件>:
continue
<其他语句>
else:
<其他语句>



注意:

1.对象集合可以是列表,字典以及元组等
2.for..in循环对于任何序列都适用
3.for遍历一个字典时,遍历的是字典的键
•rang & xrange
可以通过range()函数产生一个整数列表,完成计数循环

range([start,] stop[, step])

start可选参数,起始数
stop终止数,若为x,产生从0-(x-1)的整数列表
step可选参数,步长,未写默认为1
range(1,5) 包含序列为 [1,2,3,4]

xrange和range区别

(python3.x的可无视)

在Range的方法中,它会生成一个list的对象,但是在XRange中,它生成的却是一个xrange的对象,当返回的东西不是很大的时候,或者在一个循环里,基本上都是从头查到底的情况下,这两个方法的效率差不多。但是,当返回的东西很大,或者循环中常常会被Break出来的话,还是建议使用XRange,这样既省空间,又会提高效率。

复制代码 代码如下:

>>> print range(1, 5)
[1, 2, 3, 4]
>>> print xrange(1, 5)
xrange(1, 5)


在上面语句中,range返回了一个普通List,而xrange返回了一个特定的xrange类型的对象。由于 xrange 方法也创建整数 list(其使用相同参数),所以它与 range 方法非常相似。但是,xrange 方法仅在需要时才在 list 中创建整数。当需要迭代大量整数时,xrange 方法更适用,因为它不会创建极大的 list,那样会消耗大量计算机内存。

while
与if语句类似,含一个条件测试语句,循环,允许重复执行一个语句块。

可选else语句块,同for的else块。

格式:

复制代码 代码如下:

while <条件>:
   if <条件>:
      break
   if <条件>:
      continue
   <其他语句>
else:
   <语句>

说明:

•while循环条件变为False的时候,else块才被执行
•若是使用break结束循环,while可选的else块不执行
•python没有do while或do until循环语句
break & continue & pass
break,终止循环语句,停止循环,若是for/while循环中终止,其else不执行

continue,结束当前,进入下一轮循环 - 跳到最近所在循环的开头处(来到循环首行)

pass 什么事也不做,只是空占位语句,它用于那些语法上必须要有什么语句,但程序什么也不做的场合

循环else块 :只有循环正常离开时才会执行,即

如果你从for或while循环中break终止 ,任何对应的循环else块将不执行。记住,break语句也可以在for循环中使用

其他
编写循环的技巧:
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便的做到这一点

复制代码 代码如下:

>>> for x in a[:]: # make a slice copy of the entire list
...    if len(x) > 6: a.insert(0, x)

在字典中循环时,关键字和对应的值可以使用 iteritems() 方法同时解读出来

コードをコピー コードは次のとおりです:

>>> knights = {'gallahad': 'the pure', 'robin': '勇敢な'}
>>> for k, v in knights.iteritems():
... print k, v
...
純粋なガラハッド
勇敢なロビン

シーケンスをループするとき、enumerate() 関数を使用してインデックス位置と対応する値を同時に取得できます。

コードをコピー コードは次のとおりです。

> for i, v in enumerate([' tic', 'tac', 'toe']):
... print i, v
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

Visual StudioコードはPythonで使用できますか Visual StudioコードはPythonで使用できますか Apr 15, 2025 pm 08:18 PM

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

Windows 8でコードを実行できます Windows 8でコードを実行できます Apr 15, 2025 pm 07:24 PM

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

VSCODE拡張機能は悪意がありますか? VSCODE拡張機能は悪意がありますか? Apr 15, 2025 pm 07:57 PM

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

ターミナルVSCODEでプログラムを実行する方法 ターミナルVSCODEでプログラムを実行する方法 Apr 15, 2025 pm 06:42 PM

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

See all articles