Python学习笔记一
python3 笔记一
- Python输入input()函数
name = input('please input your name:')
- Python还允许用r''表示''内部的字符串默认不转义
print(r'\\\t\\')
- Python允许用'''...'''的格式表示多行内容
>>> print('''line1
... line2
... lin33''')
line1
line2
lin33
- Python 精确除法用‘/’,取整除法用‘//’,取余用‘%’
>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3
>>> 10 % 3
1
>>> 11 // 3
3
>>> 11 // 2
5
>>>
- Python编码函数ord(),chr()
>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
>>>
- list 操作类似数组 初始化用[] 可变
- 索引可以为负数,倒序获取 list[-1]
- 添加到末尾 list.append()
- 插入到指定位置 list.insert(2, 'aaa')
- 删除末尾 list.pop(),删除指定位置 list.pop(index)
- tuple 元组 初始化用() 不可变
- dict 类似map
- 删除指定key dict.pop(key)
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
- set
- 添加key set.add(key)
- 删除key set.remove(key)
s = set([1, 2, 3])
- 函数
-
定义函数时,需要确定函数名和参数个数;
-
如果有必要,可以先对参数的数据类型做检查;
-
函数体内部可以用return随时返回函数结果;
-
函数执行完毕也没有return语句时,自动return None。
-
函数可以同时返回多个值,但其实就是一个tuple。
-
支持默认参数
def add_end(L=None): if L is None: L = [] L.append('END') return L
-
支持可变参数
//*nums表示把nums这个list的所有元素作为可变参数传进去 def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
-
关键字参数
def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)
-
命名关键字参数
def person(name, age, *, city, job): print(name, age, city, job)
和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。
- Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。
默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
要注意定义可变参数和关键字参数的语法:
args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过args传入:func((1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过kw传入:func({'a': 1, 'b': 2})。
使用args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*,否则定义的将是位置参数。