Python 시작 기반 숫자 문자열 및 목록

소개


Python의 주요 응용은 과학 계산을 하는 것이다. 과학 계산의 기초는 바로 숫자, 문자열과 목록이다.본고는 이 세 가지 데이터 유형의 사용 상황을 상세하게 소개할 것이다.

숫자


숫자는 모든 과학 계산에서 매우 중요한 유형이다. 파이썬에서 가장 흔히 볼 수 있는 숫자 유형은 int와float이다.
몇 가지 기본적인 숫자 조작 보기:

In [8]: 1+1
Out[8]: 2

In [9]: 3*2 + 10
Out[9]: 16

In [10]: (65 + 23) / 4
Out[10]: 22.0

위에서 보듯이 소수가 없는 것은 int 유형이고 소수가 있는 것은float 유형이다.
제곱 연산 (/) 은 부동 소수점 유형을 영원히 반환합니다.플로어division을 해서 정수 결과를 얻으려면 (소수 부분을 무시)//연산자를 사용할 수 있습니다.나머지를 계산하려면% 을 (를) 사용할 수 있습니다.

In [11]: 54 / 4
Out[11]: 13.5

In [12]: 54 // 4
Out[12]: 13

In [13]: 54 % 4
Out[13]: 2

** 곱셈 연산을 나타낼 수 있습니다.

In [14]: 4 ** 3
Out[14]: 64
우리는 숫자의 연산을 특정한 변수에 부여할 수 있으며, 이 변수를 사용하여 후속적인 연산을 할 수 있다.

In [15]: a = 12

In [16]: b = 14

In [17]: a * b
Out[17]: 168

대화형 환경에서_이전 출력을 나타냅니다.

In [17]: a * b
Out[17]: 168

In [18]: 100 + _
Out[18]: 268

int와float를 제외하고 Python은 다른 데이터 형식, 예를 들어 Decimal과 Fraction, 심지어 복수도 지원한다.

문자열


Python의 문자열은 세 가지 표현 형식이 있는데 단인용, 쌍인용, 삼인용으로 표시할 수 있다.

In [19]: site1 = 'www.flydean.com'

In [20]: site2= "www.flydean.com"

In [21]: site3= """www.flydean.com"""

큰 따옴표는 주로 줄 간 출력에 사용되며, 문자열의 리턴 행은 문자열에 자동으로 포함되며, 포함하지 않으려면 줄 끝에\를 추가하면 됩니다.다음과 같습니다.

print("""\
Usage: thingy [OPTIONS]
  -h      Display this usage message
  -H hostname    Hostname to connect to
""")
이스케이프가 필요한 경우 백슬래시를 사용할 수 있습니다\

In [22]: site4 = "www.\"flydean\".com"

In [23]: site4
Out[23]: 'www."flydean".com'

앞에\의 문자가 특수 문자로 바뀌는 것을 원하지 않는다면, 인용부호 앞에 r를 추가하면 됩니다.

In [24]: print(r"www.\"flydean\".com")
www.\"flydean\".com
문자열은 +를 통해 연결되거나 *를 사용하여 복사할 수 있습니다.

In [25]: "www" + "flydean.com"
Out[25]: 'wwwflydean.com'

In [26]: "www.flydean.com" * 3
Out[26]: 'www.flydean.comwww.flydean.comwww.flydean.com'

인접한 두 개 이상의 문자열 문자 (따옴표로 인한 문자) 는 자동으로 연결됩니다.

In [27]: "www" "flydean.com"
Out[27]: 'wwwflydean.com'
위의 자동 연결 작업은 두 글자 크기에만 유효하고 변수라면 오류가 발생할 수 있음을 주의하십시오.
문자열은 문자로 구성된 그룹으로 간주되기 때문에string [index] 형식으로 접근할 수 있습니다.

In [28]: site5 = "www.flydean.com"

In [29]: site5[3]
Out[29]: '.'

색인이 음수라면 오른쪽부터 계산합니다.

In [30]: site5[-3]
Out[30]: 'c'
-0과 0은 같기 때문에 음수는 -1에서 시작된다.
색인 외에 문자열은 슬라이스도 지원합니다.색인은 단일 문자를 얻을 수 있고 슬라이스는 하위 문자열을 얻을 수 있습니다.

In [31]: site5[1:5]
Out[31]: 'ww.f'
슬라이스의 시작은 항상 결과에 포함되고 끝은 포함되지 않습니다.이로써 s[:i] + s[i:]는 항상 s와 같다

In [33]: site5[:4]+site5[4:]
Out[33]: 'www.flydean.com'
슬라이스의 색인에는 기본값이 있으며 시작 색인을 생략하면 기본값은 0입니다.
색인이 문자열의 범위를 초과하면 경계 오류가 발생합니다.

In [34]: site5[100]
---------------------------------------------------------------------------
IndexError        Traceback (most recent call last)
<ipython-input-34-fc1f475f725b> in <module>()
----> 1 site5[100]

IndexError: string index out of range

그러나 슬라이스의 오프셋 인덱스는 자동으로 처리됩니다.

In [36]: site5[:100]
Out[36]: 'www.flydean.com'
문자열은 변경할 수 없기 때문에 색인 형식으로 문자열을 수정할 수 없습니다.

In [37]: site[2] = "A"
---------------------------------------------------------------------------
TypeError         Traceback (most recent call last)
<ipython-input-37-9147d44bd80c> in <module>()
----> 1 site[2] = "A"

TypeError: 'str' object does not support item assignment

len은 문자열의 길이를 계산합니다.

In [38]: len(site5)
Out[38]: 15

문자열 대상str


문자열의 본질은 문자열 대상str입니다.
str의 기본 방법을 볼 수 있습니다.

In [39]: site5.
   capitalize() encode()  format()  isalpha()  islower()  istitle()  lower()  replace()  rpartition() splitlines() title()
   casefold()  endswith()  format_map() isdecimal() isnumeric() isupper()  lstrip()  rfind()  rsplit()  startswith() translate()
   center()  expandtabs() index()  isdigit()  isprintable() join()   maketrans() rindex()  rstrip()  strip()  upper()
   count()  find()   isalnum()  isidentifier() isspace()  ljust()  partition() rjust()  split()  swapcase()  zfill()
흥미가 있는 학우들은 스스로 연구할 수 있다.

목록


목록은 네모난 괄호로 표시된 데이터의 집합입니다.목록의 데이터는 여러 가지 데이터 형식이 될 수 있지만, 일반적인 상황에서 우리는 한 목록에서 같은 데이터 형식을 사용한다.

In [40]: ages = [ 10, 14, 18, 20 ,25]

In [41]: ages
Out[41]: [10, 14, 18, 20, 25]

문자열과 마찬가지로 목록도 인덱스와 슬라이스를 지원합니다.사실상, sequence 형식의 데이터 형식이라면 모두 인덱스와 슬라이스를 지원합니다.

In [42]: ages[3]
Out[42]: 20

In [43]: ages[:2]
Out[43]: [10, 14]

In [44]: ages[:]
Out[44]: [10, 14, 18, 20, 25]

목록의 슬라이스가 새 목록으로 되돌아옵니다.그러나 이 새로운 목록은 얕은 복사본으로 새로운 목록의 요소가 원래 목록의 원소의 인용임을 의미한다.
또한 목록은 패치 작업을 지원합니다.

In [45]: ages + [9, 11]
Out[45]: [10, 14, 18, 20, 25, 9, 11]
String의 불가변성과 달리 목록은 변경될 수 있습니다. 이것은 색인을 통해 목록의 값을 수정할 수 있음을 의미합니다.

In [46]: ages[0] = 100

In [47]: ages
Out[47]: [100, 14, 18, 20, 25]

목록의 밑바닥 형식은list입니다. 목록의 방법을 볼 수 있습니다.

In [51]: ages.
    append() count() insert() reverse()
    clear() extend() pop()  sort()
    copy() index() remove()
우리는append를 사용하여list의 값을 추가할 수도 있고,count를 사용하여list의 원소 개수를 통계할 수도 있다.
위에서 언급한 바와 같이 목록의 슬라이스는 원래 목록의 인용이기 때문에 우리는 슬라이스에 값을 부여함으로써 원시 목록의 값을 수정할 수 있다.

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> # replace some values
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # now remove them
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # clear the list by replacing all the elements with an empty list
>>> letters[:] = []
>>> letters
[]
또한 목록을 중첩하여 여러 레이어의 목록을 구성할 수 있습니다.

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

총결산


Python 입문 기초의 숫자 문자열과 목록에 관한 이 글을 소개합니다. 더 많은 Python 숫자 문자열과 목록 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기