Python - Learn Note
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - Learn Note 相关的知识,希望对你有一定的参考价值。
Python基本数据类型
整数、浮点数(浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的)、字符串(字符串是以‘‘
或""
括起来的任意文本)、布尔值、空值(空值是Python里一个特殊的值,用None
表示)
print语句
print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出,遇到逗号“,”会输出一个空格;使用“+”拼接不会产生空格
Python注释
Python的注释以#
开头,后面的文字直到行尾都算注释
Python变量
变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头;
在Python中,等号=
是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量;这种变量本身类型不固定的语言称之为动态语言;
示例 a = 123 # a是整数
a = ‘imooc‘ # a变为字符串
Python中raw字符串与多行字符串
在字符串前面加个前缀 r
,表示这是一个 raw 字符串,里面的字符就不需要转义了。
但是r‘...‘
表示法不能表示多行字符串,也不能表示包含‘
和 "
的字符串
多行字符串,可以用‘‘‘...‘‘‘
表示:
‘‘‘Line 1
Line 2
Line 3‘‘‘
在多行字符串前面添加 r
,把这个多行字符串也变成一个raw字符串
Python中Unicode字符串
字符串的编码问题:因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理(字节编码表)。
以Unicode表示的字符串用u‘...‘表示,比如:print u‘中文‘
Unicode字符串除了多了一个 u
之外,与普通字符串没啥区别,转义字符、raw字符串和多行表示法仍然有效;
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释 # -*- coding: utf-8 -*-
目的是告诉Python解释器,用UTF-8编码读取源代码。
Python中布尔类型
布尔类型运算:与运算(and):只有两个布尔值都为 True 时,计算结果才为 True。
或运算(or):只要有一个布尔值为 True,计算结果就是 True。
非运算(not):把True变为False,或者把False变为True。
布尔类型还可以与其他数据类型做 and、or和not运算,Python把0
、空字符串‘‘
和None
看成 False,其他数值和非空字符串都看成True;
and 和 or 运算的一条重要法则:短路计算
- 在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。 - 在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
Python列表:list
list是一种有序的集合(元素是按照顺序排列),可以随时添加和删除其中的元素。
直接用 [ ]
把list的所有元素都括起来,就是一个list对象。
由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:L = [‘Michael‘, 100, True]
通过索引来获取list中的指定元素。如:L[0]
倒序索引: 我们可以用 -1 这个索引来表示最后一个元素:L[-1]
添加新的元素: 第一个办法是用 list 的 append()
方法,把新同学追加到 list 的末尾;
第二个方法是用list的 insert()
方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素;
pop()方法删掉list的最后一个元素,pop(index)方法删掉list中指定索引的元素,并且它还返回这个元素;
对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。
Python元组:tuple
tuple是另一种有序的列表。tuple和list非常类似,但是,tuple一旦创建完毕,就不能修改。
创建tuple和创建list唯一不同之处是用( )
替代了[ ]
。
定义单元素的tuple: 单元素tuple要多加一个逗号“,”,避免歧义;
t = (1,) 在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。多元素 tuple 加不加这个额外的“,”效果是一样的:
tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向‘a‘,就不能改成指向‘b‘,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
Python之条件判断
if 语句后接表达式,然后用:
表示代码块开始。
if ... else ... 语句,else 后面有个“:”
if ... 多个elif ... else ... 的结构,一次写完所有的规则;
Python之循环
for 循环就可以依次把list或tuple的每个元素迭代出来:
L = [‘Adam‘, ‘Lisa‘, ‘Bart‘]
for name in L:
print name
while 循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。
N = 10
x = 0
while x < N:
print x
x = x + 1
break语句退出循环
continue跳过后续循环代码,继续下一次循环。
Python之dict
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。使用 d[key] 的形式来查找对应的 value;
判断key是否存在:用 in 操作符 ‘Paul‘ in d
使用dict本身提供的一个get 方法,在Key不存在的时候,返回None
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。缺点是占用内存大,还会浪费很多内容;
dict的第二个特点就是存储的key-value序对是没有顺序的;
dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮
点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
Python集合之set
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
s = set([‘A‘, ‘B‘, ‘C‘])
set内部存储的元素是无序的。set不能包含重复的元素,会自动去掉重复的元素;
访问 set中的某个元素实际上就是判断一个元素是否在set中。(用in操作符判断);
添加元素时,用set的add()方法:如果添加的元素已经存在于set中,add()不会报错;
删除set中的元素时,用set的remove()方法,如果元素不存在set中,remove()会报错;
Python之函数
定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。return None可以简写为return。
Python的函数返回多值其实就是返回一个tuple,在语法上,返回一个tuple可以省略括号;
让一个函数能接受任意个参数,我们就可以定义一个可变参数:可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:def fn(*args):
以上是关于Python - Learn Note 的主要内容,如果未能解决你的问题,请参考以下文章