w解释语言
保留字:if else if else True False if and
x,y=y,x 交换
x,y=3,4
//取整
%取余
**平方
==比较 !=
and x>5 and x<10 #全对True
not
x<5 or x<10 #至少一个对 True
print(5+6) 11
print("5+6") 5+6
print("sum",end="\n")换行
#输入 input返回的都是字符串
num=input("输入整数")
num=int(input("输入"))//把字符串转换为int
eval(input(""))
eval(<字符串>)
x=1
eval("x+1") 执行并解释
2
value=eval(input("请输入"))
print(value*2)
print("3+5") 3+5
eval("3+5") print(3+5) 8
num1,num2=eval(input("请输入"))
sum=(num1+num2)
0-11
-1到-12
name='HELLO WORLD' 5/-7为空格
name[0]
is['oo','qq','pp']
is[1] qq
#引号
print('he said"good"') #1.内双外单/内单外双
print("he said \"let\'s go\"") #2.前加 \" 表后面的引号为单纯的引号
#字符串连接
print("hello "+"world"+"a")
greet="您好"
print(greet+"张三")
print(greet+"李四")
#换行
print("hello\nhi") #1.\n
print("""床前明月光
疑是地上霜
举头望明月
低头思故乡""") #2. """ """保留原有换行
#命名
#1.字母小写,_分隔
user_name
#2.UserName
#math库 建立python计算器
import math
print(math.sin(1)) #引用
print(math.log2(8))
#-x*x-2*x+3=0 #求根公式
a=-1 #求另外的方程 改abc即可
b=-2
c=3
print((-b+math.sqrt(b**2-4*a*c))/(2*a))
print((-b-math.sqrt(b**2-4*a*c))/(2*a))
#多行注释 """ """
#类型
#字符串 str ""或者''
print(len('www!!')) #字符串长度len
print("hello"[0]) #提取其中一个
#浮点数 flaot
#布尔bool True False
#空值类型 None
type(True) #返回类型 :bool
#条件语句
if[条件]:
执行语句
else:
执行语句
mood_index=int(input("心情指数"))
if mood_index>=60:
print("太好了")
else:
print("不好哦")
#条件嵌套
x=int(input("x="))
if x>8:#先看条件一
print("or")
elif x>7:#条件二
print("no")
elif x>6:#条件三
print("yes")
else:
print("hh")
语句块 if 条件 else 语句块
#for<变量> in range():
# 语句块
pets=['cat','duck','monkey']
for x in pets:
print(x,len(x))
cat 3
duck 4
monkey 6
#for 循环变量 in range (循环次数):
# 语句
sum=0
for i in range(10):#10表次数
#for i in range(1,10): 从1到10
sum=sum+i
print(i)
print(sum)
pets=['a','b','c']
pets[:4]
#pets[:]=pets[0:]=pets[:4]
#['a','b','c']
#break continue
sum=0
for i in range(1,11):
if i<=5:
continue
sum=sum+i;
print(sum)
#round(x[,n])
pi=3.1415
round(pi,2)#pi保留两位
#查看数据类型 type()
a=1
b=3.1415
c=True
print(type(a))
print(type(b))
print(type(c))
#round(x,n) x保留n位小数
b=3.1415
print(round(b,2))
p=[1,2,3]
print(3 in p) #3在(True)不在p里
print(4 in p)
print(4 not in p)
s=[1,2]
m=[4,5]
print(s+m) #连接
print(s*3) #把s复制n次
print(s[0],m[1]) #s索引对应值
print(len(s))
print(min(m))
print(max(s))
s=[1,2,3,4,5]
print(s[1:4]) #返回索引1到4(不包括4)的子序列
print(s[0:5:2]) #步数为2
#出现的总次数
s=[1,1,1,2,2]
print(s.count(1))
print(s.count(2))
print("a"+"b")#连接
print("hh"*3)#重复
print(len("happy"))#长度
print("happy"[3])#索引
print("happy"[1:3])#从索引1开始3结束(不包括3)
s="happy"
m="MYH"
print(s.upper())#大写
print(m.lower())
s=" hhh "
print(s.strip())#去掉两边空格
m="##happy##"
print(m.strip('#'))#去掉两边指定字符
p="m,y,h"
print(p.split(','))#按指定字符分隔字符串
o=["m","y","h"]
print("-".join(o))#连接
s="myu"
print(s.replace("u","h"))#替换
q="myh"
print(q.find("yh"))#查找起始位置
#列表
#append()在列表末尾加
#insert()在列表中间加
Is=["a","b"]
Is.append("c")
Is.append([1,2])
print(Is)
print(Is[2],Is[3][1])
print(Is[1:4])
Is.insert(1,"i")
print(Is)
#list列表
list=['a','b',2,3]
print(list[2])
list[2]=4#改
print(list)
del list[2]#删
list.remove(3)#删
print(list)
#remove 删除
q=[1,2,2022]
q.remove(2022)
print(q)
#list.count(x)
list=["a","b","a"]
set(list)#去重复 set()
#字典
q={'name':'Alice','age':10,'gender':'Female'}
print(q['gender'])
q['name']='Apple'#改
q.update(app=12)#加
print(q)
q['height']=170#加
print(q)
del q['age']#删
print(q)
q.clear()#清空
print(q)
#set 无序
q={"a","b","c"}#加update
q.update({1,2},[3,4],[5,6])#加
print(q)
q.remove("a")#删
q.discard("b")#删
q.add("d")#加
print(q)
#函数
#def<函数名>(<形参>):
# <函数体>
# return<返回值列表>
def myfun():
print("hh")
myfun()
def area(width,height):
z=width*height
return z
print(area(2,3))
def hh(a,*p):#不定长参数前加*
print(a)
print(*p)
hh(1,2,3)
def qq(x,*y,z):#不定长参数在中间:后面必须要写z=?
print(x,y,z)
qq(1,2,3,4,5,z=7)
def ss(n,**m):#两个**以字典传入
print(n)
print(m)
ss(1,a=2,b=3)
#匿名函数lambda 一行
fun=lambda x,y:x+y
res=fun(2,3)
print(fun)
##判断n是否为素数
import math
def is_prime(n):
x=True##不能在上面当全局变量 不然改不了了
for i in range(2,int(math.sqrt(n))+1):##把浮点数转为整数
while n%i==0:
x=False
break##跳出循环
print("yes"if x else"no")##if x:
n=int(input())
is_prime(n)
##随机生成10个数
import random
random.seed(123)##使每次一样
for i in range(10):##生成10个
print(random.randint(1,999),end=",")
#判断输入字符串中数字 字母 空格 其他数
def count(s):
digit=0
letter=0
space=0
other=0
for char in s:
if char.isdigit():
digit+=1
elif char.isalpha():
letter+=1
elif char.isspace():
space+=1
else:
other+=1
return digit,letter,space,other
s=input("请输入字符串:")
digits,letters,spaces,others=count(s)
print(f"数字{digits}")
print(f"字母{letters}")
print(f"空格{spaces}")
print(f"其他{others}")
#判断字符串是整数浮点数复数返回True,否则FalseS
def isNum(s):
try:
int(s)
return True
except ValueError:
try:
float(s)
return True
except ValueError:
try:
complex(s)
return True
except ValueError:
return false
test=["123","1.1","3j"]
for case in test:
print(f"{isNum(case)}")dabbddbab/;
#class 类名:
# def 方法名(self,参数列表):
# 语句
class Person:#类名首字母大写
pass
p1=Person()#创建对象:调用构造方法
class Student:
def info(self):#self是当前对象
print(a)
stu1=Student()
stu1.info()
#@staticmethod静态方法
class Person:
salary=2000000#类属性 可通过Person.salary访问
def __init__(self,name,age):
self.name=name
self.age=age
def say_hi(self):
print('请叫我',self.name)
@staticmethod
def c_f(c):
c=float(c)
f=c*2/3
return f
p3=Person("tom",20)
print(p3.c_f(3))
#算圆周长面积
class Circle:
def __init__(self,radius):
self.radius=radius
def sarea(self):
return 3.14*self.radius**2
def cc(self):
return 2*3.14*self.radius
circles=[]
for i in range(3):
print(f"当前录入第{i+1}个圆信息")
r=float(input("请输入半径"))
circle=Circle(r)
circles.append(circle)#append函数:将元素添加到列表末尾 将Circle对象circle添加到列表circles中
for idx,circle in enumerate(circles,1):
area=circle.sarea()
c=circle.cc()
print(f"第{idx}个圆,半径{circle.radius},面积{area:.2f},周长{c:.2f}")#:.2f控制小数点后几位
#继承
class a:
class b(a):
class c(b):
#split
print('a b c'.split(' '))
print('a b c'.split(' ',1))#拆一次
#去除首尾字符
'<a href=换行>'.strip('<a href=>')
'\r\t<hh>\n\t '.strip()
#replace
print('hh'.replace('h','b'))
#格式控制标记:填充
print('{1:*<10}有{0:,}人口,占世界{2:.1%}d的土地'.format(130000000,'中国',0.0072))
print('hh\nkk')
print('12\t34')
#正则表达式
#a..b 由a开始b结束的四个字符字符串
#| 或
#[abc] 'a','b','c'
#[a-z]a-z任意
#1-5 1-5任意
#* abc* 前一个字符0或多次重复
#+ abc+ 前一个字符1或多次重复
#? 前一个字符0/1次重复 abc? ab/abc
#[^] 非 [^abc] 不是a,b,c的其他字符
#{n} ab{2}c abbc
#{a,b} 前一个字符扩展m-n次 ab{2,4} abbc/abbbc/abbbbc
#x{n,} 至少n次x
#^abc abc在字符串开头
#(|)
#\s [\t\v\n\f\r]
#\d [0-9]
#\D [^0-9]
#\w [a-z0-9A-Z_]
import re
pattern=re.compile('画质.*[好差]')
comments='相机自动模式画质好,但夜景模式画质差'
pattern.search(comments)
import re
text="电话13811261512,邮箱13811261512@163.com"
phone=re.search(r"\d{11}",text).group()
print(phone)
email=re.search(r"\w+@\w.\w+",text).group()
print(email)
#索引
a=np.array([[1,2,3],[4,5,6]])
print(a[0,1])
print(a[1,:2])