当前位置: 首页 > news >正文

鲜花网站建设教程江东seo做关键词优化

鲜花网站建设教程,江东seo做关键词优化,文字游戏做的最好的网站,甜品网站网页设计代码这一节总结点demo和常用知识点 目录 有关字符串格式化打印的 lambda匿名函数,,将匿名函数作为参数传入 文件读写 生成器 python的装饰器 简单的网站代码: 有关三元运算 推导式: 新浪面试题: 有关面向对象里…

这一节总结点demo和常用知识点

目录

有关字符串格式化打印的

lambda匿名函数,,将匿名函数作为参数传入

文件读写

生成器

python的装饰器

简单的网站代码:

有关三元运算

推导式:

新浪面试题:

有关面向对象里面三种方法


有关字符串格式化打印的

name="asas"
age=12
print(f"我是:{name},年龄:{age}")  f-string
print("我是:",name,"年龄:",age)
print("我是:{},年龄:{}".format(name,age))  format
print("我是:%s,年龄:%d"%(name,int(age)))  格式化print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

把函数当做参数传给函数,,直接形参就随便一个变量名就行,只要你想,他就可以代表一个函数,

记住对于python的函数参数名来说,他可以代表任何的数据类型,只是看你用啥往进传就可以,

def  fun(a)   ->  我这个a可以代表函数,字符串,列表 ,元组啥的 字典的话就得**a了,,不过写a的话字典就能传进去一组kv

def func(name,**age):print(name,age)def funs(grade,fx):print(grade)fx(12,李四='aa',sad=12)print(type(fx))funs(5,func)

lambda匿名函数,,将匿名函数作为参数传入

格式是:  lambda 参数 : 函数体 (只能写一行)

def test_func(com):print(f"结果是:{com(1,2)}")#lambda匿名函数,,将匿名函数作为参数传入
test_func(lambda x,y:x+y)

文件读写

fd=open("D:/xxt.txt","r",encoding="UTF-8")#read 里面可以指定具体读多少字节
#读方法每次读都是从上个位置后面开始,调用一次读完,再调用
#指针在最后面,读的话就没东西了
print(f"读取全部内容:{fd.read()}")
print(f"读取全部内容:{fd.read()}")
print(f"读取全部内容:{fd.readlines()}")
#readlines读取文件全部行,能读到换行符,并封装到列表中
#readline 一次读一行 
for line in fd:print(f"读取一行内容:{fd.readline()}")fd.close()#关闭文件with open("D:/xxt.txt","r",encoding="UTF-8") as f:  #自带close

做一个小案例,。。要不说python方便 ,案例是打开文件统计一下里面Python3的个数

方法1:

with open("D:/xxt.txt","r",encoding="UTF-8") as f:  #自带closenum=f.read()print("Python3的数量是:",num.count("Python3"))

方法2:

strip()去除开头和结尾的空格和换行符

Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

ans=0
with open("D:/xxt.txt","r",encoding="UTF-8") as f:  #自带closefor line in f:ls=line.strip() #去除开头尾巴空格 换行符print(ls)words=ls.split(" ")  #以空格分割for word in words:if word=="Python3":ans+=1
print(ans)

写的操作的话就是write,w文件不存在就创建,存在清空重新写,a直接给内容追加

生成器

有yield的就是生成器,你去调用的话这个函数不会运行的,需要你next和for去用

用好yield可以很好的节省内存,做优化;用多少拿多少

生成器函数:yield   函数里的东西 一点点返还给你,碰到yield就暂停了

next(生成器对象)会从上次yield位置继续往下走

#生成器函数
def func():print("进来了")yield 11  #返回一个11 用next接受#走到yield 冻结了,要往下执行,需要继续调nextprint("又来了")yield 22print("最后一次")yield 33gen=func()v1=next(gen)
print(v1)v2=next(gen)
print(v2)v3=next(gen)
print(v3)
#生成器函数
def func():print("进来了")yield 11 yield 22print("最后一次")yield 33gen=func()
for it in gen:print(it)def create_big_num(maxnum):start=0while True:yield startstart+=1if start==maxnum:returnobj=create_big_num(10)
for its in obj:print(its)

python的装饰器

@...语法糖

装饰器就是拓展一个函数的功能,info就像一个参数被outer的func接收,进到outer里面,有个inner函数,开始执行inner,而res接收func,其实就是接收info的执行结果,所以里面info这个函数被调用,最后返回info结果,返回inner结果。一层套一层这样,outer就是这个装饰器,inner函数是具体内容实现,内部调用info函数

结果就是before,info,after

def outer(func):def inner():print("before")res=func()print("after")return resreturn inner@outer
def info():print("info")info()

没有@这个语法糖,上面调用 的话就得这么写

ans=outer(info)
ans()

其实就等于 逻辑上的,ans=inner

换句话说,其实使用装饰器的是,默认传入的参数就是被装饰的函数

#语法糖
@xxx() #@函数名
def ss():pass调用ss()
python内部会自动执行 xxx(ss),执行完之后把结果赋值给ss
等于ss=xxx(ss)
xxx就充当了装饰器,形成了闭包

提一嘴有关py的作用域,全局变量在局部里面,只能去读,或者修改内部元素(也是能是可变的类型,,比如列表等等),,注意是不能赋值的,。如果要赋值,需要在局部里面给变量标识globol,标志他是全局的变量

局部和全局同名,局部内部操作,优先是局部,,如果找不到才会往上一级去找

lis=[1,2,3,4,"你好"]
print(lis)
def sis():lis=[5,5,5,"sas"]lis[0]="jk"print(lis)lis.append("再见")print(lis)sis()
print(lis)

只能修改,可变类型的

lis=[1,2,3,4,"你好"]
print(lis)
def sis():lis[0]="jk"print(lis)lis.append("再见")print(lis)#下面两个报错#lis=[5,5,5]#print(lis)sis()
print(lis)
lis={1,2}
print(lis)
def sis():lis.add("sas")print(lis)#下面两个报错#lis=[5,5,5]#print(lis)sis()
print(lis)

简单的网站代码:

from flask import Flaskapp=Flask(__name__)def index():return "首页"def info():return "中心"app.add_url_rule("/index/",view_func=index)
app.add_url_rule("/info/",view_func=info)app.run()

运行:

 

有关三元运算

三元运算和lambda可以实现简单的函数

lambda只能写一行,三元运算可以进行简单的条件判断

             三元运算 # true    if  条件  else  falsefunc=lambda x: "大了" if x>66 else "小了"print(func(1))print(func(99))

 内置排序

推导式:

列表,字典,集合都可以,直接就生成了对应数据

而对于元组用推导式,生成的是生成器对象,,需要用next或者for去使用

num_list=[i for i in range(10) if i>6]
num_list=[(i,i) for i in range(10) if i>6]
print(num_list)num_set={i if i%2 else -i for i in range(10)}
print(num_set)

exp:

dis={'opi':"光头强",'is':"熊大",'lp':"熊二",'498':"美羊羊"}res=sorted(dis.items(),key=lambda x:x[0])
print(res)
data="%".join(["{}={}".format(key,value) for key,value in res])
print(data)

新浪面试题:

dip=[lambda x:x+i for i in range(10)]#i变成9最后
v1=dip[0](100)   #执行到这  才去lambda x+i这块执行函数
v2=dip[3](100)  
print(v1,v2)  #都是109   

包文件夹都会有个__init__.py这个主要就是说明这个包是干嘛的,,py2里面必须有,py3里面可以不需要,,建议弄包的时候都创建这么个文件

对于导入包来说,想要导入任意的包怎么办?

#添加到python的内置路径位置
import sys
sys.path.append("想要添加的路径")

注意:写模块名称的时候不能和内置模块重名

有关面向对象里面三种方法

类方法(传类),绑定/实例方法(传对象),静态方法(不用传类或者对象去调用)

其实对于三种方法来说,类和对象都是可以去调用的,只不过依情况而定

一般而言,用对象去调用绑定方法;类去调用类方法;类去调用静态方法

 

http://www.khdw.cn/news/25598.html

相关文章:

  • 做网站 写文章怎样加视频正规职业技能培训机构
  • 企业服务云北京seo分析
  • 做app网站建设网络营销培训
  • 上海网站建设设计西安网络推广公司网络推广
  • 搭建网站公司哪家好小辉seo
  • 网站推广做百度还是360佛山网站建设维护
  • 票务系统网站模板百度地图收录提交入口
  • 什么查网站是否降权公司网站如何制作设计
  • 培训教育行业网站建设方案著名的营销成功的案例
  • 个人做网站设计成年学校培训班
  • wordpress 表单 验证码长沙网站seo优化公司
  • 做网站的公司合肥百度知道app官方下载
  • 谢岗仿做网站云搜索神器
  • 德国和俄罗斯和做视频网站厦门谷歌seo公司有哪些
  • 特色专业建设展示网站四川游戏seo整站优化
  • 网站建设的步骤教程视频教程地推团队如何收费
  • 优化网站seo策略长春网站建设推广
  • idc网站是用什么语言做的搭建一个app平台需要多少钱
  • 中国建设银行官方网站首页2023年火爆的新闻
  • wordpress主题包东莞seo管理
  • 湖北seo网站设计百度搜索热度指数
  • 网页搜索栏隐藏了昆明seo建站
  • 网站建设华为推广网络广告
  • 仿租号网站源码网站开发自己如何制作一个网页
  • 企业网站建设过程建站系统源码
  • 荔湾网站制作太原seo外包平台
  • 池州网站制作公司今天特大军事新闻
  • 建什么网站赚钱seo收录排名
  • 武汉网站推广设计网络营销推广方式案例
  • 企业网站托管哪家好百度客服中心电话