Python
2020-10-22 16:21:09 0 举报
AI智能生成
python学习笔记
作者其他创作
大纲/内容
第一行代码
print() 打印函数
数据类型
int整数、float浮点、布尔、字符串、元组、None、集合、字典、列表等
列表
基础
a = [ 1, 342, 223, 'India', 'Fedora']
切片: a[0:-2] -> [1, 342, 223]
省略第一个值默认为零,省略第二个值默认为切片的字符串大小
切片操作不改变源代码
通过a[1, 3] = [5, 6]可替换原数组中某些值
a[1::2] -> 从索引1到列表末尾,每隔两个元素取值
a + [1, 2] 可获得新列表
value in a -> True/False
通过内建函数len()可以获得列表长度
列表允许嵌套
详解
a = [23, 45, 1, -3434, 43624356, 234]
a.push(value) -> 添加元素到末尾
a.insert(index, value) -> 在index处插入元素value
a.count(value) -> 返回列表中value元素数量
a.remove(value) -> 移除第一个
a.reverse() -> 反转列表
a.extend(b) -> 将列表b的元素添加到a的末尾
a.sort() -> 列表排序,前提是列表元素是可比较的
del a[index] -> 删除指定位置的元素
将列表用做栈和队列
栈
LIFO(last insert first out后进先出)
a=[1, 2, 3, 4]
a.pop() -> 4
a.append(34) -> [1, 2, 3, 34]
a.pop() -> 34
a.pop() -> 4
a.append(34) -> [1, 2, 3, 34]
a.pop() -> 34
队列
FIFO(first insert first out先进先出)
a.pop(0) -> 传入参数i,会将第i个元素弹出
列表推导式
定义:为从序列中创建列表提供了简单的方法
变量x在循环完毕后依然存在
squares = list(map(lambda x: x**2, range(10)))
等价于: squares = [x**2 for x in range(10)]
列表推导式由包含一个表达式的中括号组成,表达式后面跟随一个 for 子句,之后可以有零或多个 for 或 if 子句。结果是一个列表,由表达式依据其后面的 for 和 if 子句上下文计算而来的结果构成。列表推导式可嵌套
元组
定义:有多个逗号分隔的值组成,元组是不可变类型,这意味着你不能在元组内删除或添加或编辑任何值。
a = 'tom', 'jerry', 'lucy', 'lihua' -> a[1] -> 'jerry'
对元组拆分并赋值
x, y = divmod(3, 4)
创建只有一个元素的元祖,在元素后面跟逗号
type(value) -> value的数据类型
集合
定义:集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
集合对象还支持 union(联合),intersection(交),difference(差)和 symmetric difference(对称差集)等数学运算。
集合对象还支持 union(联合),intersection(交),difference(差)和 symmetric difference(对称差集)等数学运算。
重复元素被去除
a.pop()、a.add(value)
字典
字典是是无序的键值对(key:value)集合,同一个字典内的键必须是互不相同的。一对大括号 {} 创建一个空字典。
字典的键值必须为不可变类型
字典的键值必须为不可变类型
方法:del data[key]、value in data
dict() 可以从包含键值对的元组中创建字典。
dict(('hello': 'world'), ('h', 'w')) -> {'hello': 'world', 'h': 'w'}
for x, y in data.items()
遍历字典
遍历列表同时获得索引值,可以使用 enumerate(),同时遍历两个序列类型可以使用zip(),zip(a, b) -> 遍历结果a和b的元素成对输出
字符串
内建方法
s.split()
参数默认为 " "
join()
'-'.join(['1', '2', '3', '4'])
s.title()
返回字符串的标题文本,即单词首字母大写
s.upper()
全大写
s.lower()
全小写
s.swapcase()
大小写交换
s.isalnum()
检测是否字符串全为数字或字母
s.isalpha()
检测字符串中是否只有字母
s.isdigit()
s.islower()
s.isupper()
s.istitle()
s.strip(chars)
字符串剥离,用来剥离字符串首尾中指定的字符,它允许有一个字符串参数,
这个参数为剥离哪些字符提供依据。不指定参数则默认剥离掉首尾的空格和换行符
这个参数为剥离哪些字符提供依据。不指定参数则默认剥离掉首尾的空格和换行符
s.lstrip()
左侧剥离
s.rstrip()
右侧剥离
文本搜索
s = "faulty for a reason"
s.find("for") -> 7
找到第一个出现的索引,未找到返回 -1
s.find("fora") -> -1
s.startswith("fa") -> True
s.endswith("reason") -> True
s[::-1]
字符串倒序(不改变原字符串)
基本数据类型
int
float
布尔值
True
False
空值
变量
input()函数
range()函数 -》range(x)生成0-x-1的整数序列(并不是列表,是可迭代对象)
list(range(1, 5)) -> [1, 2, 3, 4]
list(range(1, 15, 3)) -> [1, 4, 7. 10. 13]
字符串
定义:引号包裹
format()
格式化字符串
占位符为‘{}’
print('你叫{},今年{}岁了。'.format(name, age))
数字格式化
print('{:.2f}'.format(3.1415926)) //3.14
运算符
比较运算符
赋值运算符
+=、-=、*=、/=
//= 取整除运算符
**= 幂赋值运算符
逻辑运算符
and 逻辑与
or 逻辑或
not 逻辑非
divmod(num1, num2)返回一个元祖,这个元祖有两个值,第一个值是num1和num2相除得到的值,第二个值是求余得到的值,*运算符拆分这个元组,得到两个值
类型转换
float(string) -> 字符串到浮点数
float(int) -> 字符串到整数
str(integer) -> 整数值到字符串
str(float) -> 浮点值到字符串
注释
#
流程控制
条件判断
if、elif、else
if: 、elif:、else:、通过严格的缩进来区分代码块的执行级别
pass关键字 -》跳过代码执行后面
循环控制
for循环和while循环的区别:for是已知次数的循环
for
while
可以在循环语句后面使用可选的else语句,它将在循环完毕调用,除非使用了break
break和continue
0 条评论
下一页