python(基础)
- Python的注释方法与常见内置函数
Python注释方法
1)单行注释
使用“#”进行注释
2)多行注释
使用三个单引号或三个双引号进行注释
常见内置函数
变量名的命名原则Python变量的特点
1)以_或字母开头
2)变量名以_、数字、字母组成
3)变量名大小写敏感
4)不能使用Python保留的关键字
- 查看Python关键字的方法
import keyword
keyword.kwlist
数值类型
- 数值类型包括整型和浮点型
数值类型操作符
————————————————————————————————--------------------------------------------------------------------------------------
实例:需要操作一下
c=complex(1,3)
c.conjugate()
列表(list 【】)
- 列表的特点
1)用来储存多个数据的数据结构
2)储存的数据是有序的,可使用位置索引
3)列表长度和元素都是可变的
4)可储存不同类型的数据
创建List的方式
x=[]
x=['one', 2, [3, 4], (5, 6)]
使用索引获取列表中的数据
x[索引号]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tuple(元祖) ()
- 元组的特点
1)储存形式与列表相似
2)与列表不同的地方
3)元素不可修改
4)长度不可改变
5)常用于安全级别较高的场景应用
创建元祖的方法
t1=(1, 2, 3, 4, 5)
t2='one', 2, [3, 4], (5, 6)
t3=tuple([1,2,3])
实例二:
l=[2,3]
l[1]=9
t=(1,2,3,l)
print(t)
(1, 2, 3, [2, 9])
列表/元组操作
- 通过切片获得新的列表/元组(左包右不包)
1)start:起始索引,从0开始,-1表示结束
2)end:结束索引
3)step:步长,end-start,步长为正时,从左向右取值。步长为负时,反向取值
实例
对列表x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]切片
切片 结果 切片 结果
x[1:3] [2, 3] x[1:6:2] [2 ,4, 6]
x[-3:-1] [8, 9] [-8:-1:3] [3, 6, 9]
x[ :4] [1, 2, 3, 4] x[6:1:-2] [7, 5, 3]
[6: ] [7, 8, 9, 0] [-1:-8:-3] [0, 7, 4]
- 遍历列表/元组中的元素
for v in x:print(v)
-
zip
- 用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
range类型
1)一段不可变的数字序列
2)经常被用作for里面来指定循环次数
- range(start, stop, step)
- start的默认值是0,step的默认值是1
range类型也支持切片range操作方法
x=range(10)
for v in range(10):使用for循环遍历range()
print(v)
-----------------------------------------------------------------------------------------------------------------------------
列表、元组、range转换
列表转元组
t = tuple(l)# l是列表
元组转列表
l = list(t)# t是元组
range转列表
l = list(r)# r是range
range转tuple
t = tuple(r)# r是range
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
pack&unpack(1)
- pack
变量转换成序列
t = 1,2,3 #t是(1,2,3)
- unpack
序列转换成变量
a,b,c=t #a=1,b=2,c=3
- unpack中使用
a, b, *c = 1,2,3,4,5 # a=1, b=2, c=[3, 4, 5]
a, *b, c = 1,2,3,4,5 # a=1, b=[2, 3, 4], c=5
*a, b, c = 1,2,3,4,5 # a=[1, 2, 3], b=4, c=5
*a, b, c, d, e, f = 1,2,3,4,5 # a=[], b=1, c=2, d=3, e=4, f=5
交换两个变量的值
a, b = b, a
a=1
b=2
a,b=b,a
在for循环中unpack元组
l = [(1,2), (3,4), (5,6)]
result=0
for x, y in l:
result += x*y
print(result)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
常见的序列操作
- s = [1,2,3] t = [4,5,6] n = 2
- 可变序列支持的操作
Set(集合 {}------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 储存形式与列表相似
1)集合中保存的数据具有唯一性,不可重复
2)集合中保存的数据是无序的
3)往集合中添加重复数据,集合将只保留一个
- 创建一个集合
空集合:变量=set()
非空集合:变量={元素1,元素2,…}
- 集合的操作
集合的并集
newSet = s1 | s2 | s3
newSet = s1.union(s2, s3)
集合的交集
newSet = s1 & s2 & s3
newSet = s1.intersection(s2, s3)
集合的差集
newSet = s1 - s2 - s3
newSet = s1.difference(s2, s3)
集合的对等差分:三个并集减去三个交集
1)集合的对等差分
newSet = s1 ^ s2 ^ s3
newSet = s1.symmetric_difference(s2).symmetric_difference(s3)
2)判断是否是超集
s1.issuperset(s2)
3)判断是否是子集
s2.issubset(s1)
4)判断两个集合是否相交
s1.isdisjoint(s2)
集合的遍历与列表的遍历方法相同
-----------------------------------------------------------------------------------------------------------------------------------------------
字典(Dict ={key=values})
1)通过键值对(key-value)来储存数据
2)储存的数据是无序的,可使用键索引
3)键是必须唯一,但值可以不唯一
4)键的类型只能是字符串、数字或元组,值可以是任何
三种创建方式
1)empty_dict = {}
2)dict_1 = {1:'one', 2:'two', 3:'three'}
3)dict_2 = dict(one=1, two=2, three=3)
获取字典中的值
x = d[1] #1是Key,不是索引
x = d['three']
x = d.get(3, 'This value when key is not found')
遍历字典
遍历字典的键for k in x: #x.keys()
print(k)
遍历字典的值for v in x.values():
print(v)
遍历字典的键和值for k,v in x.items():
print(k,v)
————————————————————————
字符串
- Python定义字符串的三种形式
1)单引号
2)双引号
3)三引号(允许字符串换行)
#单引号
str1 = 'allows embedded "double" quotes'
#双引号
str2 = "allows embedded 'single' quotes"
#三引号
str3= '''Three single quotes,
span multiple lines'''
str4="""Three double quotes,
span multiple lines"""
- 字符串操作
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
None和布尔值
- None:是一个特殊的常量,表示空值
Python中很多类型可以表示布尔值
or、and、not布尔操作符
流程控制语句
- 条件选择语句
if guess > secret :
print("too large")
elif guess < secret : # elif is optional
print("too small")
else : # else is optional
print("equals")
- 循环语句
secret=88//必须定义
guessed=0//必须定义初始
while guessed !=secret:
guessed=int(input("请输入:"))
else:print("你猜成功了")
1)break
break语句在循环中的作用是跳出当前循环语句
循环语句的else子句不会被执行
2)continue
continue语句在循环中的作用是跳出本次循环
遇到了continue将跳过本次循环的剩余代码,直接开始下一次循环
3)pass(未实现的方法)
占位语句
--------------------------------------------------------------------------------------------------------------------------------------------
三元表达式
- 三元表达式示例
方法一:
x=80
result='even' if x%2==0 else 'odd'
result
方法二:
x=80
result='A' if x%2==0 else 'B' if x%5==0 else 'C'
result
列表生成式
- 用列表生成式创建列表
list=[1,2,3]
[i*2 for i in list if i%2==0]
set={i*1 for i in list}
dict={"1":"one",'2':'two'}
{v:k for k,v in dict.items()}
enumerate()函数
- 将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
for i, v in enumerate('ABCDEFG') :
print(i, v)