1.変数
1.1定義
変数データ、変数名の文字、数字、アンダースコアの量を格納するために使用され、数字で始めることはできません。また、プログラミング工程では、名前を変更し、すべての変数は、イタリアの名前を知って見に行わなければなりません。
1.2分類
グローバル変数
グローバル変数の範囲に、例えば:クラスで定義されたクラス変数、クラスはすべての方法は、この変数を使用することができます。
ローカル変数
範囲は、例えば、ローカル変数:変数メソッドクラスで定義された方法で、変数は、クラスを使用することなく、他の方法を与える、プロセスで使用することができます。
1.3変数の命名
下線の命名法
auto_test:単語の間、たとえば、アンダースコアに名前を付けることもできます。Pythonでは、一般的なデフォルトはアンダースコア命名法を使用して関数名を命名します。
ハンプ命名法
小さなこぶの命名法
オートテスト:最初の文字を小文字にちなんで名付けられた以外、たとえば、各単語の最初の文字を大文字にします。
大きなこぶの命名法
オートテスト:各単語の最初の文字は、例えば、命名大文字。大きなこぶの命名法を用いた一般的なデフォルトのクラス名を名前付き。
注意を払います
変数名は、変数名などのキーワードを使用しないようにする場合。
2.データ・タイプ
2.1デジタル
整数
INTは整数型を表します。
フロート
float型の浮動小数点表現。
注意を払います
int型フロートタイプは不変です。
2.2ブール
フォーマット
ブール値、ブール値のみ2:TrueとFalse。
print(bool(0)) print(bool(3)) print(bool('')) print(bool('it')) # 输出结果 False True False True # 注意:所有的数字除0布尔值为False外,其他布尔值均为True;所有的字符串除空字符串''布尔值为False外,其他布尔值均为True。
2.3文字列
フォーマット
コンテンツに含まれる文字列である 『STR、単一引用符」、二重引用符『 3つのマーク 『』または』』。文字列は不変です。
文字列操作
乗算と加算演算文字列
string1 = 'Hello' string2 = 'World!' # 加法运算 string3 = string1 + ' ' + string2 # 乘法运算 string4 = string3 * 3 print(string3) print(string4) # 输出结果 Hello World! Hello World!Hello World!Hello World!
文字列のメソッド
- 初期大文字、タイトル、小文字、大文字
''' .capitalize .title .lower .upper ''' string1 = 'my Favorite programming Language is python.' print(string1.capitalize()) print(string1.title()) print(string1.lower()) print(string1.upper()) # 输出结果 My Favorite Programming Language Is Python. my favorite programming language is python. MY FAVORITE PROGRAMMING LANGUAGE IS PYTHON.
- 数字かどうかを判断するために、
''' .isdecimal .isnumeric .isdigit ''' string2 = ['1', '①', '一'] for i in string2: print(i.isdecimal()) # 最常用 print(i.isnumeric()) print(i.isdigit()) print('=='*5) # 输出结果 True True True ========== False True True ========== False True False ==========
- 薄切
string3 = '0123456789' print(string3[:]) print(string3[:2]) print(string3[2:]) print(string3[1:5]) print(string3[:-1]) print(string3[0:4:2]) # 输出结果 0123456789 01 23456789 1234 012345678 02 # 注意:从前往后索引是从0开始的,从后往前索引是从-1开始的(即:最后一位元素的索引为-1)。srting3[参数1:参数2:参数3],参数1是切片时索引的起始位置,参数2是结束位置(不包括参数2本身,即:参数1和参数2是可看作一个前闭后开的集合),参数3是步长(即:切片时每两个参数之间的间隔)。
- 宇宙に行きます
''' .strip .lstrip .rstrip ''' string4 = ' it is delicious. ' print(string4.strip()) print(string4.lstrip()) print(string4.rstrip()) # 输出结果 it is delicious. it is delicious. it is delicious.
- 指定した文字列の文字切り出し
''' .split .partition .rpartition ''' string5 = 'i=am=aaron' # split切分所有的指定字符,且切分之后该字符不存在,输出结果为列表类型。 print(string5.split('=')) # partition和rpartition切分遇到的第一个字符,且切分之后指定的字符还在(将字符串切分为三个部分),输出结果为元组类型。 print(string5.partition('=')) print(string5.rpartition('=')) # 输出结果 ['i', 'am', 'aaron'] ('i', '=', 'am=aaron') ('i=am', '=', 'aaron')
- 接続リスト指定された文字列要素
''' .join ''' string6 = '-' list1 = ['2019', '10', '28'] print(string6.join(list1)) # 输出结果 2019-10-28
- 文字を指定した計算の数は、文字列に表示されます。
''' .count ''' string7 = 'Today*is*a*sunny*day.' print(string7.count('*')) # 输出结果 4
- 文字列要素の開始と終了を分析
''' .startswith .endswith ''' string8 = 'I am an number 9' print(string8.startswith('I')) print(string8.endswith('9')) # 输出结果 True True
- 指定された文字を探します
''' .index .rindex .find .rfind ''' string9 = 'pronunceation' print(string9.index('n')) print(string9.rindex('n')) print(string9.find('x')) print(string9.find('o')) print(string9.rfind('o')) # 输出结果 3 12 -1 2 11 # 注意:index和find都是查找对应的字符并返回其索引值(返回的是第一个查找到的元素的索引值),但是,若查找的字符不存在时,index会直接报错,find会返回-1。
- 文字列で指定した文字を置き換え
''' .replace ''' string10 = 'This-is-a-string.' print(string10.replace('-', ' ')) # 输出结果 This is a string.
- 指定された文字列をエンコードします
''' .encode ''' string11 = '我可以' print(string11.encode('utf-8')) # 输出结果 b'\xe6\x88\x91\xe5\x8f\xaf\xe4\xbb\xa5'
書式付き出力
- %フォーマットの方法
num1 = 1 num2 = 1.2345 string = 'abc' print('num1=%d, num2=%.2f, string=%s' % (num1, num2, string)) # 输出结果 num1=1, num2=1.23, string=abc
- フォーマット形式の方法
num1 = 1 num2 = 1.2345 string = 'abc' print('num1={}, num2={}, string={}'.format(num1, num2, string)) print('num1={1}, num2={2}, string={0}'.format(string, num1, num2)) print('num1={num1}, num2={num2}, string={string}'.format(num1 = 1, num2 = 1.2345, string = 'abc')) # 输出结果 num1=1, num2=1.2345, string=abc num1=1, num2=1.2345, string=abc num1=1, num2=1.2345, string=abc
- Fフォーマット方法
num1 = 1 num2 = 1.2345 string = 'abc' print(f'num1={num1}, num2={num2}, string={string}') # 输出结果 num1=1, num2=1.2345, string=abc # 注意:该方法在python3.6之后才可以使用
2.4リスト
フォーマット
リストは、リストには、[]で表される複数の要素の順序付けられたセットです。リストは可変です。
操作のリスト
- 操作は値を返しません
''' .append .extend .insert .reverse .remove .sort .clear ''' list1 = [1, 2, 3, 'a', 'b', 'c', 'a'] list2 = [5, 6, 7] list1.append('d') list1.extend(list2) # 将list2中的元素按序添加到list1的末尾 list1.insert(3, 4) # 在索引3的位置插入元素4 list1.reverse() list1.remove('a') # 若元素不存在,则报错 list2.sort() # 需要列表中的元素是同一类型 list2.clear() # 将列表list2清空
- 操作は値を返します
''' .count .pop .index .copy ''' list1 = [1, 2, 3, 'a', 'b', 'c', 'a'] print(list1.count('a')) # 返回列表中'a'元素的个数 print(list1.pop()) # 返回删除的元素 print(list1.index('a')) # 返回查找到的第一个元素所在的索引,若元素不存在,则报错 print(list1.copy()) # 返回一个新的列表,该列表的元素和list1完全相同 # 输出结果 2 a 3 [1, 2, 3, 'a', 'b', 'c']
薄切
文字列のリストをスライスし、スライスなどがあります。
リスト内包
list1 = [item for item in range(10) if item % 2 == 0] print(list1) # 输出结果 [0, 2, 4, 6, 8]
2.5元グループ
フォーマット
タプルは、タプル()で表される複数の要素の順序付けられた集合です。タプルは不変です。注意:のみ1つの要素タプル形式:(要素1)を含み、コンマがなければなりません!
操作タプル
薄切
そして、タプルの文字列としてスライス作業をスライス。
他の
''' .index .count ''' tuple1 = (1, 2, 3, 4, 2, 5, 2) print(tuple1.index(2)) # 返回查找到的第一个元素所在的索引,若元素不存在,则报错 print(tuple1.count(2)) # 输出结果 1 3
2.6コレクション
フォーマット
SETは、複数の組である反復しない {}で示される、要素の順序付けられていないセット。コレクションは可変です。
# 注意:空集合的定义方式为set1 = set(),而不是set2 = {},后者为空字典的定义方式。 set1 = set() set2 = {} print(type(set1), type(set2)) # 输出结果 <class 'set'> <class 'dict'>
集合演算
- 戻り値なし
''' .add .update .remove .discard .clear ''' set1 = {1, 3, 5, 7} set2 = {2, 4, 6, 8} set1.add(9) set1.update(set2) # 将set2中的元素添加到set1中 set1.remove(9) # 删除集合中的指定元素,若元素不存在,则报错 set2.discard(2) # 删除集合中的指定元素,若元素不存在,则操作无效,不报错 set2.clear()
- 操作は値を返します
''' .pop .copy ''' set1 = {1, 3, 5, 7} print(set1.pop()) print(set1.copy()) # 输出结果 1 {3, 5, 7}
辞書2.7
フォーマット
辞書、辞典は、障害のコレクションまたは{}で表さキー、複数で構成されています。コレクションは可変です。
集合演算
- 戻り値なし
''' .update .clear ''' dict1 = {'name':'Aaron', 'age':10, 'email':'[email protected]'} dict2 = {'email':'[email protected]', 'sex':'male'} dict1.update(dict2) # 将dict2中的键值对添加到dict1中,若存在相同的键,则会替代原来的 dict2.clear()
- 操作は値を返します
''' .get .keys .values .items .copy ''' dict1 = {'name':'Aaron', 'age':10, 'email':'[email protected]'} print(dict1.get('age')) # 根据指定的键查找对应的值,若不存在,则返回None print(dict1.keys()) print(dict1.values()) print(dict1.items()) print(dict1.copy()) # 输出结果 10 dict_keys(['name', 'age', 'email']) dict_values(['Aaron', 10, '[email protected]']) dict_items([('name', 'Aaron'), ('age', 10), ('email', '[email protected]')]) {'name': 'Aaron', 'age': 10, 'email': '[email protected]'}
順序付き辞書
from collections import OrderedDict info = OrderedDict() info['k1'] = 123 info['k2'] = 456 print(info.keys()) print(info.values()) print(info.items()) # 输出结果 odict_keys(['k1', 'k2']) odict_values([123, 456]) odict_items([('k1', 123), ('k2', 456)])