Programming/Julia Language

3. 변수와 타입(3) - Char 리터럴, 문자열 리터럴

알 수 없는 사용자 2017. 11. 5. 21:47

Julia Language

 Julia는 수치 연산을 위해 개발된 High Level, High Performance의 동적 프로그래밍 언어이다. 고수준의 컴파일러, 병렬 연산과 많은 수치연산 라이브러리를 지원하고 있다(수치연산, 선형대수, 난수생성, 문자열 가공 등) 비슷한 언어인 Python에 비해 빠른 처리 속도를 보여주어 머신 러닝 등 많은 연산을 필요로 하는 분야에서 사용되고 있다.

Previous Posting

2. 변수와 타입(2) - 정수형 리터럴과 부동소수점 리터럴, Bool 타입

1. Char 타입


- 문자 하나의 타입은 Char 타입이다('a'와 같이 표현한다.)



character = 's'

print(typeof(character), '\n')  # '문자 하나'의 타입은 Char 타입이다(작은따옴표) 



Char 타입은 ASCII 체계에 따라 Int형으로의 변환이 가능하다

Unicode의 경우, \u(4자리까지의 정수)나 \u(8자리까지의 정수)로 표현할 수 있다



print(Int64(character), '\n')  # Char->Int의 변환이 가능하다(ASCII)


character = 'λ'

print(typeof(character), '\n')  # 유니코드도 Char 타입에 속한다


print('\u2500', '\n')  # 작은따옴표 안에 \u로 시작하는 4자리까지의 수를 사용하는

print('\U25000', '\n')  # 혹은 \U로 시작하는 8자리까지의 수를 사용하는 유니코드를 입력할 수 있다



- Char 타입끼리 여러 비교 및 연산이 가능하다



print('x'-'a', '\n')

print('x' == 'a', '\n')

print('x' > 'b', '\n')

# Char 타입끼리 여러 연산과 비교가 가능하다 



2. String 타입


- 문자열 리터럴은 큰따옴표 한 쌍, 혹은 큰따옴표 3개의 쌍으로 나타낼 수 있다


string = "Hello Julia"

string_else = """"Hello Julia, Again"""

# 큰따옴표 2개, 3개를 이용해 문자열 값을 표현할 수 있다



- 문자열의 '인덱싱'이 가능하다



print(string[1], '\n')  # 위치 인덱싱 - Char 타입의 값

print(string[end], '\n')  # 위치 인덱싱

print(string[1:5], '\n')  # 범위 인덱싱 - String 타입의 값

print(string[3:3] == string[3], '\n')  # 위치 인덱싱의 결괏값과 범위 인덱싱의 결괏값은 같지 않다

# 문자열의 인덱싱이 가능하다, end는 문자열의 끝의 인덱스를 나타낸다

# 문자열의 범위를 벗어난 값으로 인덱싱하면, 에러를 일으킨다



- 문자열의 형식화

$를 사용해서, 문자열 안에 값을 삽입할 수 있다. 이때 값은 문자열로 변환될 수 있는 변수, 상수, 표현식 모두 가능하다
ex) "3+2 is $(3+2)"

만약 $를 문자열 안에 표현하고 싶다면 이스케이핑 문자(\)를 앞에 붙이면 된다
ex) cost = 3; "The Cost Of this Cookie is $Cost \$"


- 문자열 관련 함수


1) search(문자열, 문자, 오프셋)

-> 오프셋에서부터 문자열에서 문자의 위치를 찾아 인덱스를 반환한다. 오프셋의 기본값은 0이다.


2) contains(문자열, 부 문자열)

-> 문자열이 부 분자열을 포함하는지 여부를 반환한다 : string


3) 문자 in 문자열 혹은 in(문자열, 문자)

-> 문자열이 문자를 포함하는지 여부를 반환한다 : char


4) join(반복 가능한 객체, 원소 사이에 넣을 문자열)

-> 반복 가능한 객체(list를 다룰 때 다시 등장한다)를 문자열로 변환하여 반환한다


5) repeat(문자열)

-> 문자열을 반복하여 반환한다



Next Post


05. 변수와 타입(4) - 실수 리터럴, 복소수 리터럴


Code

본 포스팅에서 사용된 Julia 코드는 이 시리즈의 Github 저장소에서 다운받을 수 있습니다