Python语句基础:
print语句:
#输出表示法
a=2
b=1
print(a,b)
print("aaa","bbb","ccc")
print("www","baidu","com",sep=".")
print("一班有%d个学生"%a)
print("aa",end="")
print("bbb",end="\t")
print("ccc",end="\n")
print("-"*3)#打印出的结果:---
print(type(a)) 这是查看a的类型;
input语句:
#输入表示法
password=input("请输入密码:")
'''
print("刚刚输入的密码为:%s",password)
注意:这里password是字符串型的,若要变为其他类型可强制转换
'''
c=int(input("输入:"))
'''
print("刚刚输入的密码为:%d",c)
'''
等于“==”,不等于“!=”;
if true: #也可以是 if 1:
print("true")
else :
print("false")
print("end")
#条件语句嵌套
if true:
a=1
else :
if true:
a=2
else :
a=3
#多重条件
if a >= 1 and b >= 1:
print("1")
elif a >= 1 and b <= 1:
print("2")
elif a <= 1 and b >= 1:
print("3")
else: #elif a <= 1 and b <= 1
print("4")
最好用tab健缩进,相同层次相同的缩进,如上图:条件语句结束时输出“end”;
import random 引入随机库;
import random
x = random.randint(0,2) #随机生成[0·2]的随机数,包含0,1,2这三个数字
print(x)
循环语句:
for i in range(5): #意思为C语言中的for(i=0;i<5;i++)
print(i)
'''
0
1
2
3
4
'''
for i in range(0,10,3): #意思为C语言中的for(i=0;i<10;i+=3)
print(i)
'''
0
3
6
9
'''
for i in range(-10,-100,-30): #意思为C语言中的for(i=-10;i<100;i-=30)
print(i)
x="chengdu"
for x in name:
print(x)#默认换行
'''
c
h
e
n
g
d
u
'''
#列表
a=["aa","bb","cc","dd"]
for i in range(len(a)):
print(i,a[i])
'''
0 aa
1 bb
2 cc
3 dd
'''
i=0
while i < 5 :
print("i=%d"%i)
i+=1
'''
i=0
i=1
i=2
i=3
i=4
'''
count=0
while count<5
print(count,"小于5")
count+=1
else :
print(count,"大于或等于5")
'''
0 小于5
1 小于5
2 小于5
3 小于5
4 小于5
5 大于或等于5
'''
break语句可以跳出for和while的循环体
continue语句跳过当前循环,直接进入下一轮循环
pass是空语句,一般用做占位语句,不做任何事情
字符串
str="chengdu"#0123456
print(str)
print(str[0])
print(str[0:5])
print(str[1:7:2])#[起始位置:结束位置:步进值],注意是[起始,结束)
'''
chengdu
c
cheng
hnd
'''
print([:5])
print([5:])
'''
cheng
du
'''
print(str+",你好")
print(str*3)
'''
chengdu,你好
chengduchengduchengdu
'''
print("hello\nchengdu")#使用转义字符'\'的功能
print(r"hello\nchengdu")#直接显示原始字符串,不进行转义
'''
hello
chengdu
hello\nchengdu
'''
字符串的常见操作
bytes.decode(encoding="utf-8",errors="strict") 给编码解码
isalnum()
isalpha()
isdigit()
isnumeric()
join(seq)
len(string)
列表(List)---数组理解
namelist=[]#定义一个空列表
namelist=["xiao","zhang","wang"]
print(namelist[1])
testlist=[1,"ceshi"]#列表中可以存储混合类型,1是int,ceshi是字符串
#打印1
for name in namelist:
print[name]
print(len(namelist))
#打印2
lenth=len(namelist)
i=0
while i<lenth:
print(namelist[i])
i+=1
list[n:m:p]#列表的切片
nametemp=input("请输入添加学生的姓名:")
namelist.append(nametemp)#在末尾追加一个元素
#但是要注意的是
a=[1,2]
b=[3,4]
a.append(b)#列表的嵌套,把b作为一个元素加入列表
a.extend(b)#将b列表中每一个元素逐一追加到列表中
print(a)
'''
[1,2,[3,4]]
[1,2,[3,4],3,4]
'''
a=[0,1,2]
a.insert(1,3)#第一个变量表示下标,第二个表示元素对象
print(a)
'''
[0,3,1,2]
'''
#删
movieName=["www","ttt","uuu","rrr"]
del movieName[2]#指定位置删除一个元素
print(movieName)
'''
www
ttt
rrr
'''
movieName.pop()#弹出末尾最后一个元素
movieName.remove("ttt")#直接删除指定内容的元素
#改
namelist[1]="xxx"#修改指定下标的元素内容
print(namelist)
'''
xiao
xxx
wang
'''
#查
findName=input("请输入你要查找的学生姓名:")
if findName in namelist:#内部已经帮你循环一遍了
print("yes")
else
print("0")
mylist=["a","b","c","a","b"]#0-4
print(mylist.index("a",1,4))#起点是1,终点是4,可以找到对应数据的下标
print(mylist.index("a",1,3))#注意:范围区间左闭右开,即[1,3),且找不到就报错,可捕捉异常来处理
'''
3
'报错'
'''
print(mylist.count("c"))#统计某个元素出现几次
a=[1,4,2,3]
a.reverse()#将列表所有元素反转(且是改变了本身不是临时)
a.sort()#默认排序且为升序
a.sort(reverse=True)#降序排列
#嵌套
#schoolName=[[],[],[]]#三个元素为三个空列表
schoolName=[["北京大学","清华大学"],["南开大学","天津大学","天津师范大学"],[]]
print(schoolName[0][0])
'''
北京大学
'''
元组
tup1=()#空元组
tup2=(50)#不是元组
print(type(tup1),type(tup2))
'''
<class 'tuple'> <class 'int'>
'''
tup3=(50,)#一个数值时的元组表达
tup4=(50,60,70)
tup1=("abc","def",2000,2020)
print(tup1[0])
print(tup1[-1])#访问最后一个元素
print(tup1[1:5])#左闭右开的进行切片
'''
abc
2020
('def',2000,2020)
'''
#增
tup1=(12,34,56)
tup2=("abc","xyz")
tuo=tup1+tup2#新建元组来连接两个元组
print(tup)
'''
(12,34,56,'abc','xyx')
'''
#删
tup1=(12,34,56)
del tup1#删除整个元组变量
#改
tup1=(12,34,56)
tup1[0]=100#报错,不允许修改
字典
info={"name":"吴彦祖","age":18}
print("键值对为:%s"%info)
print(info["age"])
'''
键值对为:{"name":"吴彦祖","age":18}
18
'''
print(info["gender"])#访问不存在的键报错
print(info.get("gender"))#使用get方法,没有找到对应的键,默认返回:None
print(info.get("gender","m"))#没找到时可设定默认值
print(info.get("age","20"))
'''
None
m
18
'''
#增
newID=input("请输入新学号:")
info["id"]=newID
print(info["id"])
'''
1
'''
#删
del info("name")#删除的是整个键值对
print(info["name"])#再访问该键值对会报错
del info#删除整个字典,再访问就报错
info.clear#清空
print(info)
'''
{}
'''
#改
info["age"]=20
print(info["age"])
#查
print(info.keys())#得到所有的键(列表)
print(info.values())#得到所有的值(列表)
print(info.items())#得到所有的项(列表),每个键值对是一个元组
for key in info.keys():
print(key)
for value in info.values():
print(value)0
for key,value in info.item():
print(key,value)
list=["a","b","c","d"]
for i,x in enumerate(list):#使用枚举函数,同时拿到列表中的下标和元素内容
print(i,x)
'''
0 a
1 b
2 c
3 d
'''
set集合可去重 s=set([1,1,2,3,3]) s为{1,2,3}
是否有序 | 是否可变类型 | |
---|---|---|
列表[ ] | 有序 | 可变类型 |
元组( ) | 有序 | 不可变类型 |
字典{ } | 无序(指键值对) | key不可变 val可变 |
集合{ } | 无序 | 可变类型(不重复) |
def 函数名():
def printinfo():#函数的定义
print("!")
printinfo()#函数的调用
def addNum(a,b):#带参数的函数
c=a+b
print(c)
addNum(11,22)
def add2Num(a,b):#带返回值的函数
return a+b
result=add2Num(11,22)
def divid(a,b):#返回多个值的函数
shang=a/b
mod=a%b
return shang,mod
sh,yushu=divid(5,2)
#文件操作
f=open("test.txt","w")#打开文件,w模式(写),文件不存在就新建
f.close()#每次打开都要记得关闭文件
f1=open("test.txt")#默认模式(只读),若不存在则报错
f.write("hello world,i am here!")#将字符串写入文件中
f2=open("test.txt","r")
content=f.read(5)#执行一次移动指定(这里是5)位,开始时定位开头
print(content)
content=f.read(5)
print(content)
'''
hello
worl
'''
f3.write("hello world,i am here!\nhello world,i am here!\n")
content=f3.readlines()#一个文档全部读完,文件读取的是列表
'''
['hello world,i am here!\n','hello world,i am here!\n']#一个元素的列表
'''
content=f.readlines()#一次性读取全部文件为列表,每行一个字符串元素
i=1
for temp in content:
print("%d:%s"%(i,temp))
i+=1
'''
1:hello world,i am here!
2:hello world,i am here!
'''
f3.write("hello world,i am here!--1\nhello world,i am here!--2\n")
content=f3.readline()
print("1:%s"%content,end="")
content=f.readline()
print("2:%s"%content,end="")
'''
1:hello world,i am here!--1
2:hello world,i am here!--2
'''
import os
异常
try:
print("1")
f=open("123.txt","r")#用只读模式打开了一个不存在的文件,报错
print("2")#这句代码不会被执行
except IOError:#文件没找到,属于IO异常(输入输出异常)
pass
'''
1
'''
#捕捉异常
try:
print(num)
#except IOError:#这是因为异常类型想要被捕获需要一致
# print("3")
#'''
#(报错)
#'''
except NameError:
print("4")
'''
4
'''
#多个错误
try:
print("1")
print(num)
print("2")
f=open("123.txt","r")
print("3")
except (NameError,IOError) as result:
print("4")
print("result")
'''
1
4
name 'num' is not defined
'''
捕获所有的异常: except Exception as result:
#try...finally嵌套
try:
f=open("123.txt","r")
try:
while true:
content=f.readline()
if len(content)==0
break
time.sleep(2)
print(content)
finally:
f.close()
print("文件关闭")
except Exception as result:
print(result)
#finally:
# f.close()
# print("文件关闭")#由于在try外面没有f.close()