- Python 是交互式语言
- Python 中冒号(:)之后缩进的语句为代码块
- Python中"XX" ,'XX' 是等价的
- Python中的 print(r'\\t') 输出 "\\t" r'' ,表示引号内部的字符串不进行转义
- Python中的'''XXXXXXXXX''' 代表中间的内容可以随意换行
- Python中的Bool 值为 False , True ,逻辑与或非和Lua 一样
- Python中的空值用 None表示 ,并且不等于0
- Python为动态类型语言(变量本身的类型不固定,类似于Lua)
- Python中求商 10//3 =3 ,求余数和其他语言一样
- Python的格式化字符串跟方式跟C++相同("%%10" == %10)/C#的也可以用
- Python里面内置的List等价于C++中的数组,并且结合了Lua中tabel的一些特性,比如每个元素的类型可以是不必相同
可以使用testList.append(XX) 在末尾追加元素,
可以使用testList.insert(n , XX) 指定在n的地方插入元素
可以使用testList.pop() 删除并返回最后一个元素
可以使用testList.pop(i) 删除并返回指定位置的元素
- Python里面的tuple类似于一个定长定值数组,一旦定义之后便不可做改变
定义1个元素的tuple必须是 testTuple = (1,) 后面的逗号不能省略否则会有歧义
- Python里面的条件判断:
if condition:
case
else:
case
- Python里面的循环:
for XX in XXS ----------------------XXS 代表list或者tuple
while condition
- Python里面的字典-dict
testDict = {"A":1, "B":2}
testDict["C"]=c
testDict.get(XX)/testDict.get(XX,-1) 获取key等于XX的value,如果不存在返回None,前者不会打印出值,后
者会打印出-1
testDict.pop(XX) 删除key为XX的键值对
- Python里面的set
testSet = Set([1,2,3])
testSet.add(XX) 将XX存储为key
testSet.remove(XX) 删除XX
set和dict的唯一区别就是set只存储key不存储value
- Python里面的range() 是从0开始取一个整数序列
- Python里面的可变对象(List)和不可变对象(str)
对于不可变对象来说调用自身的任何方法都无法改变对象自身
- Python中的函数
函数的定义类似于
def funcName(param) : -----------------注意冒号
return XX
定义一个占位函数类似于
def XX():
pass
Python中的函数可以返回多个值,类似于Lua中的函数
Python中的可变参数:
def XX(X):
return x;
testData = [1,2,3]
调用方式: XX() ,XX(testData)
Python中的关键字参数:
一般关键字参数
def XX(X):
return x;
testData = {'Key1' : 'Value1', 'Key2' : 'Value2'}
调用方式: 类似于C++/C#中的 param[] 可选参数列表 XX(testData)
命名关键字参数:
def XX(x1, * , x2):
return x;
关键字参数kw不同,命名关键字参数需要一个特殊分隔符,后面的参数被视为命名关键字参数。
*** 在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:
必选参数、默认参数、可变参数(x)、命名关键字参数((x,*,x))和关键字参数((x, **x))。
- Python高级特性
切片:从一个listA 取出其中N个元素,这N个元素事实上是listA的子集
List = [1,2,3,4,5,6,7,8,9,10]
取前2个元素:List[0:2],List[:2]
取后2个元素:List[8:4],List[:-2]
取前4个元素,两个当中取一个:List[:4:2]
取所有数,两个当中取一个:List[::2]
迭代:
遍历Dictionary: for k,v in Dic.items():
列表生成式:
from X import Y: from collections import Iterable
生成器:
在Python中将一边循环一边计算的机制称之为生成器:generater ---> (x*x for x in rang(10))
网友评论