> 백엔드 개발 > 파이썬 튜토리얼 > Python 데이터 유형 및 연산자에 대한 자세한 요약(코드 예제)

Python 데이터 유형 및 연산자에 대한 자세한 요약(코드 예제)

不言
풀어 주다: 2019-01-25 10:22:09
앞으로
2629명이 탐색했습니다.

이 기사는 Python 데이터 유형 및 연산자에 대한 자세한 요약(코드 예제)을 제공합니다. 필요한 친구가 참고할 수 있기를 바랍니다.

이전 기사에서는 Python의 입력, 출력 및 변수에 대해 설명했습니다. 이번 섹션에서는 Python의 데이터 유형과 데이터 간의 계산 방법을 살펴보겠습니다.

1. Python 데이터 유형

실제로 변수가 가리키는 값은 고유한 데이터 유형을 가지고 있습니다. Python에서는 주로 다음과 같은 유형이 있습니다. 데이터 유형:

정수(int)

컴퓨터에서 정수의 자릿수는 실제로 범위를 가지며, 우리가 상상하는 것처럼 무한한 자릿수는 없습니다. 또한 정수의 자릿수는 상황에 따라 다를 수 있습니다. 예:

32비트 시스템: 정수의 자릿수는 32비트이고 주소 지정 범위는 -231 ~ 231-1, 즉 -2147483648 ~ 2147483647입니다.

64비트 시스템: 정수의 자릿수 64비트이며 주소 지정 범위는 -263 ~ 263-1, 즉 -9223372036854775808 ~ 9223372036854775807

긴 정수( long)

파이썬에서 긴 정수는 자릿수를 정하지 않고, 즉 긴 정수는 무한히 클 수 있지만 기계 자체의 한계로 인해 무한히 클 수 없는 경우가 많고, 특정 범위 내에서는 작동하지 않습니다.

부동소수점형(float)

위의 두 데이터형은 정수이지만 실제로는 모두 정수가 될 수 없고, 소수도 있기 때문에 직설적으로 말하면 부동소수점형이 탄생하게 된 것입니다. 는 소수이고, 과학 표기법을 사용할 수 있습니다. 10의 배수는 실수처럼 들립니다. 실제로 파이썬에는 데이터 유형이 있습니다. 복소수의 경우 일반적인 형식은 다음과 같습니다. x+yj, 여기서 x와 y는 모두 실수입니다. 예: 5+6j부울 값(True, False)

부울 값에는 true와 false가 있습니다. Python에서는 True와 False로 표시됩니다. Python은 대소문자를 구분하므로 주의하세요.

In [77]: 5==6
Out[77]: False
In [78]: 3>2
Out[78]: True
In [79]: True == True
Out[79]: True
In [80]: True == False
Out[80]: False
로그인 후 복사

None

None이라는 null 값이 하나만 있습니다. 이 null 값은 매우 흥미롭습니다. 온도가 섭씨 0도인 것처럼 0은 null 값이 아니기 때문입니다. 온도는 섭씨 0도입니다( ̄▽ ̄)"

String(str)

String은 Python을 작성할 때 가장 많이 사용하는 데이터 유형일 수 있습니다. 따옴표로 묶인다면 문자열입니다. Python에서는 작은 따옴표, 큰 따옴표, 삼중 따옴표 사이에 구분이 없습니다.

In [81]: 'Hello,world!'
Out[81]: 'Hello,world!'
In [82]: "Hello,world!"
Out[82]: 'Hello,world!'
In [83]: '''Hello,world'''
Out[83]: 'Hello,world'
로그인 후 복사

할 수 있으면 왜 그렇게 많은 일을 하느냐고 묻는 초보자가 있을 것입니다. 그냥 사용하지 말고 조용히 웃어보세요.

In [84]: 'i'm MinuteSheep'
  File "<ipython-input-84-a2a810ee38cb>", line 1
    &#39;i&#39;m MinuteSheep&#39;
       ^
SyntaxError: invalid syntax
로그인 후 복사

보세요! 오류가 발생합니다. 왜죠? Python이 자동으로 가장 가까운 기호를 찾아 닫으므로 다음과 같은 상황이 발생합니다. 수정:


In [85]: "i&#39;m MinuteSheep"
Out[85]: "i&#39;m MinuteSheep"
로그인 후 복사

( Mengxin: 나쁜 늙은이는 매우 나쁘다 ╰(‵□′)╯)

마찬가지로 세 개의 따옴표는 여러 줄에 사용되거나 내용 기호가 혼란스러울 때 사용됩니다:

In [87]: &#39;&#39;&#39;i&#39;m MinuteSheep,i said:"i&#39;m the best man in the world!"&#39;&#39;&#39;
Out[87]: &#39;i\&#39;m MinuteSheep,i said:"i\&#39;m the best man in the world!"&#39;
In [86]: &#39;&#39;&#39;
    ...: i&#39;m MinuteSheep,
    ...: i said:
    ...: "i&#39;m the best man in the world!"
    ...: &#39;&#39;&#39;
Out[86]: &#39;\ni\&#39;m MinuteSheep,\ni said:\n"i\&#39;m the best man in the world!"\n&#39;
로그인 후 복사

완벽한 해결책이 무엇인지 기억하세요. 줄 바꿈을 의미합니다. 마찬가지로 i'm은 탈출에 대한 표시입니다.

또 괴물처럼 행동하는 새내기가 나오네요. 이전 섹션에서 인용문 3개가 여러 줄 주석이라고 하지 않았나요? 이 섹션에서는 어떻게 문자열이 되었나요?

좋은 질문입니다! 내 설명을 보면 그림과 진실이 있습니다.

Direct 삼중 따옴표 안의 내용은 변수에 할당된 한 주석입니다.

있습니다. 문자열에 대한 다양한 메소드를 자세히 설명하는 섹션이 있습니다.

List

For. 목록은 1차원 배열을 많이 사용하므로 처음 접하는 사람들에게는 생소할 수 있습니다. Python에서는 문자열 외에도 마스터해야 하는 데이터 유형입니다. 목록을 살펴보겠습니다.

In [88]: [&#39;MinuteSheep&#39;, &#39;LiMing&#39;, &#39;123&#39;, 123]
Out[88]: [&#39;MinuteSheep&#39;, &#39;LiMing&#39;, &#39;123&#39;, 123]
로그인 후 복사

보시다시피 대괄호로 묶인 데이터입니다. Liu 테이블에는 다른 데이터 유형이 포함될 수 있습니다. 물론 목록에는 목록 중첩이 포함될 수 있습니다. 여기서는 하나씩 소개하지 않겠습니다. 튜플은 더 낯설 수도 있습니다. 튜플은 한 쌍의 둥근 괄호로 둘러싸여 있습니다. 목록은 조작(추가, 삭제 등), 변경, 확인이 가능하지만 튜플은 변경할 수 없습니다. 튜플이 어떻게 생겼는지 살펴보겠습니다.

In [89]: [&#39;MinuteSheep&#39;, [&#39;LiMing&#39;, 123]]
Out[89]: [&#39;MinuteSheep&#39;, [&#39;LiMing&#39;, 123]]
로그인 후 복사

字典(dict)

字典是Python的一种非常强大的数据类型,通过键值对的形式将数据保存下来,提高了数据增、删、改、查的速度,通常作为数据存储的格式,也来看看字典长啥样哇:

In [91]: {&#39;name&#39;: &#39;MinuteSheep&#39;, &#39;gender&#39; : &#39;male&#39;, &#39;age&#39;: 99}
Out[91]: {&#39;age&#39;: 99, &#39;gender&#39;: &#39;male&#39;, &#39;name&#39;: &#39;MinuteSheep&#39;}
로그인 후 복사

可以看到,字典是用一对花括号括起来的,并且以 'key' : 'value' 的形式存储,同样,字典里面可以包含其他数据类型,上面的字典包括:字符串、整型。当然,字典也可以嵌套:

In [92]: {&#39;name&#39; : &#39;MinuteSheep&#39;, &#39;age&#39;: {&#39;young&#39; : 15, &#39;old&#39; : 99}}
Out[92]: {&#39;age&#39;: {&#39;old&#39;: 99, &#39;young&#39;: 15}, &#39;name&#39;: &#39;MinuteSheep&#39;}
로그인 후 복사

字典也会有专门的一节去讲解它的方法。

二、Python数据运算

说完了Python的数据类型,就该数据运算了,养兵千日,用在一时嘛

算数运算

加 +

In [93]: 1+2
Out[93]: 3
로그인 후 복사

减 -

In [95]: 1-2O
ut[95]: -1
로그인 후 복사

乘 *

In [96]: 1*2
Out[96]: 2
로그인 후 복사

除 /

In [97]: 5/2Out[97]: 2.5
로그인 후 복사

取模 % (就是取余数)

In [98]: 5%2
Out[98]: 1
로그인 후 복사

取整 //

In [99]: 5//2
Out[99]: 2
로그인 후 복사

幂 **

In [100]: 5**2
Out[100]: 25
로그인 후 복사

赋值运算

简单赋值 =

In [102]: a=5
In [103]: b=6
In [104]: c=a+b
In [105]: c
Out[105]: 11
로그인 후 복사

加法赋值 += (b+=a,相当于b=b+a)

In [106]: a=5
In [107]: b=6
In [108]: b+=a
In [109]: b
Out[109]: 11
로그인 후 복사

减法赋值 -= (b-=a,相当于b=b-a)

In [111]: a=5
In [112]: b=6
In [113]: b-=a
In [114]: b
Out[114]: 1
로그인 후 복사

乘法赋值 *= (b*=a,相当于b=b*a)

In [115]: a=5
In [116]: b=6
In [117]: b*=a
In [118]: b
Out[118]: 30
로그인 후 복사

除法赋值 /= (b/=a,相当于b=b/a)

In [119]: a=5
In [120]: b=6
In [121]: b/=a
In [122]: b
Out[122]: 1.2
로그인 후 복사

取模赋值 %= (b%=a,相当于b=b%a)

In [123]: a=5
In [124]: b=6
In [125]: b%=a
In [126]: b
Out[126]: 1
로그인 후 복사

取整赋值 //= (b//=a,相当于b=b//a)

In [127]: a=5
In [128]: b=6
In [129]: b//=a
In [130]: b
Out[130]: 1
로그인 후 복사

幂赋值 **= (b**=a,相当于b=b**a)

In [131]: a=5
In [132]: b=6
In [133]: b**=a
In [134]: b
Out[134]: 7776
로그인 후 복사

比较运算

测试相等 ==

In [136]: 1==1
Out[136]: True
In [137]: 1==2
Out[137]: False
로그인 후 복사

不等于 !=

In [144]: 1!=1
Out[144]: False
In [145]: 1!=2
Out[145]: True
로그인 후 복사

大于 >

In [146]: 1>1
Out[146]: False
In [147]: 2>1
Out[147]: True
로그인 후 복사

大于等于 >=

In [149]: 1>=1
Out[149]: True
In [150]: 2>=1
Out[150]: True
로그인 후 복사

小于 <

In [151]: 6<6
Out[151]: False
In [152]: 6<7
Out[152]: True
로그인 후 복사

小于等于 <=

In [153]: 6<=6
Out[153]: True
In [154]: 6<=7
Out[154]: True
로그인 후 복사

逻辑运算

布尔'与' and (有假为假,全真为真)

In [156]: True and False
Out[156]: False
In [157]: True and True
Out[157]: True
In [158]: False and False
Out[158]: False
로그인 후 복사

布尔'或' or (有真为真,全假为假)

In [159]: True or True
Out[159]: True
In [160]: True or False
Out[160]: True
In [161]: False and False
Out[161]: False
로그인 후 복사

布尔'非' not (取相反)

In [162]: not True
Out[162]: False
In [163]: not False
Out[163]: True
로그인 후 복사

身份运算

判断两个标识符是否引用自同一个对象 is

In [167]: a=b=3

In [168]: a is b
Out[168]: True

In [169]: a=3

In [170]: b=5

In [171]: a is b
Out[171]: False
로그인 후 복사

判断两个标识符是否引用自不同对象 is not

In [177]: a=3
In [178]: b=5
In [179]: a is not b
Out[179]: True
로그인 후 복사

== 与 is 的区别:

看到这里,很多小伙伴已经晕了,== 和 is 好像一样啊,看起来一样,其实是不一样的,来看下面的这段代码:

In [180]: a = 600
In [181]: b = 600
In [182]: a == b
Out[182]: True
In [183]: a is b
Out[183]: False
로그인 후 복사

其实啊,== 比较的是值,is比较的地址,让我们用 id() 这个函数查看一下变量的地址:

In [184]: id(a)
Out[184]: 2155434581648
In [185]: id(b)
Out[185]: 2155434581904
로그인 후 복사

可以看到,a和b俩个变量的值虽然相同,但地址却不一样,所以使用 == 和 is 的结果自然就不一样。那我们再来看一段代码:

In [187]: a = 10
In [188]: b = 10
In [189]: a == b
Out[189]: True
In [190]: a is b
Out[190]: True
In [191]: id(a)
Out[191]: 1529742064
In [192]: id(b)
Out[192]: 1529742064
로그인 후 복사

萌新是不是莫不着头脑了,用600的时候 is 输出False,用10的时候怎么地址一样了啊,(快回头,有鬼~)其实啊,Python有一个叫做小整数对象池的东西,只要是[-5, 256]之间的整数都会使用同一份地址,这下萌新明白了哇。

位运算

重点说明:位运算针对的是二进制数

按位与 &

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [195]: c = a&b  # 14 = 0000 1110
In [196]: c
Out[196]: 14
로그인 후 복사

按位或 |

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [197]: c = a|b  # 31 = 0001 1111
In [198]: c
Out[198]: 31
로그인 후 복사

按位异或 ^

In [193]: a = 15   # 15 = 0000 1111
In [194]: b = 30   # 30 = 0001 1110
In [200]: c = a^b  # 17 = 0001 0001
In [201]: c
Out[201]: 17
로그인 후 복사

按位取反 ~

In [210]: a = 60   # 60 = 0011 1100
In [211]: c = ~a  # -61 = 1100 0011
In [212]: c
Out[212]: -61
로그인 후 복사

左移 <<

In [213]: a = 15   # 15 = 0000 1111
In [214]: c = a<<2 # 60 = 0011 1100
In [215]: c
Out[215]: 60#左移后面要加位数
로그인 후 복사

右移 >>

In [213]: a = 15     # 15 = 0000 1111
In [218]: c = a>>2    # 3 = 0000 0011 
In [219]: c
Out[219]: 3#右移后面要加位数
로그인 후 복사

Python运算符优先级(从高到底依次排列)

**                 # 指数 (最高优先级)
~ + -              # 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //           # 乘,除,取模和取整除
+ -                # 加法减法
>> <<              # 右移,左移运算符
&                  # 位 &#39;AND&#39;
^ |                # 位运算符
<= < > >=          # 比较运算符
<> == !=           # 等于运算符
= %= /= //= -= += *= **=    # 赋值运算符
is is not          # 身份运算符
in not in          # 成员运算符
not and or         # 逻辑运算符
로그인 후 복사

위 내용은 Python 데이터 유형 및 연산자에 대한 자세한 요약(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿