python 语法基础
其中记录了python跟别的语言不一样的一些基础知识点
布尔类型
True
False
除法
/
默认的除法是精确除法
//
才是通常的取商的整数部分
字符(类似C的ASCII码)
ord()
字符对应编码
chr()
编码转字符
'aaa'.encode('utf-8')
转成对应编码形式的bytes
'aaa'.decode('utf-8')
从bytes
转成utf-8
编码
格式化输出
r = 18.0555
'%.2f%%' %r
# '18.06%'
数据类型之list(类比数组)
获取list
元素个数len(变量名)
访问元素下标为负表示都是第几个元素
末尾添加元素 vary.append(...)
插入指定位置 vary.insert(1, 'Jack')
末尾元素去除 vary.pop()
去除指定位置 vary.pop(2)
元素之间的数据类型可不同
数据类型之tuple元组
与list
相比这样定义出来的数组内的元素是不可直接变的,数据更加安全
间接改变的原理:tuple是保持元素的指向不变,指向的内容是可能可变的,例如元素是list
t = ('A', 'B', 'C')
if语句
:
替代花括号块
elif
等价于其他语言的 else if
循环
for-in
循环 for x in ...:
continue
打破当前循环进入下一次循环
break
退出循环体
dict 键值对
d = {'A':11,'B':22,'C':33}
d['B']
# 22
找不到key
时会报错,所以查key
之前要判断一下key in d
的返回值再查找
或者
d.get('B', -1)
第二个参数指定了找不到时返回的值
dict
中的key
不可变
删除 d.pop(key)
set key的集合
初始化需传入一个list
,传入的元素不能有重复的
s = set([5,5,6,7,7,6,7])
# {5, 6, 7}
添加 add(key)
删除 remove(key)
字符串对象
str.remove('a', 'A')
将a
替换成A
但是方法会返回一个新的串,原来的str
不可变!
基本函数
abs()
max()
可以放任意个参数只返回最大
a = abs
给abs
函数引用发给a
,调用a()
效果一样
类型转换
int(要转换的变量)
其他类似
定义函数
def
替代function
缩进体置空
pass
函数返回值
居然可以有多个!! 我的三观…
def goBack(x,y)
return x,y
a,b = goBack(1,2)
原因:返回的是tuple
类型检查
def goBack(x,y)
if isinstance(x, (int, float)):
return x,y
# 允许int和float类型
参数
def power(x, n=2):
# n默认值为2
默认参数必须指向不变对象
参数可以是 list
或者 tuble
,利用可变参数
可变参数 def calc(*numbers):
多参数自动组装成tuple
关键字参数 def person(name, age, **kw):
方便扩展函数的参数
参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数
尾递归优化递归函数
指在函数返回的时候,调用自身本身,并且,return语句不能包含表达式
注意:标准解释器并不支持这种用法