본문 바로가기

Data Science/Python

[python] 01. python 변수 - 02. 데이터 타입 정리 | 변수/데이터 타입/문자열/형변환

1. 변수

프로그램이 하는 일 : 정보를 처리한다

  • 정보 : 변수(Variable)와 값(Value) 로 프로그램에 표현한다.
  • 처리한다:연산자(Operator)와 함수(Function) 으로 프로그램에 표현한다.
    • 함수를 직접 작성하면 1st, 파이썬 내장 함수 2nd 등등

정수 표현식 = Value

  • 값(value)으로 평가되는 구문
  • 1) 연산(처리 결과),변수 호출(a=10, print(a)=10),함수호출
  • 2) 리터럴 value- 표현식 자체가 값 10, 20,56, “A” : 어떤 처리가 필요없는 값

변수

  • 변수명(식별자) = 값
    • 변수 는 저장공간, 값은 내용물, 변수하나당 하나의 값만 넣을 수 있음.
    • age = 24 : age박스에 24를 넣는 것, 값을 바꾸면 내용물을 바꾸는 것
    • 변수를 선언하면 반드시 값을 대
    • 변수 선언 시 대입할 값이 없으면 ‘변수 = None ‘대입
  • 식별자 규칙/변수 이름의 관례
    • 일반 문자, 숫자 , 특수문자 _ , 숫자(두번째 자리부터)
    • 예약어 사용 x
      • 예약어(keyword) 
        False
        await
        else
        import
        pass
        None
        break
        except
        in
        raise
        True
        class
        finally
        is
        return
        and
        continue
        for
        lambda
        try
        as
        def
        from
        nonlocal
        while
        assert
        del
        global
        not
        with
        async
        elif
        if
        oryield
    • 스네이크 표기법 - 파이썬
      member_name = "홍길동"
      memeber_age = 30
      member_address = "서울"
    • 카멜 표기법 - java
      memberName = "홍길동"
      memeberAge = 30
      memberAddress = "서울"
    • sep ='' : 구분자, 기본값 = 공백 print(name1,name2,name3, 30,40,"안녕", sep ='-')
    • end = " " : 뒤에 붙일 문자를 정하기, 기본값 = enter print(10,end =" ")
      print(20,end ="\t" ) #\t : tab
      print(30)
 
 
 
 
 
 
 
 
 
## 변수 사용

1. **변수에 값 대입/할당**
    - 변수명 = 값 : =를 기준으로 왼쪽은 변수, 오른쪽은 대입할 값
    - 대입할 값에는 1) literal 값, 2)다른 변수, 3)연산, 변수호출, 함수 호출 이 올 수 있음.
    - 변수 초기화 → 이후 변수값 변경
        - 변수를 처음 만들고 값을 대입하면 초기화이고 이후 할당하는 것은 변경

name = "홍길동"
age = 30

name1 = “김범수”

name10 = name1 #변수 name1에 할당된 값이 카피되어 name10에 할당
print(name1, name10)
→ 김범수 김범수

1. **여러 변수에 동일한 값 대입**
    - a = b = c = 30
2. **여러 변수에 다른 값 대입 ⭐**
- a ,b = 500, 1000
- **튜플 대입(tuple assignment)** ⭐
name, age, address = "홍길동", 25, "서울"
print(name, age, address)
    
    → 홍길동 25 서
    

#control +/(주석 toggle)

1. **대입(할당) 연산자(Assignment operator)**

num = 10
num += 5 #num = num + 5
num += 2 #num = num + 2
num *= 2 #num  = num*2
print(num) →34

2. 데이터 타입

  • None 값, 숫자형 - 정수형(int), 실수형(float), 논리형(bool)
  1. None 값
  2. 숫자형 - 정수(int), 실수(float)
  3. 정수(int) : 16진수, 8진수
  4. 논리형(bool) - True, False
    • 참, 거짓을 표현, 제어문에서 사용
    • True, False로 값 표현
    • bool값이 들어가야 하는 구문에 다른 타입의 값 작성 → 자동적으로 bool로변환(묵시적 형변환)
      • False 변환(뭔가 없다) : 0글자의 문자열, 숫자 0 None, 원소가 하나도 없는 자료구조
      • 이외는 True
  • 비교연산자
    • 결과가 bool
print(num1 > num2) # 크냐?
print(num3 > num1) # 작냐?(num1 기준)
  • 논리연산자
    • 피연산자와 결과가 모두 bool
    • #^, $,|는 ()로 묶어줘야 제대로 연산가능
    #and & (T,T) -> True
    #or |
    (T,T) (F,T) (T,F) (F,F) -> True
    (F,F) -> False
    #^(XOR 연산)
    T^T,F^F-> False
    T^F -> True
    
    #member_id가 6 ~ 10글자 사이인지? = 6이상 10이하를 '동시에' 만족
    len(member_id) >= 6 and len(member_id <= 10)
    
    age = 10
    ## 나이가 20대 인지?
    # age>=20 and age<=29
    (age >= 20) & (age <= 29) 
    #^, $,|는 ()로 묶어줘야 제대로 연산가능 - False:0 & True:1
  • 조건연산자
    - True일때 결과값 if 조건식 else False일때 결과값

v = "참" if True else "거짓"
print(v) > 참

 

3. 문자열

  • Uni-code : 국제적으로 여러나라의 언어를 지원하는 코드 (16bit)
    -> 파이썬은 유니코드를 사용해 전세계 언어를 표현, UTF-8,UTF-16,EUC-KR 를 자주 사용
  • 문자열 표현식
    - 작은 따옴표 또는 큰 따옴표 사용
    escape 문자

    \b ->지우기(굳이 사용 ㄴ)

escape문자를 사용하지 않는 방법
r-string : 문자열 앞에 r을 붙이기
ex. r"C:\Users\rladl\Desktop\data_analysis_33"

# ESCAPE 문자열
print("a\tb")
print(1,2,3,4,5,6,7,sep="\t")
print("가\n나\n다")
print("123\b")
print("a\"b", 'a"b') #같은 따옴표를 사용할 때만 escape 문자 사용
print('가\'나'," 가'나 ")
print("c:\test\example\a.txt")
print(r"c:\test\example\a.txt")

문자열 연산자

  • 문자열 + 문자열
    - 문자열 끼리만 + 연산, 다른 타입과 합치려면 str() 형 변환 후 연산
  • age = 20 #문자열 + 정수(x) : 같은 타입간의 + 연산만 가능 print('나이:' + age) #str(값) : 값의 type을 문자열(str)으로 변환 print("나이:" + str(age))
  • 문자열 * 정수 : 문자열을 정수번 반복, 주로 아래처럼 구분자에 적용
  • print("이름:" + name) print("-"*50) print("나이:" +str(age))
  • len(문자열)
    • 글자수를 반환한다.(공백포함)
    • print(len("")) #0글자 문자열(문자열이긴 하지만, '없다'의 의미 - False)
      -> 0
  • 문자열 간 비교 연산
    같은 종류의 문자끼리 - 사전식 배열(앞의 것이 뒤에 것보다 작다.)
    "A" > "B"
    "A" > "Z"
    다른 종류의 문자끼리 - 특수문자 < 숫자 < 대문자 < 소문자 < 한글
    "가" < "A"
 

 

'Data Science > Python' 카테고리의 다른 글

[python] 03.자료구조 | Set  (0) 2023.10.24
[python] 03.자료구조 | Dictionary  (0) 2023.10.24
[python] 03.자료구조 | Tuple  (1) 2023.10.24
[python] 03.자료구조 | List  (1) 2023.10.24
python 프로그래밍 개요  (0) 2023.10.24