検索
ホームページバックエンド開発Python チュートリアルPython 変数のデータ型と演算子の使用方法

1 データ型

変数の型が異なれば実行できる操作も異なるため、変数の型を理解する必要があります。Python のデータ型は次のように分類できます:

Built -in型:

  • 数値型:整数型int、浮動小数点型float、複素数(complex) 3 5j

  • str:String

  • #bool:ブール値 [True、False]

  • ##None:

    Null 値、変数に決定された値がないことを示します

  • list:

    List

  • タプル:

    タプル

  • dict:

    dict

  • # #set:

    コレクション

  • #カスタム タイプ:

#クラス:
    クラス
  • ##1.1 基本型

  • 数値型:

整数型(int):

python3 には、整数を表すことができる int 型が 1 つだけあります。例: 10、-5、10000
  • 浮動小数点型 (float):

    は小数点付きの実数を表します。 2 つの表現があります:
  • 10 進表現: 1.9 .23

    • 科学表記法: 10 の指数を表すには e を使用し、1e2 は 100 を表します。e の前には数値が必要で、e の後には整数が必要であることに注意してください。複素数:

      は、数学における無理数を次の形式で表します。 bj

    ブール型 (bool):
  • は、トランザクションの 2 つの状態、男性と女性、曇りと晴れ、明るいと暗い 待ってください。値は 2 つだけです: True、False

  • None:
は、空のオブジェクト。一般に判定に使用され、0 や空文字とは異なります。
  • String (str):

    Python では引用符を使用します (一重引用符、二重引用符、三重引用符)引用符) を使用して文字列を表現します
  • 文字列の表現:

  • ## 表現するには一重引用符を使用します: 'hello'

    #二重引用符を使用して表現します。「私は Python を使用しています」# 3 を使用します。一重引用符は、複数行のテキストを表すことができます。たとえば、次のようになります。 '''The great

    's
  • motherland
'''

# 3 つの二重引用符を意味します。複数行のテキストを表すことができます。例: """生と死について楽観的になりましょう。Just do it if you don't accept it"""




エスケープ文字:
一部の特殊文字は使用できません キーボードからの入力はエスケープ文字で表すことができます。一重引用符、二重引用符、三重引用符文字列のいずれであっても、引用符は文字列の区切り文字であり、引用符は文字列の内容ではありません。では、一重引用符文字列を入力するにはどうすればよいでしょうか?引用符。エスケープ文字を使用して表現することもできます。一般的なエスケープ文字




エスケープ文字
  • 説明

エスケープ文字 は通常の文字の一重引用符を表します。 \n は通常の文字の二重引用符を表します \r## ##########入力####################\'''######### ######通常の 3 つの一重引用符#\"""##通常の三重二重引用符\t1 文字ずつ削除
説明

##\'

改行

\"

\\

通常の文字\

\a

#リング

tab キー

\b

  • 文字列エンコード: コンピューターはバイナリのみを認識できるため、コンピューターに文字列を保存する方法

コンピューターは保存できませんこれは直接 String ですが、文字をエンコードできます。たとえば、大文字 A を表すには 65 を使用し、大文字 B を表すには 66 を使用します...など。この表現方法はアメリカン ASCII コードであり、127 文字しか表現できませんが、アメリカ人にとってはそれで十分です。整数を使用して文字を表現できるようになると、整数をバイナリで簡単に表現できるようになり、文字列をコンピュータに簡単に保存できるようになります。
しかし、他の国には ASCII で表現できない言語がたくさんあります。すべての ISO 組織は、あらゆる言語の文字を表現するために使用される Unicode コードを導入しています。Unicode コードは、ユニバーサル コードおよびユニバーサル コードとも呼ばれます。あらゆる言語のあらゆる文字。 unicdoe コードには、utf-8、utf-16、utf-32 などの多くの表現方法があります。最も一般的に使用されるのは utf-8 です。utf-8 は可変長エンコーディングであり、文字が 1 バイトまたは 3 バイトを使用できることを意味します。
一般的に使用される中国語のエンコーディングは通常 GBK エンコーディングを使用し、2 バイトで文字を表します。漢字

1.2 型判定

type と isinstance を使用してデータ型をテストおよび判定できます

#type用法:
type(obj)
功能:返回obj的数据类型
参数:obj是你要测试变量或数值
示例:
age = 10
name = 'hello'
print(type(name),type(age))
#判断变量是否是指定类型
if type(age) is int:
print('是')
else:
print('否')

#isinstance用法:
isinstance(obj,typename)
功能:判断obj是否是指定类型,是返回True,否返回False
参数: objobj是你要判断的变量或数值
typename是指定数据类型,可以是int,float,str等。也可是一个
类型的元组,例如:(int,float)
示例:
age = 10
name = 'hello'
print(isinstance(age,int))
print(isinstance(name,(str,int)) #只要name是str或int的一种就返回True

if isinstance(age,int):
print('是')
else:
print('否')

#type和isinstance的区别
type判断基本类型是没问题的,但无法判断子类对象是父类的一种
isinstance可以判断子类对象是父类的一种
class A:
pass
class B(A):
pass

objA = A()
objB = B()

#输出否
if type(objB) is A:
print('是')
else:
print('否')
print(isinstance(objB,A)) #True

結論:最初の isinstance を使用します

2. 演算子と式

数学で結果を計算するには、次のような計算式をいくつか書きます:

30 5

これは数学の計算式ですが、Python にも式と呼ばれる同様の計算式があります。式では、30 と 5 はオペランド、または演算子と呼ばれます。式の目的は、結果を計算することです。式の構成:

  • 最も基本的な式は、いくつかの数値、変数、関数です。例: 3, a (変数) print(‘hello’)

  • 複雑な式は、基本的な式と適切な演算子で構成されます。 3 a

上記に基づいて、いわゆる式はオペランドと演算子で構成されます。 Python の構文に準拠します。式を作成するには、まず演算子を学習する必要があります。演算子について知っておくべきことが 2 つあります。

  • 計算順序: 左から右に計算されるのか、右から左に計算されるのか

  • 優先度: たとえば、最初に乗算と除算、次に加算と減算です。

2.1 算術演算子

a = 20
b = 10
## モジュロ演算、つまり a を ba で割ったときの余りを求める % 10 = 0 //割り算a // b = 2# **演算子の指数 (べき乗) を計算します2.2 モジュラー演算の説明

演算子

説明

# #-

負の符号、元の数値の逆を取得します

a = 10 print(-a) #-10

- * /

足し算、引き算、掛け算、割り算は数学と同じです

a b = 30 a - b = 10 a * b = 200 a / b = 2

#%

#a ** b は 20 の 10 乗を表します

モジュラー演算の符号は 2 番目のオペランド (右オペランド) によって決まります
  • モジュラー演算の計算式: r = a % b = a - n * b、n は a/b 未満の最大の整数
  • 整数の除算(//) 演算がある場合は演算 数値は浮動小数点数であり、結果は浮動小数点数になります
  • 用途: パリティの決定、割り切れるかどうかの決定、最大値の決定公約数、水仙数
  • 2.3 数学関数

関数名abs##pow(x,y)浮動小数点数は 4 から 5 に丸められます。n は保持する 10 進数の桁数を表しますround(3.456)指定されたパラメータの最大値を検索しますmax(21,43,65,75,86,32, 3,45)##指定されたパラメータの最小値を検索しますmath.ceil()インポート数学ライブラリをインポートして切り上げる必要がありますmath.floor()をインポートする必要があります数学ライブラリをインポートして切り捨てmath.sqrt#平方根を見つけるにはインポート数学ライブラリをインポートする必要があります# python3.5.2 中国語ヘルプドキュメント

関数の説明

Get絶対値

#abs(- 10)

x の y 乗

#pow(10,2) は 10 の 2 乗を求めます

# #round(x,[n])

max()

##min()

min(21,43,65,75,86,32,3,45)

math.ceil(18.1) #19

math.floor(18.1) # 18

math.sqrt(100)

#

2.4 随机函数

获取随机数,需要引入random库。

import random

函数名

函数说明

random.randrange(start,stop,step)

start 指定范围的起始值 包含本身,默认是0;stop 指定范围的结束值 不包含本身; step 步长,默认步长是1。该函数返回一个整数

random.randint(start,end)

返回[start end]之间的一个随机整数,start必须小于end

random.random()

返回一个[0.0,1.0)之间的随机小数

注意:

  • 优先级: ** >正负号 > // % * / > + -

  • 从左向右算

  • 在幂运算和一元运算符联合计算时,从右向左算,例如: -1 ** 2 = -1

2.5 赋值运算符

a = 5; b = 10; c = 20

运算符

说明

示例

=

简单赋值, 将b+c的结果赋给a

a = b +c #a=30

+=

a += b等价于 a = a +b

a = 15

-=

a -= b等价于 a = a - b

a = -5

*=

a *= b等价于 a = a * b

a = 50

/=

a /= b 等价于a = a / b

a = 0.5

%=

a %= b等价于a = a % b

a = 5

//=

a //= b等价于 a = a // b

a = 0

**=

a **= b等价于a = a ** b

 

注意:

  • 赋值运算符左边必须是变量

  • 从右向左算

  • 没有赋值表达式

  • 所有赋值运算符优先级相同,赋值运算符优先级非常低,仅高于成员运算符和身份运算符、逻辑运算符

  • 注意在复合赋值中

a = 2
b = 3
a *= b + 2 #等价于 a = a * (b + 2)
print(a) # a = 10

2.6 关系运算

关系运算就是比较运算,如果表达式成立,返回True,否则返回False。关系运算的结果是布尔值。

运算符

示例

说明

==

a == b

a和b值相等,结果是True,a和b值不相等结果为False

!=

a != b

a不等于b 结果为True,否则结果为True

>

a > b

a大于b结果为True,否则为False

>=

a >= b

a大于等于b结果为True,否则为False

a

a小于b结果为True,否则为False

a

a小于等于b结果为True,否则为False

注意

  • 优先级: 比较运算符优先级相同

  • 从左向右算

  • 可以这样算:1 等价于 a > 1 and a

2.7 逻辑运算

逻辑运算符可以用于构造复杂条件。逻辑运算符包括:

  • 逻辑与 and 对应汉语的意思是“并且” 、 “同时”

  • 逻辑或 or 对应汉语意思为"或者"

  • 逻辑非 not 对应汉语意思为”相反“

在逻辑运算中,False、None、0、0.0、‘’(空字符串)被看做假(False),其它的看做真(True)

2.7.1 逻辑与

a

b

a and b

任意值

b的值

任意值

a的值

  • 表达式 a and b的值为: 如果a为真,结果为b的值,否则结果是a的值

2.7.2 逻辑或

a

b

a or b

任意值

a的值

任意值

b的值

  • 式 a または b の値は次のとおりです。 a が true の場合、結果は a の値になり、それ以外の場合、結果は b の値になります。

2.7.3 ロジック ではない

#a

not a

## True

False

False

True

要約: a が true の場合、式は False、それ以外の場合、式は True

2.8 短い-回路計算

  • 論理 AND 式 a と b の場合、a が false の場合、b は評価されません

  • ##論理 OR 式 a の場合または b、a が true の場合、b

2.9 注

  • 優先順位は > および >or

    ではありません
2.10 ID 演算子

# は: 2 つの識別子が同じエンティティ [オブジェクト] を参照しているかどうかを判断します。比較されるのは、2 つのオブジェクトの ID が同じかどうかです。同じ場合は、 、それは true、それ以外の場合は false

is not: 2 つの識別子が異なるエンティティ [オブジェクト] を参照しているかどうかを判断します。2 つのオブジェクトの ID が異なる場合、結果は true、そうでない場合は false

id() 関数はエンティティの ID (アドレス) を取得します。

注: is と ==

  • is の違いは、is かどうかを判断するために使用されます。 2 つの変数によって参照されるエンティティは同じです [id]

  • == は 2 つの変数の値が同じかどうかを判断するために使用されますが、ID は必ずしも同じである必要はありません同じ

2.11 メンバー演算子

は主に

in のシーケンスで使用されます。指定された値が指定されたシーケンス内で見つかった場合は True を返します。それ以外の場合は False を返します

not in: 指定された値が指定されたシーケンス内に見つからない場合は True を返し、それ以外の場合は False を返します

2.12 if-else 式

式 1 if条件 else 式 2、条件が true または false の場合、結果は式 1 の値、それ以外の場合、結果は式になります。式 2 の値

以上がPython 変数のデータ型と演算子の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Pythonリストをどのようにスライスしますか?Pythonリストをどのようにスライスしますか?May 02, 2025 am 12:14 AM

slicingapythonlistisdoneusingtheyntaxlist [start:stop:step] .hore'showitworks:1)startisthe indexofthefirstelementtoinclude.2)spotisthe indexofthefirmenttoeexclude.3)staptistheincrementbetbetinelements

Numpyアレイで実行できる一般的な操作は何ですか?Numpyアレイで実行できる一般的な操作は何ですか?May 02, 2025 am 12:09 AM

numpyallows forvariousoperationsonarrays:1)basicarithmeticlikeaddition、減算、乗算、および分割; 2)AdvancedperationssuchasmatrixMultiplication;

Pythonを使用したデータ分析では、配列はどのように使用されていますか?Pythonを使用したデータ分析では、配列はどのように使用されていますか?May 02, 2025 am 12:09 AM

Arraysinpython、特にnumpyandpandas、aresentialfordataanalysis、offeringspeedandeficiency.1)numpyarraysenable numpyarraysenable handling forlaredatasents andcomplexoperationslikemoverages.2)Pandasextendsnumpy'scapabivitieswithdataframesfortruc

リストのメモリフットプリントは、Pythonの配列のメモリフットプリントとどのように比較されますか?リストのメモリフットプリントは、Pythonの配列のメモリフットプリントとどのように比較されますか?May 02, 2025 am 12:08 AM

listsandnumpyarraysinpythonhavedifferentmemoryfootprints:listsaremoreflexiblellessmemory-efficient、whileenumpyarraysaraysareoptimizedfornumericaldata.1)listsstorereferencesto objects、with whowedaround64byteson64-bitedatigu

実行可能なPythonスクリプトを展開するとき、環境固有の構成をどのように処理しますか?実行可能なPythonスクリプトを展開するとき、環境固有の構成をどのように処理しますか?May 02, 2025 am 12:07 AM

toensurepythonscriptsbehaveCorrectlyAcrossDevelosment、staging、and Production、usetheseStrategies:1)環境variablesforsimplestetings、2)configurationfilesforcomplexsetups、and3)dynamicloadingforadaptability.eachtododododododofersuniquebentandrequiresca

Pythonアレイをどのようにスライスしますか?Pythonアレイをどのようにスライスしますか?May 01, 2025 am 12:18 AM

Pythonリストスライスの基本的な構文はリストです[start:stop:step]。 1.STARTは最初の要素インデックス、2。ストップは除外された最初の要素インデックスであり、3.ステップは要素間のステップサイズを決定します。スライスは、データを抽出するためだけでなく、リストを変更および反転させるためにも使用されます。

どのような状況で、リストは配列よりもパフォーマンスが向上しますか?どのような状況で、リストは配列よりもパフォーマンスが向上しますか?May 01, 2025 am 12:06 AM

ListSoutPerformArraysIn:1)ダイナミシジョンアンドフレーケンティオン/削除、2)ストーリングヘテロゼンダタ、および3)メモリ効率の装飾、ButmayhaveslightPerformancostsinceNASOPERATIONS。

PythonアレイをPythonリストに変換するにはどうすればよいですか?PythonアレイをPythonリストに変換するにはどうすればよいですか?May 01, 2025 am 12:05 AM

toconvertapythonarraytoalist、usetheList()constructororageneratorexpression.1)importhearraymoduleandcreateanarray.2)useList(arr)または[xforxinarr] toconvertoalistは、largedatatessを変えることを伴うものです。

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

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

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール