注释:单行注释,多行注释,批量注释,中文注释,特殊注释
必须放在首部
主要用于linux系统,用来告诉系统python解释器的位置
组成是由字母数字下划线,不能以数字开头
大小写敏感区分
不能使用关键字,保留字
以双下划线开头的和结尾的表示特殊含义
变量名=字面量或表达式
>x=5;分号可加可不加 >print(x)5>x=5;y=6;z=7多个变量分号区分 >print(y); 6分号或者换行代表结束
>str="hello" >print(str) hello >info="abcdefg" >info abcdefg文件的形式不可以省略print
变量1=变量2=字面量或表达式
等价于
变量2=字面量或表达式
变量1=变量2
+=
-=
*=
/=
//=整除
num1=5; num1+=1; num1; 6定义过的变量可以反复使用
前后个数一样,类型可以不一致
python里面没有常量
大写就表示常量
>>>NUM=5
分为内置数据类型,自定义数据类型
内置数据类型:数值数据类型,序列数据类型,集合数据类型,字典数据类型,特殊数据类型,其他数据类型
数值数据类型:整数,浮点数,布尔,复数
序列数据类型:字符串,元组,字节序列,列表,字节数组
集合数据类型:集,不可变集
利用进制表示整数
十进制
十六进制:0x(0X)
八进制:0o(0O)
二进制:0b(0B)
范例:
>>>i1=0b100
>>>i1
4
>>>type (i)
<class int>
>>>int (123)
123
>>>int("123")
123
>>>int("12a")
报错
int(x)
int (x,y)
>>>(123.78)
123
>>>('100',2)
4
>>>int (100,2)
报错
前面字符串,后面进制
单引号双引号均表示字符串
前导0可以省略
>>>i2=.4
>>>i2
0.4
>>>type (3.14)
<class 'float'>
>>>float (124)
124.0
>>>float (3.14)
3.14
>>>float ('123')
123
>>>float ('abc')
报错
>>>1+2j
(1+2j)
>>>type(1+2j)
<class 'complex'>
实部虚部必须写,j不可以换成其他字母,实部虚部可以是整数或者浮点数
>>>1+j
报错
>>>j
报错
>>>1+2a
报错
>>>1+0j
(1+0j)
>>>0+1j
1j
>>>1+.5j
1+0.5j
>>>.+.j
报错
>>>1+.j
报错
>>>1+1.j
1+1j
不能前导0后导0同时省略
complex(x,[y]) y可有可无
>>>c=complex(4,5)
>>>c
4+5j
>>>complex(6)
6+0j
>>>complex(7,)
7+0j
real:实部
imag:虚部
>>>(1+2j). real
1.0
>>>(1+2j).imag
2.0
>>>a=1+2j
>>>b=complex(4,5)
>>>a+b
5+7j
布尔类型的值:True,False(首字母大写)
>>>True
True
>>>type(False)
<class 'bool'>
>>>type(true)
报错
bool(x)
>>>bool(True)
True
>>>bool('True')
True
>>>bool(0)
False
>>>bool(1)
True
>>>bool('abc')
True
>>>bool('0')
True
>>>bool(0.0)
False
只要不是数值0,剩下都是True
显示转换,隐式转换
隐式转换(自动类型转换)
>>>1+23.4
24.4
>>>123+True
124
>>>123+False
123
显示转换(强制转换)
>>>int(123.4)
123
>>>i=3**2
>>>float(i)
9
>>>a=9999*9999
>>>float(i)
报错
能用隐式不要用显示,显示会形成精度丢失或者异常问题
字符串的表示有四种方式:
' ' , " "一行
''' ''' , "" ""跨行或多行
范例:字符串的拼接
>>>'abc'+'def'
'abcdef'
>>>'abc''def'
'abcdef'
\n 换行
\r 回车
\t 一个水平制表符
\v 一个垂直制表符
\'
\"
\\
\f 换页
\b 退格
范例:
>>>s='a\tb\tc\td\t'
>>>s
'a\tb\tc\td\t'
>>>print (s)
a b c d
>>>s1=r'a\tb\tc\td\t'
>>>s1
'a\\tb\\tc\\td\\t'
>>>print(s)
'a\tb\tc\td\t'
把使用r或R的字符串称为原始字符,该字符串中包含的字符不能将进行转义
str(x)
范例:
>>>str('abc')
'abc'
>>>str(1230)
'1230'
>>>str(True)
'True'
>>>str(2.12)
'2.12'
1)算数运算符 + - * / % // **
2)比较运算符 == != > < >= <=
3)赋值运算符= += -= *= /= %= **= //=
//除法,取整(不四舍五入)
**幂运算
%取余
>>>a=10
>>>b=20
>>>a and b
20
>>>a or b
10
>>>not(a and b)
false
In,not in
>>>x=abcde
>>>y=e
>>>z=you
>>>y in x
True
>>>z in y
False
>>>z not in x
True
用于比较两个对象的存储单元
>>>x='abc'
>>>y=x
>>>z='abcde'
>>>x is y
True
>>>x is z
False
>>>x is not z
True
>>>x ='abc'
>>>y='abc'
>>>x is y
True
()
逻辑型,not,and,or
测试型,is,not is,in,not in
关系型,== != > < >= <=
算数型,+,-,*,/,%,//
问,is与==区别, is是地址比较,==是内容比较(与其他语言相反)
1)
print((3);print(x+'.'+y);
2)运行时错误或异常
primt(3);num1 +=1;print(5/0);
3)逻辑错误
求平均数,average=first+second/2;
正确的:average=(first+second)/2
我的手机 2018/10/14 18:19:15
分为顺序语句,判断语句(选择语句),循环语句
单分支
if(条件表达式):
语句
说明,
1)条件表达式:关系表达式,逻辑表达式,算数表达式
2)语句:可以是单个语句,也可以是多个语句,但如果是多个语句,要注意缩进
单个语句
>>>x=5
>>>y=6
>>>if(x>y)冒号没写
报错
多个语句
>>>x=1
>>>y=2
>>>if(x>y):
print('a')
else:
print('b')
b
>>>x=1
>>>y=2
>>>if(x>y):
print('a')
else:应该顶上
报错
>>>if(x>y):print('a')
else:print('b')
b
>>>if(x>y): print('a');else:print('b')
报错
无三元运算符
多分支
if(条件表达式):
语句
elif(条件表达式):
语句
…
else:
语句
if的嵌套
if(条件表达式):
语句
elif(条件表达式):
语句
…
else:
语句
范例:
计算两个数相处的结果,要除数为0时
循环分为for循环和while循环
名词解释:
1)可迭代对象:系列,字典,文件对象,迭代器对象,生成器对象
for循环的语法格式:
for 变量 in (对象集合):
>>>for i in (1,2,3,4,5):
print(i)
1
2
3
4
5
range对象:在Python3中,range对象表示一个迭代器对象,作用是用来产生指定的该迭代器数字序列
在Python2中,range它表示的是一个函数,为生成器。
range(start,stop,[step])
>>>for i in range(1,11,1):
print(i)
输出1—10
步长为一可以省略,开始数包含,终止数不包含,省略开始数时从0开始输出
>>>for i in range(10):
print(i,end=' ')
0 1 2…
>>>for i in range(10):
print(i,end='\t')
0 1 2…
while循环:
while(条件表达式):
语句
范例:打印九九乘法表
for i in range (1,10):
for j in range(1,10):
print (i,'*',j,'=', i*j,end='\t')
print(' ')
嵌套不允许超过三层
break,continue
Ctrl+C:终止当前运行的程序
for,while循环语句中可以增加else子句。如果for,while循环没有被break终止,则会执行else子句,否则不循环。
for循环
for 变量 in 对象集合:
语句
else:
语句
While循环:
while(条件表达式):
语句
else:
语句
haabbies=""
for i in range(1,3+1):
s=input("请输入爱好之一(最多三次,按Q结束)")
if s=='Q':
break
babbies+=s+' '
else:
print("你输入了三个爱好")
print("你的爱好为",habbies)
for i in range(5):
if(i==3):
pass
print('执行')
print(i)
1)用户登录,三次机会
字符串连接最好不要用+号,最好用,号
username=admin
password=123456
for i in range(3):
user=input('请输入账号')
passwd=input('请输入密码')
if user ==username and passwd==password:
#print('登录成功,欢迎,admin,的登录')
print('登录成功,欢迎%s的登录'%(user))
break
eliif i==2
print('对不起,你输入出错次数已经是三次了')
else:
print('帐号与密码不匹配')
2)猜数字
生成随机数方法:
import random
s=random.randint(1,100)
print (s)
import random
s=random.randint(1,100)
print ('猜数字')
num=input('请输入你猜测的数字'\n)
guess=int (num)
n=0
while n<2:
if guess==answer and n==0:
print('你真厉害,一次就猜对了')
break
if guess<answer:
print('不对,太小了')
elif guess>answer:
print('不对,太大了')
elif guess=answer:
print('对了')
num=input('请输入你猜测的数字\n')
guess=int(num)
n=n+1
if n==1 and guess==answer
print('么么哒,你第二次猜对了')
break
elif n==2 and guess==answer
print('你终于第三次猜对了')
break
print('你太笨了,游戏结束')
3)输入若干个学生的成绩,求出平均值,最大值和最小值
sAvg=0
sCnt=1
sScore=int(input('请输入一个同学的成绩:(-1表示结束)')
sMax=sScore
sMin=sScore
while sScore>=0:
sAvg=sAvg+sScore
sCnt=sCnt+1
if sScore>sMax:
sMax=sScore
if sScore<sMin:
sMin=sScore
sScore=int(input('请输入一个同学的成绩:(-1表示结束)')
print('计算出来的平均成绩是',sAvg/sCnt)
print('计算出来的最大成绩是',sMax)
print('计算出来的最小成绩是',sMin)
数据结构是用来存储和组织数据的方式,表示集合中的一种或多种特定关系
在Python中,常见的数据类型称为容器。序列(列表,元组),映射(字典),集合是三类主要的容器
数组都是一种数据结构,用来存储或者处理大量的数据。在数组中,通过索引下标进行访问操作
在Python中,没有数组这个东西。用系列数据类型来代替数组。
系列数据类型是python中最简单的数据结构,是一组有顺序的元素的集合。系列数据类型可以包含一个和多个元素,也可以包含空集合(没有元素)
系列数据类型包括:列表,元组,字符串,字节数据
序列的定义:把大量的数据按次序排列起来而形成的集合称为序列
所有的序列类型都可以进行某些特定的操作,这些操作包括:索引,分片,加,乘以及检查某个元素是否属于序列的成员,序列长度,最大元素,最小元素等操作
序列分类:按照顺序,有序序列,列表,元组,字符串
无序序列,字典,集合
按照序列内容变化,可变序列,列表,字典,集合
不可变序列,元组,字符串
列表是一组有序项目的数据结构。其中对象可以是任意类型,并不要求类型一致。
列表是数据类型,因此它可以进行添加,删除,修改等操作。
字面量创建
对象创建
推导式创建
推导式:专门用来生成满足特定需求的列表
语法格式:
表达式 for 变量 in 序列
范例:
>>>list1=[x*x for x in range(1,10)]
>>>list1
[1,4,9,16,25,36,49,64,81]
>>>list2=[I for I in list1]
>>>list2
[1,4,9,16,25,36,49,64,81]
>>>list3=[I for I in list1 if i%2==0]
>>>list3
[4,16,36,64]
列表的常见操作:索引访问,切片操作,连接操作,重复操作,成员关系操作,比较运算操作,以及求长度,最大值,最小值,求和等等。
下标只能是整数
>>>list1=[1,2,3,4]
>>>list1[0]
1
>>>list1[-1]
4
>>>list1[9]
index报错
>>>list1['a']
type错误
>>>list1[0]=10
>>>list1
[10,2,3,4]
>>>list1=[1,2,3,4]
>>>del list1[1]
>>>list1
[2,3,4]
>>>list2=[1,2,3,4,5,6]
>>>len(list2)
6
>>>max(list2)
6
>>>min(list2)
1
>>>sum(list2)
21
注意:max,min,sum在使用时必须是列表中元素类型统一,sum只有是数值求和时才能用
截取列表的一部分
s[i:j]
s[i:j:k]
i开始下标,j结束下标,k步长,不包括j
ijk可以省略,格式不能省略
i省略表示从0开始,j省略表示到结尾结束,k省略表示步长为1
超边界不报错
范例:
>>>list5=[1,2,3,4,5,6,7]
>>>list5[1:3]
[2,3]
>>>list5
[1,2,3,4,5,6,7]
>>>list5[:3]
[1,2,3]
>>>list5[:2]=[]
>>>list5
[3,4,5,6,7]
>>>del list5[:1]
>>>list5
[4,5,6,7]
连接+(只连接不去重)
重复*
>>>list6=[1,2]
>>>list7=[3,4]
>>>list6+list7
[1,2,3,4]
>>>list8=[1,2,3]
>>>list9=[3,4,5]
>>>list8+list9
[1,2,3,3,4,5]
>>>list10=[1,2,3]
>>>3*list10
[1,2,3,1,2,3,1,2,3]
in,not in,count()指定元素在列表中出现的次数,
index(x,[i,j])x指定元素,i开始位置j结束位置指定元素第一次出现的位置下标
>>>list1=[1,2,3,4,5]
>>>3 in list1
True
>>>list2=[1,2,3,3,4,5,3,3,5]
>>>list2.count(3)
4
>>>list2.index(5,5,8)
5
>>>list2.index(2)
1(省略ij,代表从头到尾)
>>>list2.index(9)
报错(如果不在直接报错)
>,>=,<,<=,==,!=逐个进行比较
范例:
>>>list1=['a','b']
>>>list2=['a','b']
>>>list3=['a','b','c']
>>>list4=['c','b','a']
>>>list1=list2
True
>>>
>>>list1<list3
True
>>>list4>list3
True
sorted()
>>>list5=[6,3,4,2,1]
>>>sorted(list5)
[1,2,3,4,6]
>>>list5
[6,3,4,2,1]
判断列表中的元素是否为true
>>>any([1,2,0])
True
>>>all([1,2,0])
False
>>>list1=['html','css','js']
>>>for i in list1:
print('序号:%s 值:%s '%(list1.index(i)+1,i))
序号:1 值: html
序号:2 值:css
序号:3 值:js
>>>for i in range(len(list1)):
print('序号:%s 值:%s'%(i+1,list1[i]))
>>>ab=[1,2]
>>>a,bc
报错
>>>a,b
(1,2)
>>>a
1
>>>b
2
>>>a,b,c=[1,2]
报错
>>> [1,2,3]
[1, 2, 3]
>>> temp=[1,2,3]
>>> temp
[1, 2, 3]
>>> data=[1001,'tom',[80,90,100]]
>>> sid,name,score=data
>>> name
'tom'
>>> sid
1001
>>> score
[80, 90, 100]
>>> sid,name,[chinese,english,math]=data
>>> chinese
80
>>> english
90
>>> math
100
>>> sid
1001
>>> name
'tom'
推导式:专门用来生成满足特定需求的列表
语法格式:
表达式 for 变量 in 序列
>>>list3=[I for I in list1 if i%2==0]
组表达式
>>>i=1
>>>[(i,i*2) for i in range(10)]
[(0,0,),(1,2),(2,4),(3,6),(4,8),(5,10),(6,12),(7,14),(8,16),(9,18)]
>>> x=1
>>> y=2
>>> z=3
>>> [(x,y,x+y+z) for x in range(1,4)]
[(1, 2, 6), (2, 2, 7), (3, 2, 8)]
>>> [(x,y,x+y+z) for x in range(1,4) for y in range(1,4) if x>=y]
[(1, 1, 5), (2, 1, 6), (2, 2, 7), (3, 1, 7), (3, 2, 8), (3, 3, 9)]
用来存储固定不变的值表,有序序列。
1.字面量的方式
(x1,x2,,,)
x1,x2,,,,
范例:
>>>t1=(1,2,3,4,5)
>>>t1
(1,2,3,4,5)
>>>t2=1,2,3,4,5
>>>t2
(1,2,3,4,5)
>>>t3=()
>>>t3
()
>>>t4=1
>>>t4
1
>>>t4=1,
>>>t4
(1,)
若元组只有一个元素,需要在元素后加逗号
多个元素也可以加,加不加效果一样
2.对象
tuple()
>>>t7=tuple(1,2,3,4,5)
报错
>>>t7=tuple([1,2,3,4,5])
>>>t7
(1,2,3,4,5)
>>>t8=tuple("abcde")
>>>t8
("a","b","c","d","e")
>>>t2=(1,2,'a')
>>>t2
(1,2,'a')
元素可以不一样
>>>u=('abc')
>>>v=u,(1,2,3)
>>>v
(('a','b','c'),(1,2,3))
>>>v[1][1]=10
报错
元组本身不能变,但是因为类型不同可能会变
>>> a=tuple("abc")
>>> w=a,[1,2,3]
>>> w
(('a', 'b', 'c'), [1, 2, 3])
>>> w[1][1]=10
>>> w
(('a', 'b', 'c'), [1, 10, 3])
与列表一样,索引访问,切片操作,连接操作,重复操作,成员关系操作,比较运算操作,求长度,最大值,最小值等等
>>>any((1,2,3))
True
>>>all((1,2,0))
False
>>> t=(1,2,3,4,5)
>>> for x in t:
print(x)
1
2
3
4
5
>>> for x in 3.13,5.12,6.77:
print(x)
3.13
5.12
6.77
>>> t1=(1,2)
>>> t2=(1,2)
>>> t3=(1,2,3)
>>> t1<t2
False
>>> t1<=t2
True
>>> t=(3,4,6,2,1)
>>> sorted(t)
[1, 2, 3, 4, 6]
>>> data=(1001,"张三",(100,90,89))
>>> sid,name,scores=data
>>> name
'张三'
>>> sid
1001
>>> scores
(100, 90, 89)
>>> sid,name,(chinese,math,english)=data
>>> chinese
100
>>> first,middle,last=(1,2,3,4,5,6,7,8,9)
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
first,middle,last=(1,2,3,4,5,6,7,8,9)
ValueError: too many values to unpack (expected 3)
>>> first,*middle,last=(1,2,3,4,5,6,7,8,9)
>>> first
1
>>> middle
[2, 3, 4, 5, 6, 7, 8]
>>> last
9
>>> *first,middle,last=(1,2,3,4,5,6,7,8,9)
>>> first
[1, 2, 3, 4, 5, 6, 7]
>>> middle
8
>>> last
9
*
去掉最高最低求均分
>>> first,*middle,last=sorted((67,56,87,23,45,90))
>>> sum(middle)/len(middle)
63.75
临时变量:_
>>>_,b_=(1,2,3)
>>>b
2
>>>_
3
>>>record=('tom','tom@163.com','0411-123456','123123123')
>>>name,_,*phones
>>>phones
['0411-123456','123123123']
>>>name,phones
('tom',['0411-123456','123123123'])
列表与元组相互转换
>>> t1=(1,2,3,4,5)
>>> list1=list(t1)
>>> list1
[1, 2, 3, 4, 5]
>>> list2=['a','b','c']
>>> t2=tuple(list2)
>>> t2
('a', 'b', 'c')
练习,输入一个数字,转换成中文数字
1234567890--->壹贰叁肆伍陆柒捌玖零
t1=('零','壹','贰','叁','肆','伍','陆','柒','捌','玖')
num=input('请输入数字'\n)
print(t1[int(num)])
方法一:
chinese_number=('零','壹','贰','叁','肆','伍','陆','柒','捌','玖')
number=input("请输入一个数字")
for i in number:
print(chinese_number[int(i)])
方法二:
chinese_number=('零','壹','贰','叁','肆','伍','陆','柒','捌','玖')
number=input("请输入一个数字")
dig_number=('0','1','2','3','4','5','6','7','8','9')
print(chinese_number[dig_number.index(number)])
方法三:
chinese_number=('零','壹','贰','叁','肆','伍','陆','柒','捌','玖')
number=input("请输入一个数字")
for i in range(len(number)):
if "." in number[i]:
print("点",end=" ")
else:
print(chinese_number[int(number[i])],end=" ")
1)字面量
>>>{'优':90,'良':80}
{'优':90,'良':80}
2)通过dict()方式
>>>dict1=dict([['优':90],['良':80],['中',70]])
>>>dict1
{'优':90,'良':80,'中':70}
把[]都换成()也可以
>>>dict3=dict(zip(['优','良','中'],[90,80,70]))
>>>dict3
{'优':90,'良':80,'中':70}
3)通过fromkeys()方式
4)推导式
键:值 for
>>> dict4={}.fromkeys(['优','良','中'],'大于60分')
>>> dict4
{'优': '大于60分', '良': '大于60分', '中': '大于60分'}
>>> dict5={}.fromkeys(['优','良','中'])
>>> dict5
{'优': None, '良': None, '中': None}
>>> dict6={}.fromkeys(['优','良','中'],None)
>>> dict6
{'优': None, '良': None, '中': None}
>>> dict7={n:n**2 for n in range(1,5)}
>>> dict7
{1: 1, 2: 4, 3: 9, 4: 16}
>>> dict3=dict(zip(['优','良','中'],[90,80,70]))
>>> dict3.get('优')
90
>>> dict3.get('差')
>>> dict3.get('差','键不存在')
'键不存在'
>>> dict3.get('优','键不存在')
90
>>> dict3['优']
90
items(),keys(),values()
>>> dict3.items()
dict_items([('优', 90), ('良', 80), ('中', 70)])
>>> dict3.keys()
dict_keys(['优', '良', '中'])
>>> dict3.values()
dict_values([90, 80, 70])
>>> for i in dict3.values():
print(i,end=",")
90,80,70,
>>> for i in dict3.items():
print(i,end=",")
('优', 90),('良', 80),('中', 70),
>>> for i in dict3.keys():
print(i,end=",")
优,良,中,
>>> for i in dict3:
print(i,end=",")
优,良,中,
>>> dict1={'No1':'Java','No2':'c','No3':'Python'}
>>> dict1
{'No1': 'Java', 'No2': 'c', 'No3': 'Python'}
>>> dict1['No4']='VB'
>>> dict1
{'No1': 'Java', 'No2': 'c', 'No3': 'Python', 'No4': 'VB'}
>>> dict1['No4']='php'
>>> dict1
{'No1': 'Java', 'No2': 'c', 'No3': 'Python', 'No4': 'php'}
>>> dict2={'No1':'Java'}
>>> dict3={'No2':'C','No3':'Python'}
>>> dict2.update(dict3)
>>> dict2
{'No1': 'Java', 'No2': 'C', 'No3': 'Python'}
>>> dict4={'No2':'c++'}
>>> dict2.update(dict4)
>>> dict2
{'No1': 'Java', 'No2': 'c++', 'No3': 'Python'}
del(),pop(),popitem(),clear()
>>>del(dict2['No2'])
>>>dict2
{'No1:'Java','No3':'Python'}
>>>del dict2
>>>del2
报错
>>> dict5={'No1': 'Java', 'No2': 'c', 'No3': 'Python', 'No4': 'VB'}
>>> dict5.pop('No1')
'Java'
>>> dict5
{'No2': 'c', 'No3': 'Python', 'No4': 'VB'}
>>> dict5.pop('No1')
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
dict5.pop('No1')
KeyError: 'No1'
>>> dict5.pop('No1','键不存在')
'键不存在'
>>> dict5.popitem()
('No4', 'VB')
>>> dict5.popitem()
('No3', 'Python')
>>> dict5
{'No2': 'c'}
>>> dict5={'No1': 'Java', 'No2': 'c', 'No3': 'Python', 'No4': 'VB'}
>>> dict5.clear()
>>> dict5
{}
1)字面量
{值}
值必须是固定的类型,字符串元组之类的,不可以是可变类型
>>>{1.2,True}
{True,1.2}
集合无序
>>>set1={'a',[1,2,3]}
报错
>>>set1={1,(1,2,3)}
不报错
2)通过对象创建 去重
set()参数最多是一个
frozenset()
范例:
>>> set1={'a',[1,2,3]}
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
set1={'a',[1,2,3]}
TypeError: unhashable type: 'list'
>>> set1={1,[1,2,3]}
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
set1={1,[1,2,3]}
TypeError: unhashable type: 'list'
>>> set1={1,(1,2,3)}
>>> set2=set('hello')
>>> set2
{'o', 'h', 'e', 'l'}
>>> set3=set([1,2,3,4,5])
>>> set3
{1, 2, 3, 4, 5}
>>> set4=set()
>>> set4
set()
>>> set5=set(1,2,3)
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
set5=set(1,2,3)
TypeError: set expected at most 1 arguments, got 3
3)推导式
>>> a=frozenset('hello')
>>> a
frozenset({'o', 'h', 'e', 'l'})
>>> {x*x for x in range(1,5)}
{16, 1, 4, 9}
>>> {1,True}
{1}
>>> {1,False}
{False, 1}
>>> {1,1.0}
{1}
>>> set1={1,2,3,6,7,8,5,4,9}
>>> for i in set1:
print(i,end=',')
1,2,3,4,5,6,7,8,9,
>>> 1 in set1
True
>>> set1={1,2,3}
>>> set2={2,3,4,5,6}
>>> set1
{1, 2, 3}
>>> set1|set2
{1, 2, 3, 4, 5, 6}
>>> set1&set2
{2, 3}
>>> set1-set2
{1}
>>> set1^set2
{1, 4, 5, 6}
>>> set1.union(set2)
{1, 2, 3, 4, 5, 6}
>>> set1==set2
False
>>> set1>set2
False
>>> set1<set2
False
>>> set1
{1, 2, 3}
>>> len(set1)
3
>>> len(set2)
5
>>> max(set2)
6
>>>set1.update(set2)
{1,2,3,4,5,6}
>>>set1={1,2,3,4,5}
>>>set2=set1.copy()
>>>set2
{1,2,3,4,5}
>>>set2[0]
报错
因为集合的无序性,不可以做切片操作
>>> str1="字符串str的编码和解码操作"
>>> b1=str1.encode(encoding='cp936')
>>> b1
b'\xd7\xd6\xb7\xfb\xb4\xaestr\xb5\xc4\xb1\xe0\xc2\xeb\xba\xcd\xbd\xe2\xc2\xeb\xb2\xd9\xd7\xf7'
>>> b1.decode()
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
b1.decode()
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 0: invalid continuation byte
>>> b1.decode(encoding='cp936')
'字符串str的编码和解码操作'
>>> "结果为:%f"