import sys
print(sys.version)
if 9 > 2:
#注释
x,y="html","5"
a=int(1.33)
print(type(a),a+a)
z=x+y
print("yytt "+z)
def u(z):
print("hellow,"+z)
u(z)
v=7e4
w=6j
print(type(v),type(w),v,"\n",w,"\n")
a="rddtfyfyftrvyv"
import random
print(random.randrange(1,10),a[2:6],len(a))
a=" AHh,Ffuf,hY "
print(a)
a=a.strip()
print(a)
a=a.lower()
print(a)
a=a.upper()
print(a)
a=a.replace("H","h")
print(a)
a=a.split(",")#分离
print(a)
#字符串查找
a="gsgwkxhxjvdjchcjwigddau"
s="ch" not in a
print(s,int(s),"查找")
print(s)
a=63
b="yyyy{1}yyy{0}"
c=b.format(a,s)
print(c)
print(bool(0))
print(bool("hellowword"))
"""检查对象是否是整数:"""
x=30
print(isinstance(x,int))
print(9**3)#幂函数
print(10//3) #取整除数
print(9/2)#取精确除数
print(2>1 and 1>2)
print(2>1 or 1>2)
print(not(2>1 and 1>2))
x=y=1
print(x is not y)
print("\n")
"""
Python 集合(数组)
列表(List)元组(Tuple)集合(Set)词典(Dictionary)
"""
"""{列表}"""
#数组查找
x=["hellow","yyuu","egheh"]
print(str("hellow" in x)+"yes")
if "yyuu" in x:
print("yes")
if (3>2)&(2>1):
print("打印列表","&")
if (3>2)|(2>1):
print("打印列表","l")
if (1>2)^(1>0):#有且仅一个ture
print("打印列表","^")
print(type(x))
#此例将返回从索引 -4(包括)到索引 -1(排除)的项目:
thislist=["win10","win11","win12","win13","win14"]
print(thislist[-4:-1],thislist[-1])
thislist[0]="win9"
print(thislist)
for x in thislist:
print(x)
if "win11" in thislist:
print("in it",len(thislist))
#extend() 方法用于将一个列表的所有元素添加到另一个列表的末尾。
#list1.extend(list2) #extend:拓展
#将项目添加到列表的末尾
thislist.append("win999") #append:附加
print(thislist)
#在指定的索引处添加项目
thislist.insert(0,"vs") #insert:插入
print(thislist)
#删除指定项目
thislist.remove("vs")
print(thislist)
#删除索引,未指定索引,则删除最后一项
thislist.pop()
print(thislist)
#reverse.相反,挫折
thislist.reverse()
num=thislist.count("win14")
print(thislist,num)
#del关键字删除指定的索引:
del thislist[-1]
print(thislist,"完成")
thislist.clear()
print(thislist)
#del 关键字也能.完整地.删除列表:
"""del thislist
print(thislist,"完成")"""
list1=[1,2,3]
list2=list1
list3=list1.copy()
list4=list(list1)
list1.remove(3)
print(list2,list3,list4,"\n")
"""{元组}"""
thistuple=("in","on","out")
print(thistuple)
#创建元组后,您将无法更改其值。元组是不可变的,或者也称为恒定的。
#把元组转换为列表即可进行更改:
thislist=list(thistuple)
thislist[0]="into"
thistuple=tuple(thislist)
print(thistuple)
tuple1=("a","b","c","d","e","c")
tuple3=tuple(tuple1)
#index:索引
a=tuple3.index("c")#在元组中搜索指定的值并返回它被找到的位置。
b=tuple3.count("c")#元组中指定值出现次数
"""{集合set}"""
thisset = {"apple", "banana", "cherry"}
print(thisset)
#集合是无序的,因此您无法确定项目的显示顺序。
#但是您可以使用 for 循环遍历 set 项目,或者使用 in 关键字查询集合中是否存在指定值
i=0
for x in thisset:
i+=1
print(str(i)+":"+x)
if x in thisset:
print("banana" in thisset)
thisset.add("orange")
print(thisset)
thisset.update(["grapes","mango","apple"])
print(thisset,len(thisset))
#记住要考
thisset.remove("apple")
print(thisset)#如果删除元素不存在会产生错误
thisset.discard("apple")
print(thisset)#不产生错误
#使用 pop() 方法删除最后一项:(由于set无序,将删除随机一项)
x=thisset.pop()
print(x,thisset)
thisset.clear()
print(thisset)
thisset.clear()
print(thisset)
del thisset
s1={"a","b","c"}
s2={"c","d","e"}
s3=s1.union(s2)
s1.update(s2)
print(s3,s1)
"""字典(Dictionary)"""
thisdict={
"name":"周文博",
"age":18,
"phonenumber":18397362878,
"地址":"517宿舍"
}
print(thisdict)
print(thisdict["name"])
print(thisdict.get("name"),"\n")
thisdict["name"]="@"
#如何格式化输出字典
for x in thisdict:
print(x,thisdict[x])
print("\n")
for x in thisdict.values():
print(x)
print("等效为")
for x in thisdict:
print(thisdict[x])
print("\n")
for x,y in thisdict.items():
print(x,y)
if "name"in thisdict:
print("yu")
print("name" in thisdict)
print(len(thisdict))
thisdict ["unknown"]="yu"
print(thisdict)
#pop删除一项
thisdict.pop("unknown")
print(thisdict,"留个飞雷神")
a=thisdict.popitem()#随机移除一项,以元组形式返回, 原字典还是字典
print(thisdict,type(thisdict),a,type(a))
del thisdict["age"]
print(thisdict)
#当然可以完整删除字典
#clear清空字典
print(thisdict.clear())
print(thisdict)
thisdict={
"样本一":"壹",
"样本二":"二",
"样本三":"三",
}
for x,y in thisdict.items():
print(x,y)
dict1=thisdict
dict2=thisdict.copy()
dict3=dict(thisdict)
thisdict.pop("样本一")
print(dict1,dict2,dict3)
#嵌套字典(代码略)
#dict() 构造函数
t=dict(a=1,b="2",c="3")
# 请注意,关键字不是字符串字面量
# 请注意,使用了等号而不是冒号来赋值
print(t)
y=tuple(["r","y"])
print(y)
"""#结束"""
x=5
if x>5:
print("yuan")
elif x<5:
print("shen")
else:
print("qidong")
a=3
b=3
c=2
print("A")if a>b else print("B")if a==b else print("C")
if a==b and a==c:
print("√")
else:
print("×")
if a==b:
pass
i=0
z=[]
while i<10:
i+=1
if i==3:
continue
z.append(i)
print(z,"循环已完成")
z.clear()
#for
list=["a","b","c","d"]
for x in list:
if x=="b":
continue
z.append(x)
print(z)
z.clear()
#
for x in "abcd":
if x=="b":
break
print(x)
#
for x in range(2,100,5) :
z.append(x)
else:
print(z)
z.clear()
#
for x in {"t","g"} :
pass#啥都不执行,占位作用
#
def read(t="yuwen"):
print(t+" shu")
read("shuxue")
read()
#
def red(red):
for x in red:
z.append(x)
print(tuple(z))
red(["yi","er","san"])
#如需使函数返回值,请使用 return 语句:
def int(x=0):
return x*9+1
print(int(5))
#
def r(r1,r2,r3):
return r2
print(r(r2="mm",r1="m",r3=2),r("mm","m",2))
#############
def r(*m):
print(m[2])
r(1,23,65,25,"g","u","n")
#############
def vss():
pass
#来个递归.优雅
def digui(x) :
if x>0:
num=x+digui(x-1)
print(num,end=" ")#可以不换行
else:
num=0
return num
digui(6)
###
#一个参数a并返回a +10的结果。
x=lambda a:a+10#lambda:λ
print (x(50))
x=lambda a,b:a*b
print(x(3,9))
x=lambda x,y,z:x+y*z
print(x(1,2,3))
def iny(x):
return lambda a:a*x
out=iny(9)
out2=iny(2)
print(out(10),out(20),out2(10),out2(20))
#Python 数组
#请注意,Python 没有内置对数组的支持,但可以使用 Python 列表代替
list1=["q","w","q"]
list2=["o","w","o"]
print(list1.extend(list2),list1,list2)
class thisclass:
x=7
print(thisclass.x)
class thisclass:
def __init__(a,name,age):
a.name=name
a.age=age
class1=thisclass("diona",12)
print(class1.age,class1.name)
class thisclass:#注意是有两个下划线的
def __init__(b,name,age,sex):
b.name=name
b.age=age
b.sex=sex
def y(a) :
print(a.sex+str(a.age))
p1=thisclass("zhou",18,"男")
print(type(p1.name))
p1.sex="女"
y(p1)
##4月14日,我重新归来
class good:
def __init__(a,b,c):
a.a1=b
a.a2=c
def cout(a):
print(a.a1,a.a2)
h1=good(1,"ᕕ(◠ڼ◠)ᕗ。")
h2=good(2,"Ciallo~(∠・ω< )⌒☆")
h1.cout()
h2.cout()
class bad(good):
def __init__(a,b,c,d):
super().__init__(c,d)
a.a3=b
def cout(jok):
print(jok.a3,jok.a2,jok.a1)
h3=bad(3,"´༥`",3)
h4=bad(4,"˶╹ꇴ╹˶",4)
h5=bad(5,"-w-",5)
h6=bad(6,"<(´⌯ ̫⌯`)>",6)
h3.cout()
h4.cout()
h5.cout()
h6.cout()
##以上作为序
class a:
def __init__(a,b):
a.s=b
def v(i):
print(i.s)
a1=a(1)
a1.v()
#子类
class b(a):
def __init__(a1,b1,c1):
super().__init__(c1)
b1=b(1,2)
b1.v()
##4月16日啦
#Python 迭代器
#1)__iter__ __next__
mytuple=("x","y","z")
num=iter(mytuple)
i=0
while i<3:
print(next(num),end=" ")
i+=1
ul="hellow world"
ual=iter(ul)
print("\n"+next(ual),end=" ")
i=0
while(i<11):
print(next(ual),end=" ")
i+=1
#2) for 循环遍历
#3) StopIteration停止迭代
class vivo:
def __iter__(a):
a.s=1
return a
def __next__(a):
if a.s<=20:
x=a.s
a.s+=1
return x
else:
raise StopIteration
v50=vivo()
for x in v50:
print(x,end=" ")
##3:43
#命名变量
x=1
def u():
x=2
print("\n"+str(x))
u()
print(x)
#global关键字可以局部转全局
def ul():
global x
x=3
print("x=",x)
ul()
print("x=",x)
"""
#模块 电脑好查路径
基本形式
#import mymodule as v #as可以为函数创建别名
#as.greeting("Bill")
在名为 mymodule.py 的文件中保存代码:
#def greeting(name):
#print("Hello, " + name)
几个内建模块
import platform #获取操作系统名称
x=platform.system()
print(x)
dir()函数 #列出模块中所有函数名
x=dir(所求模块)
print(x)
使用 from 关键字选择仅从模块导入部件
from platform import system
x=system()
print(x)
#ps:使用from关键字导入时,引用模块中的元素时不需要模块名称
"""
from platform import system #获取操作系统名称
print(system())
import datetime
x=datetime.datetime.now()
y=datetime.datetime(2024,4,16)#创建日期
print("北京时间:"+str(x))
print(x.year,x.month,x.day)
#strftime
print(type(x))
print(type(y.strftime("%A")))
print(y.strftime("%A"))#weekday
print(y.strftime("%B"))#月名称
print("\n")
#
#
"""JSON"""
#
import json
x='{ "name":"diinaka","age":"12","uuuu":"uuuu"}'
y=json.loads(x)
print(y["name"])
import json
mydic={
"1":11,
"2":12,
"3":13}
myjs=json.dumps(mydic)
print(myjs)
import json
gf={
"mylist":["dict","list","tuple","string","int","float","True","False","None"],
"mydic":{"year":"5",
"month":"8"},
"mynum":56
}
h=json.dumps(gf,indent=4,separators=("可改参数1" , "可改参数2"),sort_keys=1) #indent:缩进
print(h)
"""RegEx:正则表达式---检索数据"""
import re
txt="yes i think you are iinnnyes5yes6o9u8tyes right"
x=re.search("^yes.*right$",txt)
x=re.findall("[a-h]",txt)#以下称为元字符
print(x)
x=re.findall("y.*y",txt)
print(x)
x=re.findall("y.u",txt)
print(x)
x=re.findall("^ye",txt)
print(x)
x=re.findall("ght$",txt)
print(x)
x=re.findall("y.*t",txt)
print(x)
x=re.findall("in*",txt)#零次或多次
print(x)
x=re.findall("in+",txt)#一次或多次
print(x)
x=re.findall("in{1,2}",txt)
print(x)
x=re.findall("in|ou",txt)
print(x)
x=re.findall("\d",txt)
print(x)
x=re.findall("\D",txt)
print(x)#返回不含数字
#以下为特殊序列
x=re.findall("\Ayes",txt)#若在开头,返回此值
print(x)
x=re.findall(r"yes\b",txt)#r让Python理解为正则表达式而不是转义字符
print(x)
x=re.findall(r"\byes",txt)#yes在开头
print(x)
x=re.findall("yes",txt)
print(x)
x=re.findall(r"\Byes",txt)#排除yes在开头(中间或后面)
print(x)
x=re.findall("\s",txt)
print(x)
x=re.findall("\S",txt)
print(x)#返回除空白字符
newone=".uav69n56c.u2_bv,f@rxf"
x=re.findall("\w",newone)#包含任何单词字符
print("\n",x)
x=re.findall("\W",newone)
print(x)
x=re.findall("f\Z",newone)
print(x)
##SET类 懒得打了,编个函数
print("好了下面是函数运行的")
def u(hug):
x=re.findall(hug,newone)
print(x)
u("[a-d]")
u("[^avncb.]")#除avncb.
u("[56]")
u("[0-5][0-9]")
u("[a-zA-Z]")
txt="Aa Cb Ccc d ef"
#末尾均可以加入int类型数表示最大次数
x=re.split("\s",txt)
print(x)
x=re.sub("\s","替换",txt)
print(x)
#正则表达式查找以大写 "C" 开头的任何单词:
x=re.search(r"\bC\w+",txt)
print(x.span())
"""print(x.span() 返回的元组包含了匹配的开始和结束位置)
print(x.string 返回传入函数的字符串)
print(x.group() 返回匹配的字符串部分)"""
""" ## Python PIP ## """
#包,在电脑执行
#id="1"
"""python try except"""
try:
print(o)
except NameError:
print("NameError")
except:
print("ok")
else:
print("nothing wrong")
finally:
print("end")
"""x=1
if x>0:
raise Exception("出错了,挂了")
#exception:异常"""
"""x="hellow"
if not type(x) is int:
raise TypeError("格式错误")"""
##17日
"""x="your name is {1} age is {0:.1f} sex is {he}"
print(x.format(12,input(),he="男"))#多次引用相同值用索引号"""
x=open("1.txt","wt")#x为创建新文件,不存在输出错误
x.write("\none")
x.close
x=open("1.txt","at")
x.write("\ntwo")
x.close()
x=open("1.txt","rt")
print(x.read())
x.close()
import os
if os.path.exists("1.txt"):
os.remove("1.txt")
else:
print("no exists")
"""OK,python教程与学习学完,撒花"""