简明Python-笔记
简要基础概念
基础
字符串:
单引号、双引号的工作机制完全相同,可以使用三引号指定多行字符串
格式化方法(format()):
>>> age = 20
>>> aname = 'Swaroop'
>>> aprint('{} was {} years old when he wrote this book'.format(name, age))
>>> aprint('Why is {} playing with that python?'.format(name))
对象:
Python 将程序中的任何内容统称为 对象(Object)
逻辑行与物理行:
逻辑行(LogicalLine)是 Python 所看到 的单个语句
物理行(Physical Line)是你在编写程序时编辑器的行
python之所以可以不加分号的原因是,python默认一个物理行就是一个逻辑行,故可以不加;如果一行中之中有两个逻辑行则必须得加分号,例如
i = 5; print(i);
但是在python中尽量不要这样写,很少有人在Python会使用分号
显式行连接:
如果你有一行非常长的代码,你可以通过使用反斜杠()将其拆分成多个物理行
>>> s = 'This is a string. \
>>> This continues the string.'
>>> print(s)
缩进:
File "whitespace.py", line 3
print('Value is', i)
^
IndentationError: unexpected indent
# 缩进错误:意外缩进
即使用space空格又tab键很容易会造成缩进error
函数
默认参数值
对于一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们提供值的情况。默认参数值可以有效帮助解决这一情况。你可以通过在函数定义时附加一个赋值运算符( = )来为参数指定默认参数值
def say(message, times=1):
print(message * times)
say('Hello')
say('World', 5)
输出为
$ python function_default.py
Hello
WorldWorldWorldWorldWorld
注意!只有那些位于参数列表末尾的参数才能被赋予默认参数值,意即在函数的参数列表中拥有默认参数值的参数不能位于没有默认参数值的参数之前。
举例来说, def func(a, b, 5) 是有效的,但 def func(a=5, b) 是无效的。
可变参数
有时你可能想定义的函数里面能够有任意数量的变量,也就是参数数量是可变的,这可以通过使用星号来实现
单星号(*):*agrs
将所以参数以元组(tuple)的形式导入:
>>> def foo(param1, *param2):
print param1
print param2
>>> foo(1,2,3,4,5)
1
(2, 3, 4, 5)
双星号(**):**kwargs
将参数以字典的形式导入
>>> def bar(param1, **param2):
print param1
print param2
>>> bar(1,a=2,b=3)
1
{'a': 2, 'b': 3}
下面例子是两个用法一起用
def total(a=5, *numbers, **phonebook):
print('a', a)
#遍历元组中的所有项目
for single_item in numbers:
print('single_item', single_item)
#遍历字典中的所有项目
for first_part, second_part in phonebook.items():
print(first_part,second_part)
print(total(10,1,2,3,Jack=1123,John=2231,Inge=1560))
输出
$ python function_varargs.py
a 10
single_item 1
single_item 2
single_item 3
Inge 1560
John 2231
Jack 1123
None
模块
dir函数
内置的 dir() 函数能够返回由对象所定义的名称列表。 如果这一对象是一个模块,则该列表会包括函数内所定义的函数、类与变量
数据结构
列表
列表 是一种用于保存一系列有序项目的集合,是一种可变的(Mutable)数据类型,意即,这种类型是可以被改变的。
.append()
Python 为 list 类提供了一种 append 方法,能够允许你向列表末尾添加一个项目。例如 mylist.append(‘an item’)将会向列表 mylist 添加一串字符串
元组
元组(Tuple)用于将多个对象保存到一起。你可以将它们近似地看作列表,但是元组不能提供列表类能够提供给你的广泛的功能。元组的一大特征类似于字符串,它们是不可变的,也就是说,你不能编辑或更改元组
字典
我们将键值(Keys)(即姓名)与值(Values)(即地址等详细信息)联立到一起。在这里要注意到键值必须是唯一的。
形式: d = {key : value1 , key2 : value2}
字典中的成对的键值—值配对不会以任何方式进行排序。如果你希望为它们安排一个特别的次序,只能在使用它们之前自行进行排序