<Python構文ベース1-1>変数、データ型、フォーマット

34083 ワード


学習のまとめ
  • 変数、パラメータ
  • 資料型
  • フォーマット
  • 1.変数、パラメータ
    1)変数
    変数は、値を含むボックスで、値を含む場所を指します.変数には、数値、文字、Boolデータ型、配列などの複数の値を含めることができます.数値は4則演算、変数間の比較演算が可能です.(ただし、数字や文字のように大きさを比較できないものもあります.)
  • コード例
  • a = 3.5
    b = 4
    c = 'practice'
    d = 'k'
    e = True
    f = [1,3,6,3]
    
    print(a+b) 	
    print(a**b)	-> a의 b제곱
    print(a//b)	-> a를 b로 나눈 몫
    print(a%b)	-> a를 b로 나눈 나머지
    
    print(a > b)
    print(c == f)	-> 같은지 비교
    print(d != e)	-> 다른지 비교

  • 文字列
    複数の文字で構成され、文字列間を「+」で接続できます.以下の例では、文字列に様々な関数を書き込むことができます.

  • コードの例
  • first_name = 'yongheon'
    last_name = 'lee'
    print(first_name, last_name)	-> yongheon lee
    print(first_name + last_name)	-> yongheonlee
    
    text = 'abcdefghi'
    result = len(text)		-> 문자열 길이
    print(result)			-> 9
    
    sentence = 'Python is Fun'
    print(sentence.upper())		-> 전체 대문자
    print(sentence.lower())		-> 전체 소문자
    
    s = sentence.find('g')		-> 특정 문자 찾기
    print(s)			-> 있으면 출력, 없으면 '-1' 출력
    
    result = text[1]		-> 인덱싱(처음은 0)
    print(result)			-> b
    result = text[3:]		-> 슬라이싱(앞숫자 <= 출력 < 뒤숫자)
    print(result)			-> defghi
    
    myemail = '[email protected]'
    result = myemail.split('@')	-> 특정 문자 기준으로 문자열 나누기
    print(result)			-> ['qnpfr','daum.net']
    
    txt = '부산시-사하구-하단동'
    print(txt.replace('-','>'))	-> 특정 문자 다른 문자로 교체
    2)パラメータ
    関数を作成するときに、関数の入力値に渡される変数.ここで関数に渡される入力値を引数と呼ぶ.
  • コード例
  • def cal(a,b=3):		-> a,b가 매개변수
        return a+b
        
    print(cal(1,3))		-> 1,3이 인수
    
    def cal(c,d):
    	return c*d+2
        
    print(cal(d=7,c=2))
    
    上記の「b=3」のようにパラメータのデフォルト値を設定したり、各パラメータに入れる値を指定したりすることができます.

  • 可変パラメータ、キーワードパラメータ
    複数のパラメータを受け入れる変数を変動パラメータ、キーワードでパラメータを受け入れる変数をキーワードパラメータと呼びます.通常はそれぞれ*args、*kwargsで表される.

  • コードの例
  • def call_names(*args):
        for name in args:
            print('{}야 밥무라~'.format(name))
    
    call_names('철수','영수','민수','준수')
    
    def get_kw(**kwargs):
        print(kwargs)
    
    get_kw(name='jung')
    get_kw(name='bob',age=46,gender='M',height=187)
    2.資料型、フォーマット
    1)資料型
    パイソンにはいくつかの資料型がある.上図のように、数字、文字、Boolなど、そして今回見るクラスタ資料型があります.
    (1)リスト
    リストには、順序O、繰り返しO、変更Oの特徴があり、数字、文字(列)、Bool、リストなどの要素を同時に入れることができます.
  • コード例
  • b_list = ['사과',2,True,['감','수박'],{'name':'hajin'}]
    print(b_list[3][0])
  • リストで使用可能な関数はいくつかあります.一部だけ見ましょう.
  • c_list = [1,4,7,3,2]
    c_list.append(8) 	-> 리스트에 원소 추가(마지막에 추가)
    print(c_list)
    
    c_list.insert(3,4)	-> 리스트에 원소 추가(앞숫자 위치에 뒤의 값 추가)
    print(c_list)
    
    result1 = c_list[-1]	-> 뒤에서 첫 번째 값
    print(result1)
    print(len(result1))	-> 리스트 길이 구하기
    
    d_list = [86,51,8,6,48,18]
    d_list.sort(reverse=True) -> 리스트 정렬(옵션:내림차순)
    print(d_list)
    result2 = 51 in d_list 	  -> 리스트 내 값 유무 확인
    print(result2)
    
    c_list.extend(d_list) 	  -> 리스트 확장(리스트끼리 합침)
    print(c_list)
    
    d = c_list.count(8)	  -> 원소 개수 세기
    print(d)
    
    c = c_list.index(4,1) 	  -> 원소 위치 번호 찾기(찾는 값,시작 위치)
    print(c)
    
    c_list.remove(4) 	  -> 특정 원소 제거
    print(c_list)
    
    c_list.pop(4) 		  -> 특정 위치의 원소 제거
    print(c_list)
    
    d_list.clear() 		  -> 모든 원소 제거
    print(d_list)
    
    f = d_list.copy() 	  -> 리스트 복사(주소값은 다름., 다른 값!)
    print(f)
    (2)専制
    key,valueペアに含まれる資料型.順序X、繰り返しX(key)、変更Oの特徴があり、順序がないためインデックスを作成できません.逆にkeyを使用してvalueを検索できます.
  • コード例
  • a_dict = {'name':'kaila', 'age':48}
    result = a_dict['name'] 	 -> key로 value값을 찾음
    print(result)
    
    a_dict['friend'] = ['she','has'] -> 딕셔너리 추가
    print(a_dict)
  • リストと組み合わせて使用することもできます.これにより,記憶要素をペアにしながらリストの順序特徴に基づいてインデックスを行うことができる.
  • コード例
  • people = [{'name':'kim','age':8},
              {'name':'lee','age':48}]
    print(people[1]['age'])
    (3)調音
    リストと似ていますが、変更Xの特徴は違います.だからデータが変わっていないときはこの資料型を使います.
  • コード例
  • a = (1,2,3)
    a[0] = 99	-> 변경 불가능이므로 에러 발생
    
    a_dict = [('bob',24),('carry',30),('smith',48)]
    print(a_dict[1][1])
    (4)集合
    順序X,反復X,Oの特徴を変更する資料型がある.順番がないので、もちろんインデックスやスライドはできません.集合の特性に応じて,集合,交差,差集合の演算を行うことができる.
  • コード例
  • a = [1,2,2,2,4,4,4,6,7,4,3,2,5,1,1,3]
    a_set = set(a)
    print(a_set)			-> {1,2,3,4,5,6,7}
    
    a_set = {'사과','배','귤','감','수박'}
    b_set = {'사과','귤','포도','체리'}
    
    print(a_set or b_set) 		-> '|', a.union(b)과 같은 의미
    print(a_set & b_set) 		-> 'and', a.intersection(b)과 같은 의미
    print(a_set.difference(b_set))  -> '-'과 같은 의미
    2)フォーマット
    値を出力時に特定のフォーマットで出力することもできます.その仕事はフォーマットと呼ばれています.フォーマットの仕方は多種多様で、暗記できないので、いくつかのよく使われるものを熟知すればいいです.
  • コード例
  • scores = [{'name':'bob','score':70},
              {'name':'jim','score':80},
              {'name':'john','score':10}]
    
    for student in scores:
        name = student['name']
        score = student['score']
        print('{0}은 {1}점입니다.'.format(name,score))
        print('%s는 %d점입니다.'%(name,score))
        print(f'{name}{score}점입니다.')
    理解しにくい、または全く理解していない内容
    正直に言うと、大体何があるかは知っていますが、本当に利用して応用できるかどうかを聞かれたら、私はとても熟練していないと言います.知っているのはすべてではなく、どのように利用するか、どのように応用するかの問題です.