まず、データの種類は何ですか
私たちは、簡単に数字と文字の違いを区別できる人間が、コンピュータは非常に強力なコンピュータが、死ぬことはありませんが、いくつかの方法とビューの愚かなポイントでは、明示的に指示しない限り、数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 ('你的评论有敏感词..') # 将打印'你的评论有敏感词..'