検索

Python の基本

Feb 16, 2017 am 11:22 AM
python

前書き

Python は、退屈なクリスマスを解消するために 1989 年に Uncle Turtle によって書かれたプログラミング言語であり、現在では豊富な標準ライブラリとサードパーティ ライブラリが備わっています。
Python は、Web ウェブサイトやさまざまなネットワーク サービス、システム ツール、スクリプトの開発に適しており、科学計算などのために、他の言語で開発されたモジュールをパッケージ化するための「接着剤」言語として使用できます。

エディターが Python を学習する理由は 3 つあります:
必要なあらゆる種類のデータをクロールするには、Python を学習した方がよいでしょう。
データを分析してマイニングするには、Python を学ぶのもよいでしょう。
楽しくて興味深いことをするには、Python を学ぶのもよいでしょう。

準備

1. Python公式サイトからお好みのバージョンをダウンロードしてインストールします。エディタは最新バージョン3.6.0を使用します。

2. Pythonの統合開発環境であるOpen IDLEは、シンプルですが非常に便利です。 IDLE には、構文を色で強調表示するエディター、デバッグ ツール、Python シェル、および Python 3 のオンライン ドキュメントの完全なセットが含まれています。

hello world

1. IDLE で、print('hello world') と入力し、Enter キーを押して hello world を出力します。 print('hello world'),回车,则打印出hello world。
PS:语句末尾加不加分号;都可以,小编决定不加分号,更简单。

2、使用sublime新建文件hello.py,内容如下:

print('hello world')

在Windows下,shift+右键,在此处打开命令窗口,执行python hello.py,回车,则打印出hello world。

3、使用sublime新建文件hello.py,内容如下:

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

在Linux或Mac环境下,可以直接运行脚本。首先添加执行权限chmod a+x hello.py,然后执行./hello.py。当然,也可以和Windows一样,使用python hello.py来执行脚本。

引入模块

1、新建name.py,内容如下:

name='voidking'

2、执行python name.py
3、进入python shell模式,执行import nameprint(name.name),则打印出voidking。

基础语法

常用函数(print)、数据类型、表达式、变量、条件和循环、函数。和其他语言类似,下面选择一部分展开。

list链表数组

1、定义数组
myList = ['Hello', 100, True]
2、输出数组
print(myList)
3、输出数组元素
print(myList[0])print(myList[-1])
4、追加元素到末尾
myList.append('voidking')
5、追加元素到头部
myList.insert(0,'voidking')
6、删除元素
myList.pop()myList.pop(0)
7、元素赋值
myList[0]='hello666'

tuple固定数组

1、定义数组
myTuple = ('Hello', 100, True)
错误定义:myTuple1=(1),正确定义:myTuple=(1,)
2、输出数组
print(myTuple)
3、输出数组元素
print(myTuple[0])
4、tuple和list结合
t = ('a', 'b', ['A', 'B'])t[2][0]='X'追記: ステートメントの最後にセミコロン ; を追加することも追加しないこともできます。編集者は、より簡単なセミコロンを追加しないことを決定しました。

2. sublime を使用して、次の内容の新しいファイル hello.py を作成します。

score = 75
if score>=60:
    print 'passed'

Windows では、Shift+右クリックしてコマンド ウィンドウを開き、python hello.py を実行して、 「hello world」と入力して出力します。

3. sublime を使用して、次の内容の新しいファイル hello.py を作成します。

if score>=60:
    print('passed')
else:
    print('failed')

Linux または Mac 環境では、スクリプトを直接実行できます。まず実行権限 chmod a+x hello.py を追加してから、./hello.py を実行します。もちろん、python hello.py を使用して Windows と同じようにスクリプトを実行することもできます。

モジュールを導入します

1. 次の内容で新しい name.py を作成します:

if score>=90:
    print('excellent')
elif score>=80:
    print('good')
elif score>=60:
    print('passed')
else:
    print('failed')

2. python name.py を実行します。

3. Python シェル モードに入り、import nameprint(name.name) を実行すると、voidking が出力されます。

基本構文

よく使用される関数 (出力)、データ型、式、変数、条件とループ、関数。他の言語と同様に、以下の部分を選択して展開します。

リストリンクリスト配列

1. 配列を定義します

myList = ['Hello', 100, True]

2. 出力配列

print(myList)

3 . 配列要素を出力します

print(myList[0])print(myList[-1])

4. 要素を末尾に追加します

myList.append (' voidking')

5. head に要素を追加します

myList.insert(0,'voidking')

6. 要素を削除します

myList.pop(), <code>myList.pop(0)

7. 要素の割り当て

myList[0]='hello666'

配列を定義します

1. myTuple = ('Hello', 100, True)

間違った定義: myTuple1=(1)、正しい定義: myTuple=(1,)

2. 配列の出力

print(myTuple)

3. 配列の要素の出力

print(myTuple[0])

4. タプルとリストの結合

t = ('a', 'b', ['A', 'B']), t[2][0]='X'

if ステートメント

if

L = [75, 92, 59, 68]
sum = 0.0
for score in L:
       sum += score
print(sum / 4)

Enter キーを 2 回押してコードを実行します。

if-else

sum = 0
x = 1
while x<br>if-elif-else<pre class="brush:php;toolbar:false">sum = 0
x = 1
while True:
    sum = sum + x
    x = x + 1
    if x > 100:
        break
print(sum)
    ループ
  • forループ

    L = [75, 98, 59, 81, 66, 43, 69, 85]
    sum = 0.0
    n = 0
    for x in L:
        if x 
  • whileループ
  • for x in ['A', 'B', 'C']:
        for y in ['1', '2', '3']:
            print(x + y)

    break

    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59,
        'Paul': 75
    }
    print(d)
    print(d['Adam'])
    print(d.get('Lisa'))
    d['voidking']=100
    print(d)
    for key in d:
        print(key+':',d.get(key))
  • Continue
  • s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
    print(s)
    s = set(['Adam', 'Lisa', 'Bart', 'Paul', 'Paul'])
    print(s)
    len(s)
    print('Adam' in s)
    print('adam' in s)
    for name in s:
        print(name)

    複数ループ

    s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
    for x in s:
        print(x[0]+':',x[1])
  • dict

dictの機能はキーのセットと値のセットの間のマッピング関係を確立します。

s.add(100)
print(s)
s.remove(('Adam',95))
print(s)

set

🎜set は一連の要素を保持します。これはリストに非常に似ていますが、set の要素は繰り返されず、順序付けされていないため、dict のキーに非常に似ています。 🎜
del sum
L = [x*x for x in range(1,101)]
print sum(L)
def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x
my_abs(-100)
import math

def quadratic_equation(a, b, c):
    x = b * b - 4 * a * c
    if x 🎜関数🎜🎜組み込み関数🎜<pre class="brush:php;toolbar:false">def average(*args):
    if args:
        return sum(args)*1.0/len(args)
    else:
        return 0.0

print(average())
print(average(1, 2))
print(average(1, 2, 2, 3, 4))
🎜カスタム関数🎜
L = ['Adam', 'Lisa', 'Bart', 'Paul']
L[0:3]
L[:3]
L[1:3]
L[:]
L[::2]
🎜導入関数ライブラリ🎜
L[-2:]
L[-3:-1]
L[-4:-1:2]
🎜変数パラメータ🎜
L = range(1, 101)
L[-10:]
L[4::5][-10:]
🎜スライス🎜🎜リストスライス🎜
def firstCharUpper(s):
    return s[0:1].upper() + s[1:]

print(firstCharUpper('hello'))
🎜逆スライス🎜
for i in range(1,101):
    if i%7 == 0:
        print(i)
rree 🎜追記: 範囲は順序付けられ、リストは表現されますデフォルトでは関数形式になります。 range 関数を実行すると、リスト形式で表現できます。 🎜🎜文字列スライス🎜
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in enumerate(L):
    print(index+1, '-', name)

myList = zip([100,20,30,40],L);
for index, name in myList:
    print(index, '-', name)
🎜反復🎜🎜Python の for ループは、リストやタプルだけでなく、他の反復可能なオブジェクトにも使用できます。 🎜反復操作はセットに対するもので、セットが順序付けされているかどうかに関係なく、for ループを使用して常にセットの各要素を順番に取り出すことができます。 🎜セットとは、以下を含む要素のセットを含むデータ構造を指します: 🎜🎜🎜🎜順序付きセット: リスト、タプル、str、および Unicode; 🎜🎜🎜🎜順序なしセット: set🎜🎜🎜🎜 順序なしセットであり、キーと値を持ちます。ペア: dict🎜🎜🎜
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print(d.values())
for v in d.values():
    print(v)
🎜インデックスの反復🎜🎜 順序付きセットの場合、要素にはインデックスが付けられます。for ループでインデックスを取得したい場合はどうすればよいでしょうか。その方法は enumerate() 関数を使用することです。 🎜
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in enumerate(L):
    print(index+1, '-', name)

myList = zip([100,20,30,40],L);
for index, name in myList:
    print(index, '-', name)

迭代dict的value

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print(d.values())
for v in d.values():
    print(v)

PS:Python3.x中,dict的方法dict.keys(),dict.items(),dict.values()不会再返回列表,而是返回一个易读的“views”。这样一来,k = d.keys();k.sort()不再有用,可以使用k = sorted(d)来代替。
同时,dict.iterkeys(),dict.iteritems(),dict.itervalues()方法不再支持。

迭代dict的key和value

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
for key, value in d.items():
    print(key, ':', value)

列表生成

一般表达式

L = [x*(x+1) for x in range(1,100)]
print(L)

复杂表达式

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
def generate_tr(name, score):
    if score >=60:
        return '<tr>
<td>%s</td>
<td>%s</td>
</tr>' % (name, score)
    else:
        return '<tr>
<td>%s</td>
<td>%s</td>
</tr>' % (name, score)

tds = [generate_tr(name,score) for name, score in d.items()]
print('
') print('') print('\n'.join(tds)) print('
Name Score
')

条件表达式

L = [x * x for x in range(1, 11) if x % 2 == 0]
print(L)
def toUppers(L):
    return [x.upper() for x in L if isinstance(x,str)]

print(toUppers(['Hello', 'world', 101]))

多层表达式

L = [m + n for m in 'ABC' for n in '123']
print(L)
L = [a*100+b*10+c for a in range(1,10) for b in range(0,10) for c in range(1,10) if a==c]
print(L)

后记

至此,Python基础结束。接下来,爬虫飞起!

更多Python,基础相关文章请关注PHP中文网!

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?numpyアレイは、アレイモジュールを使用して作成された配列とどのように異なりますか?Apr 24, 2025 pm 03:53 PM

numpyarraysarasarebetterfornumeroperations andmulti-dimensionaldata、whilethearraymoduleissuitable forbasic、1)numpyexcelsinperformance and forlargedatasentassandcomplexoperations.2)thearraymuremememory-effictientivearientfa

Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Numpyアレイの使用は、Pythonで配列モジュール配列の使用と比較してどのように比較されますか?Apr 24, 2025 pm 03:49 PM

NumPyArraySareBetterforHeavyNumericalComputing、whilethearrayarayismoreSuitableformemory-constrainedprojectswithsimpledatatypes.1)numpyarraysofferarays andatiledance andpeperancedatasandatassandcomplexoperations.2)thearraymoduleisuleiseightweightandmemememe-ef

CTypesモジュールは、Pythonの配列にどのように関連していますか?CTypesモジュールは、Pythonの配列にどのように関連していますか?Apr 24, 2025 pm 03:45 PM

ctypesallowsinging andmanipulatingc-stylearraysinpython.1)usectypestointerfacewithclibrariesforperformance.2)createc-stylearraysfornumericalcomputations.3)passarraystocfunctions foreffientientoperations.how、how、becuutiousmorymanagemation、performanceo

Pythonのコンテキストで「配列」と「リスト」を定義します。Pythonのコンテキストで「配列」と「リスト」を定義します。Apr 24, 2025 pm 03:41 PM

Inpython、「リスト」は、「リスト」、自由主義的なもの、samememory効率が高く、均質な偶然の瞬間の想起された「アレイ」の「アレイ」の「アレイ」の均質な偶発的な想起されたものです

Pythonリストは可変ですか、それとも不変ですか? Pythonアレイはどうですか?Pythonリストは可変ですか、それとも不変ですか? Pythonアレイはどうですか?Apr 24, 2025 pm 03:37 PM

pythonlistsandarraysaraybothmutable.1)listsareflexibleandsupportheTeterdatabutarlessmemory-efficient.2)Arraysaremorememory-efficientiant forhomogeneousdative、ressivelessatile、ressing comerttytytypecodeusageodoavoiderorors。

Python vs. C:重要な違​​いを理解しますPython vs. C:重要な違​​いを理解しますApr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

Python vs. C:プロジェクトのためにどの言語を選択しますか?Python vs. C:プロジェクトのためにどの言語を選択しますか?Apr 21, 2025 am 12:17 AM

PythonまたはCの選択は、プロジェクトの要件に依存します。1)迅速な開発、データ処理、およびプロトタイプ設計が必要な場合は、Pythonを選択します。 2)高性能、低レイテンシ、および緊密なハードウェアコントロールが必要な場合は、Cを選択します。

Pythonの目標に到達する:毎日2時間のパワーPythonの目標に到達する:毎日2時間のパワーApr 20, 2025 am 12:21 AM

毎日2時間のPython学習を投資することで、プログラミングスキルを効果的に改善できます。 1.新しい知識を学ぶ:ドキュメントを読むか、チュートリアルを見る。 2。練習:コードと完全な演習を書きます。 3。レビュー:学んだコンテンツを統合します。 4。プロジェクトの実践:実際のプロジェクトで学んだことを適用します。このような構造化された学習計画は、Pythonを体系的にマスターし、キャリア目標を達成するのに役立ちます。

See all articles

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、