-Day03データがループのstrのスライスを入力し、私のPythonの学習過程を記録

まず、データの種類は何ですか

私たちは、簡単に数字と文字の違いを区別できる人間が、コンピュータは非常に強力なコンピュータが、死ぬことはありませんが、いくつかの方法とビューの愚かなポイントでは、明示的に指示しない限り、数1である、「漢」テキストは、そうでない場合は、実際の違いと「中国の」もののデータ型が呼ばれています各プログラミング言語で、そのため、1の言う、の明確な区分の一般的に使用されるデータ型の品種でありますあなたは彼に文字列型を渡す、あなたはワープロに彼をしたい、あなたはデジタルにそれを転送することができ、コンピュータ数値計算をしたいです。次のように一般的に使用されるデータ型のPythonのさまざまながあります:

>>整数型(int型)、文字列(STR)、ブール(ブール値)、リスト(一覧)、タプル(タプル)、辞書(dictの)、コレクション(セット)。

  • int型の数字:主に計算に用いました。1,2,3 ...
  • ブール値 TrueまたはFalse:trueまたはfalseを判断します。
  • STR単に少量のデータ及び対応する動作を記憶します。名前= 'ディラン
  • タプルは読み取り専用、変更することはできません。(1 'ディラン')
  • リストデータの系列の数、[1、 'SES'、真の、[1,2,3]、{ '名前': 'ディラン'}]
  • 辞書大量のデータ、および比較的強い相関データである{「名称」:「ディラン」 、「年齢」18、「NAME_LIST」:[「 ジョン・ドウ」、「ジョン・ドウ」]}

第二に、基本的なデータ型

  • int型の整数

    * /というように - 主な+などの基本的な数学演算のために、最も一般的なデータ型です。

    • バイナリ小数ターン

      これは、10進整数バイナリ整数に変換される:「モジュロ2加算、逆構成」の方法。

      具体的に:

      サプライヤが1までよりも小さくなるようになるまで、商と余りを得るであろうし、2つの除去プロバイダを、残りはアクティブ・ローの二進数として与えるために、2分割進整数を使用して、商と余りを得ることができビット、残りは順次並ぶ2進数の高い上位ビットとして得られます。

      0001 1010 ------> 26
      b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0
      print(b)  # 26
    • bit_lenth()小数バイナリ有効長に変換しました

      # bit_lenth 有效的二进制的长度
      i = 4
      print(i.bit_length())  # 3
      i = 5
      print(i.bit_length())  # 3
      i = 42
      print(i.bit_length())  # 4
  • ブールブール値

    TrueまたはFalse:ブール値は2種類あります。それは正しい反応条件かではありません。

    真1真。

    偽0偽。

    ここではINT、STRブールの3つのデータ型間の変換を追加します。

    • int型のターンブール値
    # int -----> bool
    i = 100
    print(bool(i)) # True 非零即 True
    
    i = 0
    print(bool(i)) # False 零即是 False
    • ブールターンint型
    # bool -----> int
    t = True
    print(int(t)) # 1 True --> 1
    
    f = False
    print(int(f)) # 0 False --> 0
    • int型のターンSTR
    i = 99
    print(str(i)) # '99' 除了用引号包起来,和不能进行一些数学运算外,没啥特别的
    • strのターンint型
    s = '88' # 全部由数字组成的字符串才可以转化为数字
    print(int(s)) # 88
    • strのターンブール値
    s1 = 'Dylan'
    s2 = '' # 空字符串
    print(bool(s1)) # True 非空即 
    print(bool(s2)) # False
    • ブールターンSTR
    t = True
    print(str(t)) # 'True'
    t = False
    print(str(t)) # '' 反回的是个空字符串
  • strの文字列

    Pythonでの各要素は全て引用符データと呼ばれる文字列からなる文字列型と呼ぶことができる有し、これらの文字が一つに接続一つであり、それは二重引用符内の文字列です。

    • インデックスと文字列のセクション

      • 指数

        すなわち、添字指数であり、それはそうで最初のものからの要素からなる文字列、0の初期の指標となります。

        s = 'ABCDEFGHIJ'
             0123456789     #字母下面对应的数字就叫 下标(又叫索引)
        --------------------------------------------
        根据索引(下标),找到字符串中的某一个元素.)
        s = 'ABCDEFGHIJ'
        s1 = s[1]   #根据索引(下标),找到字符串中的某一个元素.
        print(s1) #结果是 B
      • スライス

        (関係なく、尾のある、ケアの原則)新しい文字列を形成するために(インデックス:ステップサイズインデックス)スライスは、文字列のインデックスを通って取られています

        # 正取  切片规则:顾头不顾尾  格式:s1 = s[首:尾:步长]
        s = 'ABCDEFGHIJ'
        s2 = s[0:5]     #取的 ABCDE  顾头不顾尾
        s3 = s[0:5:2]   #取的 ACE   顾头不顾尾  格式:s1 = s[首:尾:步长]
        --------------------------------------------
        # 倒取    切片规则:顾头不顾尾  格式:s1 = s[首:尾:步长]
        s = 'ABCDEFGHIJ'
        s4 = s[3::-1]   #取的 DCBA  Ps.反取 递减正查
        print(s4)
        
        s5 = s[::-1]   #取的 JIHGFEDCBA Ps.反取整个列表(方法一)
        print(s5)
        
        s6 = s[-1::-1]   #取的 JIHGFEDCBA Ps.反取整个列表(方法二)
        print(s6)
    • 一般的な方法で文字列

      • s.upper()すべて大文字で、それはデジタルへの影響はありません

        s = 'an533wangxiaoyao'
        s2 = s.upper()  # 全部变成大写,对数字没有影响
        print(s2)   # AN533WANGXIAOYAO
      • s.lower()すべて小文字、数字には何の影響

        s = 'ABC12533wangxiaoyao'
        s21 = s.lower() # 全部变成小写,对数字没有影响
        print(s21)  # abc12533wangxiaoyao
        • < 大文字または小文字のすべての変更 応用例コード >

          s_str = 'weFD'
          print('验证码:',s_str)
          i = 0
          while i < 1:
               you_input = input('''请输入验证码,不区分大小写:
          >>>''')
               if s_str.lower() == you_input.lower():
                  print('验证成功')
                   i = 1
               else:
                   print('输入有误,请重新输入!')
                   agin = input('是否退出[y/n]')
                   if agin != "y":
                       i = 1
      • ()s.startswithで始まる何

        s = 'Dylan1egonwu'
        s7 = s.startswith('Dyl')  #判断这个字符串是不是以 Dyl 开头的
        s71 = s.startswith('e',2,5) #切片操作,判断字符串索引中2到5的位置是不是以 e 开头
        print(s7,s71)  #打印的结果反回的是 True 或者 False 可以做 while 或者 if 判断条件
      • ()s.endswithで終わるものを

        s = 'Dylan1egonwu'
        s8 = s.endswith('wu')  #判断这个字符串是不是以 wu 结尾的.
        s81 = s.endswith('l',2,5) #切片操作,判断字符串索引中2到5的位置是不是以 l 结尾
        print(s8,s81)  #打印的结果反回的是 True 或者 False 可以做 while 或者 if 判断条件
      • s.replace()の交換

        s = '来看待街坊邻居复合大师街坊法好的撒见客户'
        s11 = s.replace('街坊','老王',1) # 这里面这个1 是在当前字符串里替换几次
        print(s11)  # 来看待老王邻居复合大师街坊法好的撒见客户
      • s.strip()の前及び(への文字の後 s.rstrip()を削除する権利/ s.lstrip()を削除するために、左から)

        スペースへのデフォルト、唯一のあなたは、文字列のスペースや特殊文字の真ん中に行くことができない、前後に行くことができます

        s = '   alex1egonwusir    '
        s9= s.strip()
        print(s9) # alex1egonwusir
        l = '   @alex1e@$gonwu!sir@!$    '
        s88= l.strip('@$! ')
        print(s88) # alex1e@$gonwu!sir

        - >例

        username = input('名子:').strip() # 假如输入的内容前后有空格
        if username == '春哥':
        username = input('名子:')   #还可以这么写
        if username.strip() == '春哥':  #还可以这么写
           print('恭喜春哥发财!')
      • s.split() str内の文字列のリスト分割---->リスト

        s = 'Dylan 1eg on wusir'
        l = s.split()   #默认以空格拆分成列表
        print(l) # ['Dylan', '1eg', 'on', 'wusir']
        
        s = 'Dylan; 1eg; on; wusir'
        l = s.split(';')   #也可以用其它字符拆分成列表
        print(l) # ['Dylan', ' 1eg', ' on', ' wusir']
      • 参加非常に使いやすいです

        s1 = 'alex'
        s2 = '+'.join(s1)
        print(s2,type(s2)) # a+l+e+x <class 'str'>
        
        l1 = ['太白', '女神', '吴超']
        # 前提:列表里面的元素必须都是str类型
        s3 = ':'.join(l1)
        print(s3) # 太白:女神:吴超
      • s.count()文字列を見つけるために、同じスライスのいくつかの要素があるが、全体として、ワード線を見つけることができます見つけることができます。

        s = 'alex1egonwusir'
        s10 = s.count('a') #找出这个字符串里有几个'a' 可以切片找.可以两个字线做为一个整体找.
        print(s10)  # 1
      • フォーマット出力フォーマットの3種類の代わりの%s%D %%プレースホルダ果たし得ます

        • RES = '{} {} {}' フォーマット( 'エゴン'、18 '男性')

        • RES = '{1} {0} {1}' の形式( 'エゴン'、18 '男性')

        • RES = '{名前} {年齢} {性別}' 形式(性別= '男性'、NAME = 'エゴン'、年齢= 18)

        # 第一种用法:
        msg = '我叫{}今年{}性别{}'.format('Dylan',18,'男')
        print(msg)
        # 第二种用法:
        msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('Dylan', 18,'男')
        print(msg)
        # 第三种用法:
        a = 18
        msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='Dylan')
        print(msg)
      • それはシリーズ:

        • s.isalnum()文字または数字の文字列

          name = 'taibai123'
          print(name.isalnum()) #字符串由字母或数字组成
        • s.isalpha()文字のみからなる文字列

          name = 'taibai123'
          print(name.isalpha()) #字符串只由字母组成
        • s.isdecimal()のみ、小数点からなる文字列

          name = 'taibai123'
          name = '100①'
          print(name.isdecimal()) #字符串只由十进制组成
      • 以下のためのループ

        s = 'fdsafsggfdhgsczzz'
        for i in s: #循环遍历变量 s,每次遍历一个字符,赋值给 i.
            print(i)    #遍历打印 i
      • 使用(もありませんで

        s = 'fdsfjkaf苍井空fdafasfwlla'
        if '苍井空' in s:  # 如果变量 s 中有'苍井空'
            print ('你的评论有敏感词..')    # 将打印'你的评论有敏感词..'

おすすめ

転載: www.cnblogs.com/guanshou/p/12005979.html