>>if=1SyntaxError:invalidsyntax>>>print(and)S"/> >>if=1SyntaxError:invalidsyntax>>>print(and)S">

>백엔드 개발 >파이썬 튜토리얼 >Python 데이터 유형 소개 예제 코드 분석

Python 데이터 유형 소개 예제 코드 분석

王林
王林앞으로
2023-05-07 23:40:06929검색

Variables

변수는 값을 저장합니다. Python에서는 다음과 같은 변수 명명 규칙이 있습니다.

  • 변수는 문자(소문자 선호) 또는 밑줄로 시작해야 하며 뒤에 숫자나 밑줄이 올 수 있습니다.

  • Snake 대소문자는 user_name 과 같은 변수에서는 단어가 밑줄로 구분됩니다. (Javascript는 userName과 같은 카멜 케이스 이름 지정을 권장합니다.)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>

先不管sum([1,2,3,4])的意义,它的作用是把1/2/3/4加在一起得到10,然后错误的给一个变量也取了个sum的标识符名称,再后面又调用sum([1,2,3,4])的时候,程序抛出异常,错误原因是str不是可调用的类型。归根到底就是sum这个名字重名了的原因。

数据类型

简单来说,数据类型是一种表示值的方式。在我们的现实世界中,我们将字母、数字、符号作为不同类型的常用值。同样,Python 包含以下基本数据类型:

  • int(整数)

  • float(浮点数)

  • str(字符串)

  • bool(布尔值)

  • list(列表)

  • tuple(元祖)

  • set(集合)

  • dict(字典)

  • complex(复数)

  • None(空值)

这些是 Python 中可用的标准数据类型。要创建我们自己的自定义类型,需要使用类。也可以通过导入外部库或模块来使用专门的数据类型。

相反,在 JavaScript 中,有以下可用的原始类型:

  • number (数字:整数和小数)

  • string(字符串)

  • boolean(布尔值)

  • symbol(符号:唯一、不可变)

  • bigInt(大整数)

  • null(空值)

  • undefined(对象也是非原始类型)

今天我只是花时间整理 Python 的数字和字符串类型。

数字

有 3 种数字数据类型:

  • int(存储无限大小的整数)

  • float(存储浮点实数值)

  • complex(我现在只是跳过它,因为我了解到它不常用,类似于 JavaScript 中的 bigInt)。

相比之下,JavaScript 有两种数值数据类型,NumberBigInt
type函数用于确定值或表达式的类型。(类似于 JavaScript中的typeof运算符)

num = 100 # variable assignement
    print(type(num)) # <class>

    num2 = 99.99
    print(type(num2)) # <class>

    expression1 = num * 10
    print(type(expression1)) # <class>

    expression2 = num + num2
    print(type(expression2)) # <class></class></class></class></class>

在 Python 中,变量赋值是通过编写名称并使用=运算符赋值来实现的。
在 JavaScript 中,变量名需要以var,constlet关键字开头。

数学计算

对于数学计算,除了前面提到过的简单的加减乘除等等,更多的科学计算需要导入math

대소문자를 구분합니다 키워드 변수 이름을 직접 지정합니다(공식 문서 "Python 키워드" 참조)

Python 데이터 유형 코드 분석 소개 예

그러면 정말 이런 실수를 하면 어떻게 될까요? 예: 🎜

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

보셨나요? 구문 오류를 직접 표시합니다. 🎜

이전에 강조한 것처럼 키워드를 식별자로 사용하지 않는 것 외에도 내장 함수와 동일한 이름을 가진 식별자를 사용할 수 없습니다. Python에는 많은 내장 함수가 있습니다. summation 함수를 예로 들어 보겠습니다. 잘못된 이름 지정의 결과를 살펴보겠습니다. 🎜

>>> 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

sum([ 1, 2,3,4]), 그 기능은 1/2/3/4를 더하여 10을 얻은 다음 실수로 변수에 sum이라는 식별자 이름을 지정한 다음 sum( [1,2,3 ,4]) 프로그램에서 예외가 발생하는 이유는 str이 호출 가능한 유형이 아니기 때문입니다. 최종적으로 분석해보면 이름합이 중복되는 이유가 여기에 있다. 🎜

데이터 유형 🎜

간단히 말하면 데이터 유형은 값을 표현하는 방법입니다. 현실 세계에서는 다양한 유형의 공통 값으로 문자, 숫자 및 기호가 있습니다. 마찬가지로 Python에는 다음과 같은 기본 데이터 유형이 포함되어 있습니다. 🎜

    🎜🎜int(정수) 🎜🎜🎜🎜float(부동 소수점 수) 🎜🎜 🎜🎜 str(문자열) 🎜🎜🎜🎜bool(부울) 🎜🎜🎜🎜list(목록) 🎜🎜🎜🎜tuple(튜플) 🎜🎜🎜🎜set(세트) 🎜🎜🎜🎜dict(dict) 🎜🎜🎜 🎜 complex (복수형) 🎜🎜🎜🎜None (null 값) 🎜🎜

Python에서 사용할 수 있는 표준 데이터 유형입니다. 우리만의 사용자 정의 유형을 만들려면 클래스를 사용해야 합니다. 특수한 데이터 유형은 외부 라이브러리나 모듈을 가져와서 사용할 수도 있습니다. 🎜

반면 JavaScript에서는 다음 기본 유형을 사용할 수 있습니다. 🎜

    🎜🎜 숫자 (번호 : 정수 및 소수점) 🎜🎜🎜🎜String (String) 🎜🎜🎜🎜Boolean (부울) 🎜🎜🎜🎜symbol (기호 : 독특하고 불변성) 🎜🎜🎜🎜Bigint (Big Integer) 🎜🎜 + Python 's Numeric. 그리고 문자열 유형. 🎜

    숫자 🎜

    3가지 숫자 데이터 유형이 있습니다: 🎜

      🎜🎜int(무한 크기 정수 저장) 🎜🎜🎜🎜float(부동 소수점 실수 값 저장) 🎜🎜🎜🎜complex(알았기 때문에 지금은 건너뜁니다. 덜 일반적으로 사용되며 JavaScript의 bigInt와 유사합니다. 🎜🎜

    반면에 JavaScript에는 NumberBigInt라는 두 가지 숫자 데이터 유형이 있습니다.
    type 함수는 값이나 표현식의 유형을 결정하는 데 사용됩니다. (JavaScript의 typeof 연산자와 유사) 🎜

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>

Python에서 변수 할당은 다음과 같습니다. 이름을 작성하고 = 연산자를 사용하여 할당하면 됩니다.
JavaScript에서 변수 이름은 var, const 또는 let 키워드로 시작해야 합니다. 🎜

수학 계산

앞서 언급한 것 외에 수학적 계산의 경우 간단한 덧셈, 뺄셈, 곱셈, 나눗셈 등 더 과학적인 계산을 하려면 아래 표에 표시된 것처럼 우리에게 필요할 수 있는 대부분의 과학 계산 기능이 포함된 math 라이브러리를 가져와야 합니다. 다양한 수학 연산을 쉽게 계산할 수 있는 몇 가지 내장 수학 함수가 있습니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜기능🎜

반환 값(설명)

abs(x)

은 숫자의 절대값을 반환합니다. 예를 들어 abs(-10)은 10을 반환합니다

ceil(x)

숫자의 위쪽 정수를 반환합니다. 예를 들어 math.ceil(4.1)은 5

exp(x)

e(ex)의 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)

10진수로 x의 로그를 반환합니다. 예를 들어 math.log10(100)은 2.0

max(x1, x2,...)

은 시퀀스일 수 있는 특정 매개변수의 최대값을 반환합니다.

min(x1, x2,...)

주어진 매개변수의 최소값을 반환합니다. 이는 시퀀스일 수 있습니다.

modf(x)

x의 정수부분과 소수부분을 반환합니다. 두 부분의 숫자부호는 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

라디안(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제