ホームページ  >  記事  >  バックエンド開発  >  Pythonデータ型導入サンプルコード解析

Pythonデータ型導入サンプルコード解析

王林
王林転載
2023-05-07 23:40:06899ブラウズ

変数

変数は値を保存します。 Python では、変数の命名規則は次のとおりです。

  • 変数は文字 (できれば小文字) またはアンダースコアで始まり、その後に数字またはアンダースコアを続けることができます

  • ##スネークケースは、単語をアンダースコアで区切って、user_name などの変数を記述する従来の方法です (JavaScript では、userName などのキャメルケースの名前付けを推奨しています)

  • 大文字と小文字が区別されます

  • #キーワード変数に直接名前を付けることはできません (公式ドキュメント「Python キーワード」を参照)

Pythonデータ型導入サンプルコード解析#では、本当にこの間違いを犯した場合はどうなるでしょうか?例:

>>> if = 1
SyntaxError: invalid syntax
>>> print(and)
SyntaxError: invalid syntax
>>> def = "hi"
SyntaxError: invalid syntax

見えますか?構文エラーを直接通知します。

キーワードを識別子として使用しないことに加えて、以前に強調したように、組み込み関数と同じ名前の識別子は使用できません。 Python には多くの組み込み関数があります。sum を例に挙げます。これは合計関数です。間違った名前付けの結果を見てみましょう:

>>> sum([1,2,3,4])
10
>>> sum = "错误标识符名"
>>> sum([1,2,3,4])
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    sum([1,2,3,4])
TypeError: 'str' object is not callable</module></pyshell>

Ignore sum([1,2,3,4] ) その意味は、1/2/3/4 を加算して 10 を得た後、変数に sum という識別子名を誤って与え、プログラム sum([1,2,3, 4]) を呼び出すことです。例外をスローします。エラーの理由は、str が呼び出し可能な型ではないことです。最終的には、これが名前 sum が重複する理由です。

データ型

簡単に言えば、データ型は値を表す方法です。私たちの現実の世界には、さまざまな種類の共通の値として文字、数字、記号があります。同様に、Python には次の基本データ型が含まれています:

    int (整数)
  • float (浮動小数点数)
  • str (文字列)
  • bool (ブール値)
  • ##list (リスト)
  • #タプル (祖先)

  • set (セット)

  • dict (辞書)

  • complex (複数形)

  • None (null 値)

  • これらは、Python で使用できる標準のデータ型です。独自のカスタム型を作成するには、クラスを使用する必要があります。特殊なデータ型は、外部ライブラリまたはモジュールをインポートして使用することもできます。

  • 対照的に、JavaScript では、次のプリミティブ型が利用可能です:

number (数値: 整数と小数)

  • # #string (文字列)

  • boolean (ブール値)

  • symbol (シンボル: 一意、不変)

  • bigInt (大きな整数)

  • null (null 値)

  • 未定義 (

    object
  • も非プリミティブ型)
  • 今日は、Python の数値型と文字列型を整理することに時間を費やしました。

  • Numbers

3 つの数値データ型があります:

int (サイズ無制限の整数を格納)

  • float (浮動小数点実数値を格納)

  • complex (JavaScript の bigInt と同様、一般的に使用されないことを理解しているため、ここではスキップします)。

  • 対照的に、JavaScript には

    Number
BigInt

という 2 つの数値データ型があります。 type 関数は、値または式の型を決定するために使用されます。 (JavaScript の typeof
演算子と同様) <pre class="brush:php;toolbar:false">num = 100 # variable assignement     print(type(num)) # &lt;class&gt;     num2 = 99.99     print(type(num2)) # &lt;class&gt;     expression1 = num * 10     print(type(expression1)) # &lt;class&gt;     expression2 = num + num2     print(type(expression2)) # &lt;class&gt;&lt;/class&gt;&lt;/class&gt;&lt;/class&gt;&lt;/class&gt;</pre>Python では、変数の割り当ては、名前を記述し、=

演算子を使用して値を割り当てることによって実現されます。の。
JavaScript では、変数名は

varconst
、または let キーワードで始まる必要があります。 数学計算

数学計算の場合、前述の単純な加算、減算、乗算、除算に加えて、より科学的な計算をインポートする必要があります
math

このライブラリには、以下の表に示すように、必要とされる科学計算関数のほとんどが含まれています。さまざまな数学演算を簡単に計算できる組み込み数学関数がいくつかあります。 ##############################関数###

戻り値 (説明)

abs(x)

戻り値abs(-10) などの絶対値は 10

#ceil(x)

を返します。数値の制限 整数を入力します。例: math.ceil(4.1) は 5

##exp(x)

## を返します。 # e べき乗の x を返します (例: math.exp(1) は 2.718281828459045

#fabs(x) # を返します) ## は数値の絶対値を返します (math.fabs(-10) は 10.0 を返します)

##floor(x)

は数値の切り捨てられた整数を返します。例: math.floor(4.9) は 4

#log(x)

を返します。 math.log(math.e) は 1.0 を返し、math.log(100,10) は 2.0 を返します

##log10(x)

math.log10(100) は 2.0

#max( など) に基づいて 10 に基づく x の対数を返します。 x1, x2,. ..)

#指定されたパラメータの最大値を返します。これはシーケンスでも構いません。

min(x1, x2,...)

指定されたパラメータの最小値を返します。パラメーターはシーケンスに使用できます。

modf(x)

x の整数部と小数部、およびその数値記号を返します。 2つの部分はxと同じで、整数部分は浮動小数点型で表現されます。

pow(x, y)

x**y 演算後の値。

#round(x [,n])

指定された浮動小数点数 x の四捨五入された値を返します。 n 値は、小数点以下を四捨五入した桁数を表します。

sqrt(x)

数値 x

の平方根を返します。

acos(x)

x の逆余弦をラジアン単位で返します。

asin(x)

x の逆正弦ラジアン値を返します。

atan(x)

x の逆正接ラジアン値を返します。

atan2(y, x)

指定された X および Y 座標値の逆正接を返します。

cos(x)

x のコサインをラジアンで返します。

hypot(x, y)

ユークリッドノルム sqrt(xx yy) を返します)

sin(x)

x ラジアンの正弦値を返します。

tan(x)

x のタンジェントをラジアンで返します。

degrees(x)

ラジアンを度(math.pi/2)などの角度に変換します。 90.0を返します

##radians(x)

角度をラジアンに変換します

print(round(2.1)) # 2
    print(round(5.9)) # 6
    print(abs(-34)) # 34

以及两个数学常量:

常量

描述

pi

数学常量 pi(圆周率,一般以π来表示)

e

数学常量 e,e即自然常数(自然常数)。

下面是一些应用展示,注意最后的角度调用方式:

>>> math.log(2)
0.6931471805599453
>>> math.cos(30)
0.15425144988758405
>>> math.cos(60)
-0.9524129804151563
>>> math.sin(30)
-0.9880316240928618
>>> math.sin(math.degrees(30))
-0.4097717985741408
>>> math.sin(math.radians(30))
0.49999999999999994

字符串

字符串是Python中最常用的数据类型之一,使用单引号或双引号来创建字符串,使用三引号创建多行字符串。字符串要么使用两个单引号,要么两个双引号,不能一单一双!Python不支持单字符类型,单字符在Python中也是作为一个字符串使用。

字符串是不可变的序列数据类型,不能直接修改字符串本身,和数字类型一样!Python3全面支持Unicode编码,所有的字符串都是Unicode字符串,所以传统Python2存在的编码问题不再困扰我们,可以放心大胆的使用中文。

name = 'Python' # string assignment within single quotes
    name2 = "Python" # string assingment within double quotes
    name3 = '''This is a a very long string and supports 
            multiline statements as well''' # string assingment within 3 single quotes
    name4 = 'Hello! \"Rockstar Programmer\"' # string with escaped character sequence
    print(type(name)) # <class>
    print(type(name2)) # <class>
    print(type(name3)) # <class>
    print(type(name4)) # <class></class></class></class></class>
>>> var1 = 'Hello World!'
>>> var2 = "Jack"
>>> var3 = ""                   # 空字符串
>>> var4 = "it's apple"         # 双引号中可以嵌套单引号
>>> var5 = 'This is "PLANE"!'   # 单引号中可以嵌套双引号
>>> var6 = 'what is 'your'name'
SyntaxError: invalid syntax

但是单引号嵌套单引号或者双引号嵌套双引号就会出现歧义。

>>> a = "haha"
>>> b = a
>>> a = "xixi"
>>> a is b
False
>>> a[1] = "z"
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
    a[1] = "z"
TypeError: 'str' object does not support item assignment</module></pyshell>

虽然字符串本身不可变,但可以像列表序列一样,通过方括号加下标的方式,访问或者获取它的子串,当然也包括切片操作。这一切都不会修改字符串本身,当然也符合字符串不可变的原则。

>>> s = "hello world!"
>>> s[4]
'o'
>>> s[2:6]
'llo '
>>> s
'hello world!'

字符串连接

与 Javascript 类似,可以使用+运算符连接字符串。它只是连接或“连接”字符串。

first_name = 'Mike'
    last_name = 'Tyson'
    print(first_name + ' ' + last_name) # Mike Tyson

类型转换

与存在隐式类型转换(又名强制类型转换)的 Javascript 不同,如果使用不同类型执行操作,Python 将抛出错误:

user_name = 'John'
    age = 40
    print(user_name + age) # TypeError: can only concatenate str (not "int") to str
    # This would work in Javscript where it would convert the result to string type

在 Python 中,需要显式转换类型才能执行不同类型的操作:

user_name = 'John'
    age = 40
    print(user_name + str(age)) # John40
    print(type str(age)) # <class></class>

同样,字符串也可以转换为数字:

lucky_number = 7
    lucky_number_stringified = str(7)
    lucky_number_extracted = int(lucky_number_stringified)
    print(lucky_number_extracted) # 7

以上がPythonデータ型導入サンプルコード解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。