Python笔记
数据类型
字符串(str)
使用单引号、双引号或三引号(多行字符串),使用\
符号来进行转义。
如果想不对\
进行转义,那么可以通过在字符串前面加上前缀r
或者R
来指定,这种字符串称为自然字符串。
一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成'\\1'或r'\1'。
整数(int)
浮点型(float)
布尔型(bool)
列表(list)
列表里面的元素是可变的,可二次赋值
元组(tuple)
元组里的元素是不可变的,不可二次赋值
字典(dict)
数据类型转换
缩进
空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空 格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组,这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。
建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 ,选择这两种缩进风格之一,更加重要的是,选择一种风格,然后一贯地使用它,即只使用这一种风格。
字符串格式化
%
运算符就是用来格式化字符串的。在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?
,括号可以省略。
%d
整数
%f
浮点数
%s
字符串
%x
十六进制整数
条件判断
需要注意判断语句后面的冒号:
,if
语句执行有个特点,它是从上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,就忽略掉剩下的elif
和else
。
循环
break
continue
dict和set
dict
Python内置了字典:dict
的支持,dict
全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
dict
的key必须是不可变对象。
和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
set
set
和dict
类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set
中,没有重复的key。
set
可以看成数学意义上的无序和无重复元素的集合,因此,两个set
可以做数学意义上的交集、并集等操作:
函数
定义函数
定义一个函数要使用def
语句,依次写出函数名、括号、括号中的参数和冒号:
,然后,在缩进块中编写函数体,函数的返回值用return
语句返回,使用return
可以返回多个值,当返回多个值时,最终返回的是一个元组。
空函数
如果想定义一个什么事也不做的空函数,可以用pass
语句:
pass
语句什么都不做,那有什么用?实际上pass
可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass
,让代码能运行起来。
pass
还可以用在其他语句里,比如:
缺少了pass
,代码运行就会有语法错误。
函数参数
参数检查
对参数类型做检查,只允许整数和浮点数类型的参数。数据类型检查可以用内置函数isinstance()
实现:
设置默认值
**注意:**默认参数必须指向不变对象,如None
可变参数
定义可变参数,在参数前面加了一个*
号。调用该函数时,可以传入任意个参数,包括0个参数。可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple
关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
。
命名关键字参数
对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些,就需要在函数内部通过other
检查。如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city
和job
作为关键字参数。这种方式定义的函数如下:
其他特性
切片
切片操作十分有用。我们先创建一个0-99的数列:
可以通过切片轻松取出某一段数列。比如前10个数:
后10个数:
前11-20个数:
前10个数,每两个取一个:
所有数,每5个取一个:
甚至什么都不写,只写[:]
就可以原样复制一个list:
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
Last updated
Was this helpful?