1Python基础
1.1 Python七种基本数据类型:
Number | String | Boolean | List | Tuple | Set | Dictionary |
---|---|---|---|---|---|---|
int,float,complex | * is string copy | null is false | [,,,] | (,,,) | set(,,,) | { 'key':'value' } |
1.2 数据类型转化:
- int(),float(),complex(),str() 将数字字符串转化为整型/浮点/复数/字符串
- repr() 将有效参数转化为表达式字符串
- eval() 计算参数字符串中有效的Python表达式
- Tuple() 将序列转化为元组
- list() 将序列转化为列表
- set() 将元组、序列转化为集合
1.3 运算符:
运算符 | 运算类型 | 举例 |
---|---|---|
** | 幂运算 | 2**3=8 |
/ | 普通除法 | 3/2=1.5 |
// | 取整除法 | 3//2=1 |
and | 相当于&& | 与运算 |
or | 相当于| | 或 |
in | 检查运算符 | 'hello' in 'hello world' is true |
1.4 控制结构
- if/else/elif
- for,相当于Java中的foreach() 。
for temp in (1,2,3,4,5)
- for获取index,
for index,temp in enumerate((1,2,3,4,5))
- range,
for temp in range(1,6,[步长])
步长可缺省 - while,continue,break,pass
2 函数
2.1 函数结构
def sayHello():
print("Hello, I am a function")
...
sayHello() # 函数使用要在定义之后
- 函数使用要在定义之后
- 函数命名可以是数字、字符、下划线、中文
- 参数
def add(x,y=0) # 当没有传入y的时候,y为0
print(x+y)
...
add(5,10) #15
add("hello","World") # hello world
add(y=7,x=3) #10 指定参数
- 不定长参数
def multiple(*arg): #不能是dict
for value in args:
print("args:",value)
def multiple(**arg): #接受所有未命名的KV形式的参数
for key in args:
print(key+':' str((args[key])))
2.2 模块
模块指的是Python文件,每一个Python文件都是一个模块。使用import module
导入模块或者模块中的类或者关键字
import math
print(math.pi)
form math import pi
print(pi)
form math import fabs as myabs # 给导入的内容取别名
print(myabs(-9.5))
程序入口:
if __name__ == '__main__' #通过判断模块的__name__属性是否为_main_确定
print(__name__)
- 包:包是文件夹,包是模块的一种形式
form newpackage import othermodule
if __name__=='__main__':
print(__name__)
othermoudle.prt()
2.3 特殊函数
- 高阶函数:将函数当做参数
incurrent = 0
def getIncurrent():
global incurrent
incurrent +=5
return incurrent
# x为函数
def mutipleWithValue(x,y=10):
print(x()*y)
for i in range(3)
multipleWithValue(getIncrement) #将getIncrement函数当做参数
- 匿名函数(lambda函数)
sum = lambda arg1,arg2:arg1+arg2
# 调用sum函数
print(sum(5,10))
- 闭包
def outer(a)
b = 10
def innner()
print(a+b)
return inner # 返回内函数引用
if __name__ == '__main__'
demo = outer(5)
demo() #调用内函数
3.集合
3.1 列表
list = [1,2,3,4,5]
print(list) #1,2,3,4,5
for ele in list:
print(ele) #1,2,3,4,5
print(lsit[1]) #1
print(list[-1]) #5
list.append(6) #[1,2,3,4,5,6]
lsit.insert(1,0) #[1,0,2,3,4,5,6]
# 删除函数
del list[1] #通过索引删除元素 [1,2,3,4,5,6]
list.remove(3) #通过传入值删除 [1,2,4,5,6] 。如果没有传入值,跑出异常
#拼接
list2 = list+list #[1,2,4,5,6,1,2,4,5,6]
list.extend(list) #[1,2,4,5,6,1,2,4,5,6]
# 获取元素出现次数
list.count(1) # 2
# 翻转
list.reverse()
# 排序
list = list.sorted()
list.sort(reverse=True)
# 内置函数操作
len(list)
max(lsit)
min(list)
sum(list)
3.2 tuple 基本和列表一致
3.3 set 基本和列表一致
删除:set.discard(5) 或者 set.remove(5)
区别在有无异常
交集:setC = setA.intersection(setB)
并集:union
差集:difference()
3.4 字典
# 创建字典
dic = {'name':zhangsan,'age':10}
# 获取key
dic.keys()
# 获取values
dic.values()
# 获取映射 类似于Java中的Entry
dic.items()
# 添加元素
dic['height'] = 188
# 修改元素
dicc['age'] = 20
# 删除元素
dic.popitem()
dic.pop('age')
del dic['age']
3.5 高级应用
- 切片
截取序列
lsit = [1,2,3,4]
# list[开始:结束:步长]
list[1:3:1] #2,3
list[2,0,-1] #3,2
- 生成器
# 生成列表
L = [x*x for x in range(10)]
# 生成一个生成器 generator
g = (x*x for x in range(5))
# g中保留的是一个算法,每次调用next() ,计算下一个元素
print(next(g))
# 适用于迭代
for n in g
print(n) #0,1,4,9,16
网友评论