Python基本文法
8466 ワード
1、データ型単純タイプ 1、整数2;浮動小数点2.1;文字列「abc」;空None;ブール値True/False、大文字と小文字に注意!2、ブール値はand/or/notで演算でき、JSの&&/|/!複雑なタイプ 1、配列list=['a','b'];元祖tuple=('a','b');オブジェクトdict={'Michael':95,'Bob':75,'Tracy':85};集合set=set([1,2,3])2、list基本操作
3、tupleはlistと似ていますが、唯一の違いはtupleが付与されると変更が許されず、その要素はreadonlyです.tupleには小さな落とし穴があることに注意してください.
4、dict基本操作
5、set基本操作setの要素は重複しない
2、常用文法変数Pythonの変数宣言はキーワードではなく、変数名を直接書けば です.関数
1、関数の体内はpassで何もしないことを表すことができて、ただプレースホルダとして;returnは、2、関数パラメータ-位置パラメータを返すために使用します.
3、関数パラメータ-デフォルトパラメータ
4、関数パラメータ-可変パラメータ、JSの残りのパラメータに類似する
5、関数パラメータ-キーワードパラメータフロー制御 サイクル クラス 型判定 常にisinstance()判定タイプを優先し、指定したタイプとそのサブクラスを「一網打尽」することができます.
dir(変数)を使用して、変数に対応するオブジェクトのすべての使用可能なメソッドを表示できます.異常捕獲 モジュールインポート/エクスポート
デフォルトでは、1つのモジュール内のすべては_先頭のプロパティがエクスポートされました.モジュールファイルの最上位の任意の場所にある場合は、特別なリストを定義します.all__ = ['sys','_static','test_func']では、__のみall__ のプロパティがエクスポートされます
3、常用内蔵モジュール及び三方モジュール sysシステムパラメータ、入出力等に関する os.pathファイル操作関連 zipfile zipファイル を作成する argparseコマンドライン解析、JSのcommander.に類似js pathlibより高いレベルのpath処理 re正規表現 yaml yamlファイルとpython辞書の相互翻訳ツールは、pip install yaml を追加でインストールする必要があります. pystache python版Mustache、pip install pystache を追加インストールする必要があります requestより便利なリクエストの送信、pip install request の追加インストールが必要 getoptコマンドライン処理
'-h-f:-v'を定義し、-fの後ろに「:」が1つ追加されました.この":"は、現在のパラメータが値を持つことを表し、パラメータ名+パラメータ値のパラメータであり、opts変数に保存されます.長いパラメータ名の方式と短いパラメータの差は多くなく、唯一の違いは長いパラメータが値を受信する場合は、後に「=」を付けなければならないことです.
//
array = [1,2,3]
range_list = list(range(100)) // 0-99 list
//
array[0]
array[-1] //
//
len(array)
//
array.append(4)
//
array.pop(i) //
//
array.insert(4,5) // 4 5
//
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
L[0:3] //
L[:5:2] // 5 , 2
//
[x * x for x in range(1, 11) if x % 2 == 0] // [4, 16, 36, 64, 100]
3、tupleはlistと似ていますが、唯一の違いはtupleが付与されると変更が許されず、その要素はreadonlyです.tupleには小さな落とし穴があることに注意してください.
t = (1) // t=1
t=(1,) // tuple
4、dict基本操作
dict2={'Michael': 95, 'Bob': 75, 'Tracy': 85} //
dict2.get('Bob',-1) // 75 , , , -1
dict2.pop('Bob') //
//
d = {'a': 1, 'b': 2, 'c': 3}
for key,value in d.items():
print(key,value)
{ k: v for k, v in vars(namespace).items() if v } //
5、set基本操作setの要素は重複しない
s = set([1, 2, 3])
s.add(4)
s.remove(4)
2、常用文法
a=1
b=1.2
c='test'
d=True and False
e=None
classmates = ['Michael', 'Bob', 'Tracy']
//
def my_abs(x):
if x >= 0:
return x
else:
return -x
//
my_abs(3)
1、関数の体内はpassで何もしないことを表すことができて、ただプレースホルダとして;returnは、2、関数パラメータ-位置パラメータを返すために使用します.
// x,n
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
3、関数パラメータ-デフォルトパラメータ
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
4、関数パラメータ-可変パラメータ、JSの残りのパラメータに類似する
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
//
calc(1,2,3,4)
5、関数パラメータ-キーワードパラメータ
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
person('Bob', 35, city='Beijing') // name: Bob age: 35 other: {'city': 'Beijing'}
person('Adam', 45, gender='M', job='Engineer') // name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
// while
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
// for in
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
class Student(object): // object
name2 = 'Student' // , , , ,
def __init__(self, name, score,class='302'): //
self.name = name // ,
self.score = score
self.__class = class // ,
def print_score(self): //
print('%s: %s' % (self.name, self.score))
def get_grade(self):
if self.score >= 90:
return 'A'
elif self.score >= 60:
return 'B'
else:
return 'C'
//
student = Student('FYC',100)
// type()
type(123) //
type(123)==int // True
type('str') //
type(None) //
type(abs) //
type(abs)==types.BuiltinFunctionType
type(a) //
// class , isinstance()
isinstance('a', str) // True
isinstance(a,Animal) // True
isinstance([1, 2, 3], (list, tuple)) // True, list/tuple
dir(変数)を使用して、変数に対応するオブジェクトのすべての使用可能なメソッドを表示できます.
dir('ABC') // ['__add__', '__class__',..., '__subclasshook__', 'capitalize', 'casefold',..., 'zfill']
//
def foo(s):
n = int(s)
if n==0:
raise ValueError('invalid value: %s' % s)
return 10 / n
//
def main():
try:
bar('0')
except Exception as e:
print('Error:', e)
finally:
print('finally...')
//
import sys
//
from datetime import datetime // datetime datetime
//
__all__ = ['sys', '_static', 'test_func']
デフォルトでは、1つのモジュール内のすべては_先頭のプロパティがエクスポートされました.モジュールファイルの最上位の任意の場所にある場合は、特別なリストを定義します.all__ = ['sys','_static','test_func']では、__のみall__ のプロパティがエクスポートされます
3、常用内蔵モジュール及び三方モジュール
sys.argv // list, ,
sys.version // python
sys.exit() // python
sys.stdout.flush() //
path.join(path1,path2)
path.exists(path)
path.isfile(path)
path.isdir(path)
zip_ref = zipfile.ZipFile(file, 'r')
zip_ref.extractall(folder_name) //
zip_ref.close()
parser = argparse.ArgumentParser(description='xx CI Build Tool')
parser.add_argument('-b', '--build-number',
help='build number', default='')
parser.add_argument('-p', '--platform',
help='platform', default='mac')
args = parser.parse_args()
build_number = args.build_number
platform = args.platform
from pathlib import Path
p = Path('.') // p
[x for x in p.iterdir() if x.is_dir()]
prog = re.compile(pattern)
result = prog.match(string)
import yaml
f = open(r'E:\AutomaticTest\Test_Framework\config\config.yml')
y = yaml.load(f)
print (y)
import pystache
print pystache.render('Hi {{person}}!', {'person': 'Mom'}) // Hi Mom
import request
requests.get('https://www.douban.com/', headers={'User-Agent': 'Mozilla/5.0
(iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'},params={"test",1},cookies={"test":2})
upload_files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=upload_files) //
#
getopt.getopt(args, shortopts, longopts=[])
# args , , sys.argv
# shortopts ? :python test.py -h #
# longopts ? :python test.py -# help #
#
opts,args = getopt.getopt(sys.argv[1:],'-h-f:-v',['help','filename=','version'])
for opt_name,opt_value in opts:
if opt_name in ('-h','--help'):
print("[*] Help info")
exit()
if opt_name in ('-v','--version'):
print("[*] Version is 0.01 ")
exit()
if opt_name in ('-f','--filename'):
fileName = opt_value
print("[*] Filename is ",fileName)
# do something
exit()
#
python3.5 test.py --filename=test # :[*] Filename is test
'-h-f:-v'を定義し、-fの後ろに「:」が1つ追加されました.この":"は、現在のパラメータが値を持つことを表し、パラメータ名+パラメータ値のパラメータであり、opts変数に保存されます.長いパラメータ名の方式と短いパラメータの差は多くなく、唯一の違いは長いパラメータが値を受信する場合は、後に「=」を付けなければならないことです.