Python - Strings


Introduction to Strings


String


String = List of Characters
文字セットからなる文字列
my_team = 'Arsenal'
first_initial = my_team[0]

print(first_initial)

# Output: A

Slice the Strings

string[first_index:last_index]String(文字列)の一部を抽出可能
favorite_fruit = "blueberry"
favorite_fruit = "blueberry"

print(favorite_fruit[:3])
print(favorite_fruit[4:])
print(favorite_fruit[2:7])

# Output: blu
# Output: berry
# Output: ueber

Concatenating Strings


2つの異なる文字列(文字列)を接続できます.
接続間にスペースがなく、スペースが必要な場合は直接スペース
first_name = "Ben"
last_name = "White"

def account_generator(first_name, last_name):
  return first_name[:3] + last_name[:3]

new_account = account_generator(first_name, last_name)

print(new_account)

# Output: BenWhi
# first_name의 첫 세글자와 last_name의 첫 세글자 연결

Length of Strings

len(string_name)
  • len(string_name)→文字列長
  • len(string_name) - 1→string(文字列)の最後の文字を理解するために使用
    (文字列のインデックスは0から始まるが、len()1から始まる)
  • first_name = "Kieran"
    last_name = "Tierny"
    
    def password_generator(first_name, last_name):
      temp_password = first_name[len(first_name)-3:] + last_name[len(last_name)-3:]
      return temp_password
    
    temp_password = password_generator(first_name, last_name)
    
    print(temp_password)
    
    # Output: ranrny
    # first_name[len(first_name)-3:] → first_name 글자수에서 3을 뺌

    Negative Indices

    string_name[-n]最後の文字から逆順に
    最後の文字→-1から
    team_description = 'Arsenal is the best team in the world'
    
    second_to_last = team_description[-2]
    final_four_texts = team_description[-4:]
    
    print(second_to_last)
    print(final_four_texts)
    
    # Output: l
    # Output: orld

    Strings → Immutable


    一度定義したstring(文字列)は変更できません
    first_name = "Tieran"
    last_name = "Tierny"
    
    first_name[0] = "K"
    
    # Output: TypeError
    # 변수 first_name은 이미 정의되었으므로 변경 불가

    Escape Characters

    \引用符の内側に別の引用符を使用するには、引用符の前に
    player_nickname = 'Kieran \'the King\' Tierny'
    
    print(player_nickname)
    
    # Output: Kieran 'the King' Tierny

    Iterating through Strings


    string(文字列)もlistなので、for文またはwhile文から順に値をポップアップできます.(iterate)
    def get_length(word):
      counter = 0
      for letter in word:
        counter += 1
      return counter
    
    singer = 'Sinatra'
    
    print(get_length(singer))

    Strings and Conditionals (Part I)


    string(文字列)をlistと見なす場合は、if文を使用して条件文を作成できます.
    # 알파벳의 단어 안 존재 여부를 확인하는 함수
    
    def letter_check(word, letter):
      for character in word:
        if character == letter:
          return True
      return False
    
    print(letter_check('apple', 'a'))
    
    # Output: True

    Strings and Conditionals (Part II)

    in in演算子を使用して、特定の文字列に検索する文字列があるかどうかを確認できます.
    # 특정 문자열 안에 찾고자하는 문자열의 존재 여부 체크
    
    def contains(big_string, little_string):
      return little_string in big_string
    
    print(contains("watermelon", "melon"))
    
    # Output: True
    # 서로 다른 두 문자열 안에 같은 알파벳이 있을 시 해당 알파벳 출력
    
    def common_letters(string_one, string_two):
      common = []
      for letter in string_one:
        if (letter in string_two) and not (letter in common):
          common.append(letter)
      return common
    
    print(common_letters("banana", "cream"))
    
    # Output: ['a']

    Take Away


    StringとListの形態一致性?


    最後の2章Strings and Conditionalsから見ると,最終Stringもlistと同様の処理方式であるため,データのループ処理を反復する.
    では、stringの各文字、例えば「sinatra」のs、i、n、a、t、r、aは、コンピュータが1つずつ遍歴することを意味する個別の文字と見なされますか?
    困難

    考えてみれば...?


    再復習すると、結果的に上で学んだString、すなわち文字列の性質はほとんどlistと同じです.
    結果は2つの属性が同じなので、処理も同じになりますか?