内置函数
装饰器

函数没有返回值,默认返回NONE
参数传递时是引用

li = [11,22,33,44]
def f1(arg):
    li.append(55)   #没有返回值,所以返回NONE

li = f1(li)    #这只是引用

print(li)

#返回结果
None

li = [11,22,33,44]
def f1(arg):
    li.append(55)   #没有返回值,所以返回NONE

#li = f1(li)
f1(li)    #执行函数
print(li)

#返回结果
[11, 22, 33, 44, 55]

f2="fdsfsa"

callable  判断是否被调用

#chr()    #把数字转成字母,必须ascii表里有
#ord()    #把字母转成数字,必须ascii表里有

r = chr(65)    #数字转字母,ascii表里有
print(r)

n=ord("a")     #字母输数字,ascii表里有
print(n)

#生成随机数
import random    #随机产生数字,randrange给范围
i = random.randrange(1,5)    #在1和5的范围内随机生成,但不包括5
print(i)

#数字转字母,随机生成
i  = random.randrange(65,91)
c = chr(i)
print(c)

#生成六位字母随机码
import random
li = []
for i in range(6):        #循环六次,生成六位
    temp  = random.randrange(65,91)
    c = chr(temp)
    li.append(c)

print(li)    #
result = "".join(li)   #join拼接,合并成字符串输出
print(result)

['E', 'X', 'Q', 'U', 'H', 'K']
EXQUHK

#固定位置生成数字
#只在第2和第4元素位生成随机数字(其实是字符串)
import random
li = []
for i in range(6):        #循环六次,生成六位
    if i == 2 or i == 4:  #固定位置生成数字
        num  = random.randrange(0,10)    #在1到10的范围内随机生成数字
        li.append(str(num))    #为什么要转成字符串,因为join合并要求必须是字符串
    else:
        temp = random.randrange(65,91)
        c=chr(temp)
        li.append(c)

result = "".join(li)   #join拼接,合并成字符串输出(元素必须是字符串)
print(result)

#随机数字和字母验证码
import random
li = []

for i in range(6):       #循环六次,生成六位
    r = random.randrange(0, 5)
    if r ==2 or r == 4:
        num = random.randrange(0, 10)
        li.append(str(num))
    else:
        temp = random.randrange(65, 91)  
        c = chr(temp)
        li.append(c)

result = "".join(li)       #join拼接,合并成字符串输出(元素必须是字符串),
print(result)

#compile()   #把字符串编译成python代码,exec eval 执行
#eval()   #只能执行表达式,有返回值,并获取结果
#exec()   #接收代码或字符串,没有返回值,拿不到结果。

#exec 用法1
s = 'print(123)'

#编译,single,eval,exec
#把字符串编译成python代码
r = compile(s,'<string>','exec')        #编译字符串

#执行python代码
exec(r)             #执行

返回结果
123

#exec 用法2
s = 'print(123)'   #这里加了print,exec会把123返回,因为exec把s看为整体,执行了print

r = compile(s,'<string>','exec')  
k = exec(r)
print(k)     #这个操作会返回None,证明exec只接收不返回值

返回结果
123
None

#eval 计算乘法
s = "8*8"
print(s)
ret = eval(s)      #字符串转为python代码计算,并返回值,但只接收表达式
print(ret)    
#print(eval(s))   #同上

返回结果
64

#exec 和eval 不同之处
print(exec("7+9+8"))    #exec 没有返回值,所以返回NONE
ret = eval("7+9+8")        #eval 有返回值,并获取结果,但只接收表达式
print(ret)

返回结果
None
24

#dir()   #快速查看对像提供那些功能

print(dir(list))

#查帮助
help(list)

#共:97页,每页显示10条,需要多少页

#算商和余数
r  = divmod(97,10)
print(r)
(9, 7)     #结果是商9,余7

r = divmod(100,10)   #整除,商10,余0
print(r)
(10, 0)    #整除,商10,余0

#isinstance
#用于判断对象是否是某个类的实例,返回True和False,什么都可以判断
s = [11,11,11]
r = isinstance(s,list)    #判断是否为列表,是则返回True
print(r)

s = [11,11,11]
r = isinstance(s,str)   #判断是否为字符串,否则返回False
print(r)

#函数默认没有返回值,想要返回值使用return
#函数中的return语句和print语句的区别
#想要有返回值必须使用return
#return是返回数值的意思,比如定义两个函数,一个是有返回值,另一个用print语句,看看结果有什么不同

def func1(x,y):
       print(x+y)
result = func1(1,2)
print(result is None)      #会返回None(因为有print,也会返回3)

def func2(x, y):
    return (x + y)
result = func2(1, 2)    #改为return即直接返回值3,只返回我想要的值
print(result)  # 会返回None

#filter,map     #均为逗号后和逗号前合用
#filter          #函数返回True,将元素加到结果中
#map            #将函数返回值添加到结果中

#判断大于22的回显
def f1(args):
    result = []
    for item in args:
        if item > 22:
            result.append(item)
    #print(result)     #如果开启这句即将代表大于22的列表回显,但还是会返回None,使用return即只返回值,不回显None
    #return result     #返回值

li = [11,22,33,44,55]
ret = f1(li)  #参数传递时是引用
print(ret)    #不会返回值,只返回None,因为函数默认没有返回值,加return才有返回值

返回结果
None               #函数默认没有返回值,想要返回值使用return

#filter(函数,可迭代对像),逐个读,内部循环
#filter 迭代循环功能 ,迭代循环模块
#从li列表中循环读,从11开始一个一个迭代读出来

li = [11,22,33,44,55]
ret = filter(None,li)
print(list(ret))

#找出大于22的数字
#filter 内部循环,参数比较
def f2(a):
    if a>22:
        return True
li = [11,22,33,44,55]
ret = filter(f2,li)   #li的每个元素都执行一次f2函数,为True时则大于22,合法添加到结果ret
print(list(ret))

lambda 表达式    #一种特殊函数,真则回True,假则返回False

#自动return
f1 = lambda a:a > 30
ret = f1(90)
print(ret)

返回结果
True

#判断大于33的数返回
#lambda 函数简化函数代码,和filter合用简化for 和代码
li = [11,22,33,44,55]
result = filter(lambda a:a > 33,li)      #li内部循环和逗号前面的a函数逐个比较,大于33回显
print(list(result))

返回结果
[44, 55]

#map(函数,可迭代的对像(可以for循环的东西))

#每个元素加100
li = [11,22,33,44,55]

def f1(args):
    result = []
    for i in args:
        result.append(100+i)    #每循环一次加100
    return result
   
r = f1(li)
print(r)

#每个元素加100,以列表回显,map + 函数方法
#简化for
li = [11,22,33,44,55]
def f2(a):
    return a + 100

result = map(f2,li)     #后者li和逗号前者合用逐个计算
print(list(result))

#每个元素加200,map + lambda特殊 方法
#lambda 和 map合用简化函数和for
li = [11,22,33,44,55]

result = map(lambda a:a +200,li)      #逗号后和逗号前合用,循环li逐个和逗号前方法计算,每个元素加200
print(list(result))

#locals 函数为本地变量
#globals 函数为全屏变量 
NAME = "ALEX"

def show():
    a = 123
    print(locals())  
    print(globals())

show()

#转成加密码的hash
s = "hhh"
print(hash(s))

s = "hjfkdsjflksajflkjsadflsfjsajflsa"
print(hash(s))

#len计算长度
#python3以字符个数计算,所以回长度为2
s = "李杰"
print(len(s))

#python2以字节个数计算,所以返回长度为6
s= "李杰"
b = bytes(s,encoding='utf-8')
print(len(b))

--------------------------------------------------------------------------------------------
#判断输入
    1.一行一行的读,不要加入内存(不要readlines),要用for line in f   #此方法不用全加内存在读,快
    f = open(xxx)
    for line in f:
        print line

#查询
def fetch(backend):
    result = []
    with open('ha.conf','r',encoding='utf-8') as f:
        flag = False
        for line in f:
            if line.strip().startswith("backend") and line.strip() == "backend " + backend:    #判断以backend开头及 backend 和输入
                flag = True
                continue
            if flag and line.strip().startswith("backend"):
                flag = False
                break
            if flag and line.strip():     #拿到对应的信息,去空行
                result.append(line.strip())

return result
ret = fetch("www.oldboy.org")
print(ret)

-----json方法

#将一个字符串,转换成python的基本数据类型,打回原形
#将一个字符串或其他转换成我想要的格式
#一个特殊字符的列表
s = "[11,22,33,44,5]"  
print(type(s),s)

import json
n = json.loads(s)    #将一个字符串,转换成python的基本数据类型
print(type(n),n)

s = '{"k1":"v1"}'     #json 能读的格式外面有'单引号',里面的值必须是"双引号"
import json
n = json.loads(s)    #将一个字符串,转换成python的基本数据类型
print(type(n),n)

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

def fetch(backend):
    result = []
    with open('ha.conf','r',encoding='utf-8') as f:
        flag = False
        for line in f:
            if line.strip().startswith("backend") and line.strip() == "backend " + backend:    #判断以backend开头及 backend 和输入
                flag = True
                continue
            if flag and line.strip().startswith("backend"):   #如果输入信息和文件匹配,到第二个以backend开头的即False结跳出循环
                flag = False
                break
            if flag and line.strip():     #拿到对应的信息,去空行追加到列表
                result.append(line.strip())

return result
ret = fetch("www.oldboy.org")
print(ret)

def add(backend,record):
    #思路一:
    #思路二
    #先检查记录存不存在
    record_list = fetch(backend)    #这句是调用fetch查询函数,什么也没传即为空
    #print(record_list)
    if not record_list:     #fetch为则执行以下
        #backend 不存在
        with open('ha.conf','r') as old, open("new.conf",'w') as new:   #读一个文件写新文件
            for line in old:      #循环每行
                new.write(line)    #全写到新
            new.write("\nbackend " + backend + "\n")    #如果旧的文件里没有写入输入信息到new.conf
            new.write(" " * 8 + record + "\n")            #同时写入记录(可以不用输入)
    else:
        #backend 存在
        pass

bk = "test.oldboy.org"
rd = "server 100.1.7.90 100.1.7.90 weight 20 maxconn 30"
add(bk,rd)    #为add函数传参  bk,rd

-----------------------------------------------------------------------------------------------------

#找最大
r = max([11,22,33,1])
print(r)

#找最小
r = min([11,22,33,1])
print(r)

#求和
r = sum([11,22,33,1])
print(r)

2的10次方
2**10
pow(2,10)

r = pow(2,10)
print(r)

#四舍五入
r = round(1.4)
print(r)

#排序
li = [11,22,11,1]
li.sort()
sorted(li)

#字典排序
li = {"2":22,"1":1,"4":21,"3":234}
print(sorted(li))

返回结果
['1', '2', '3', '4']

#zip 取列值,把元素为同一级的放到一起,横向输出,相当于awk抽列
l1 = ["alex",11,22,33]
l2 = ["is",11,22,33]
l3 = ["sb",11,22,33]

r = zip(l1,l2,l3)
print(list(r))

输出结果
[('alex', 'is', 'sb'), (11, 11, 11), (22, 22, 22), (33, 33, 33)]

#zip 取列值,把元素为同一级的放到一起,横向输出
l1 = ["alex",11,22,33]
l2 = ["is",11,22,33]
l3 = ["sb",11,22,33]

r = zip(l1,l2,l3)   #取列值
temp = list(r)[0]
ret = ' '.join(temp)   #join拼接,合并,以空格分隔合并
print(ret)

返回结果
alex is sb

#装饰器
#在执行函数前或后执行相关功能

#装饰器老函数前面回显
实例主程序s2
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

#  加@outer 自动作了两个操作
    #1. 将它下面的函数传参给outer,即f1函数是outer的形参,可以用func()执行,返回f1的结果(旧f1)
    #2. 将outer函数的返回值重新赋值给f1,即inner函数体(outer的方法)是新的f1,当f1()执行函数时即返回inner的结果(新f1)
def outer(func):
    def inner():
        print('log')
        return func()    #老f1函数,即执行f1,则返回F1,有多个传参依次类推                      (老f1)
    return inner   #返回函数体,即不执行,即只返回内存地址,新的f1,当f1()执行时即返回log, (新f1)

@outer
def f1():
    print("F1")

@outer
def f2():
    print("F2")

@outer
def f100():
    print("F100")

调用程序b1
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

import s2

s2.f1()
s2.f2()
s2.f100()

返回结果
log
F1
log
F2
log
F100

def f1():
    print(123)  
def f1():
    print(456) 
f1()

def f1():
    print('123')   
def f2(xxx):
    xxx()
f2(f1)     #f2(f1)等同于f2(xxx),xxx()等同于执行f1

结果
123

#装饰器老函数前后回显
主程序s2
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

def outer(func):
    def inner():
        print('before')     #f1函数前操作
        func()     #老f1函数F1
        print('after')      #f1函数后操作
    return inner
#@ + 函数名
#功能:
#   1.自动执行outer函数并且将其下面的函数f1当作参数传递给outer函数
#   2.将outer函数的返回值,重新赋值给f1(修改了f1的值)
@outer
def f1():
    print("F1")

调用程序
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

import s2
s2.f1()

返回结果
before
F1
after

#装饰器老函数前后回显,并用return单独调
主程序s2
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

def outer(func):
    def inner():
        print('before')     #f1函数前操作
        r = func()
        print('after')      #f1函数后操作
        return r            #新f1()执行时,返回结果是“砍你”,return方法只能return方法调用,所以此处调的是f1里的return “砍你”
    return inner    #inter  是个函数体,不是执行函数
#@ + 函数名
#功能:
#   1.自动执行outer函数并且将其下面的函数f1当作参数传递给outer函数(老f1,存入内存)
#   2.将outer函数的返回值,重新赋值给f1(修改了f1的值)(把outer函数里的返回值给f1,而不是把outer整个赋值)
@outer
def f1():
    print("F1")
    return "砍你"

执行程序b1
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

import s2
ret = s2.f1()
print("返回值",ret)

#给装饰器传一个参
主程序s2
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

def outer(func):
    def inner(a):             #给函数定义形参
        print('before')     #f1函数前操作
        r = func(a)            #给老f1函数定义传参变量
        print('after')      #f1函数后操作
        return r
    return inner
#@ + 函数名
#功能:
#   1.自动执行outer函数并且将其下面的函数f1当作参数传递给outer函数(老f1,存入内存)
#   2.将outer函数的返回值,重新赋值给f1(修改了f1的值)(把outer函数里的返回值给f1,而不是把outer整个赋值)
@outer
def f1(arg):    #定义传参
    print(arg)   
    return "砍你"

调用程序b1
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

import s2
ret = s2.f1('fafafa')        #给老f1函数参实参
print("返回值",ret)

返回结果
before
fdskjfsafsa                 #老f1函数的返回值
after
返回值 砍你

#给装饰器传多参数
主程序s2
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

def outer(func):
    def inner(*args,**kwargs):      #定义万能参数
        print('before')             #f1函数前操作
        r = func(*args,**kwargs)    #给老函数定义万能参数
        print('after')              #f1函数后操作
        return r    
    return inner
#@ + 函数名
#功能:
#   1.自动执行outer函数并且将其下面的函数f1当作参数传递给outer函数(老f1,存入内存)
#   2.将outer函数的返回值,重新赋值给f1(修改了f1的值)(把outer函数里的返回值给f1,而不是把outer整个赋值)
@outer
def f1(arg):
    print(arg)
    return "砍你"

@outer
def f2(a1,a2):        #给装饰器传多个参数
    print("F2")
   
   
   
   
执行程序b1   
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

import s2
ret = s2.f1('fafafa')
print("返回值",ret)
s2.f2(11,22)                    #给装饰器传多实参

返回结果
before
fdskjfsafsa
after
返回值 砍你
before
F2                         #返回F2的结果    
after

#完整的装饰器,在两个函数前后操作功能,在第三个函数不做操作
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

def outer(func):
    def inner(*args,**kwargs):
        print('before')     #f1函数前操作
        r = func(*args,**kwargs)
        print('after')      #f1函数后操作
        return r
    return inner
#@ + 函数名
#功能:
#   1.自动执行outer函数并且将其下面的函数f1当作参数传递给outer函数(老f1,存入内存)
#   2.将outer函数的返回值,重新赋值给f1(修改了f1的值)(把outer函数里的返回值给f1,而不是把outer整个赋值)
@outer
def f1(arg):
    print(arg)
    return "砍你"

@outer
def f2(a1,a2):
    print("F2")

def f3():
    print("F3")
   
   
   
   
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

import s2
ret = s2.f1('fafafa')
print("返回值",ret)
s2.f2(11,22)
s2.f3()

返回结果
before
fafafa
after
返回值 砍你
before
F2
after
F3

无装饰器登录程序,代码繁琐,重复性高
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

LOGIN_USER = {"is_login":False}

def changepwd():
    if LOGIN_USER['is_login']:
        print("欢迎%登录" % LOGIN_USER['current_user'])
    else:
        print("请登录")

def manager():
    if LOGIN_USER['is_login']:
        print("欢迎%登录" % LOGIN_USER['current_user'])
    else:
        print("请登录")
def login(user,pwd):
   if user == "alex" and pwd == "123":
       LOGIN_USER['is_login'] = True
       LOGIN_USER['current_user'] = user
    manager()
def main():
    while True:
        inp = input("1,后台管理;2,登录")
        if inp == '1':
            manager()
        elif inp == '2':
            username = input("请输入用户名")
            pwd = input('请输入密码')
            login()
           
main()

装饰器登录程序     #简化代码,减少反复性
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

LOGIN_USER = {"is_login": False }

def outer(func):
    def inner(*args, **kwargs):
        if LOGIN_USER['is_login']:
            r = func()
            return r       
        else:
            print("请登录")
    return inner

def outer1(func):
    def inner(*args, **kwargs):
        if LOGIN_USER['is_login'] and LOGIN_USER['user_type'] == 2:
            r = func()
            return r
        else:
            print("请登录,或者权限不够")
    return inner

@outer1
def order():
    print("欢迎%s登录" % LOGIN_USER['current_user'])

@outer
def changepwd():
    print("欢迎%s登录" % LOGIN_USER['current_user'])

@outer
def manager():
    print("欢迎%s登录" % LOGIN_USER['current_user'])

def login(user, pwd):
    if user == "alex" and pwd == "123":
        LOGIN_USER['is_login'] = True
        LOGIN_USER['current_user'] = user
        manager()

def main():
    while True:
        inp = input("1,后台管理;2,登录")
        if inp == '1':
            manager()
        elif inp == '2':
            username = input("请输入用户名")
            pwd = input("请输入密码")
            login(username, pwd)

main()

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Author:Minghu Wang

LONGIN_USER = {'is_login':False}

def outer(func):
    def inner(*args, **kwargs):
        if LONGIN_USER['is_login']:   #当登录成功时即为True时执行其老函数
            r = func()
            return r
        else:
            print('请登录')
    return inner

@outer
def order():
        print('欢迎%s登录' % LONGIN_USER['curret_user'])     #登录成功时回显其用户

@outer
def chanpepwd():
        print('欢迎%s登录' % LONGIN_USER['curret_user'])    #执行更改密码时提示用户

@outer
def manager():
        print('欢迎%s登录' % LONGIN_USER['curret_user'])

def login(user, pwd):
    if user == 'alex' and pwd == '123':
        LONGIN_USER['is_login'] = True        #登录成功LOGIN_USER的is_login为True
        LONGIN_USER['curret_user'] = user     #用户列表为alex
        manager()                             #执行管理
    else:
        print("用户名密码不对,请重新登录 或 注册账号")

def main():
    while True:
        inp = input('1,后台管理; 2,登录')
        if inp == '1':
            manager()
        elif inp == '2':
            username = input('请输入用户名')
            pwd = input('请输入密码')
            login(username, pwd)

main()

转载于:https://www.cnblogs.com/wangminghu/p/5547744.html

python 第四天相关推荐

  1. python中内置的四种数值类型为_浅谈python语言四种数值类型

    Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...

  2. python教程第四版pdf下载-笨办法学python第四版

    笨办法学python第四版是由Zed Shaw所编写的一本书.如果你还是Python新手,那么这是一本非常不错的入门书籍.书本里以习题方式,引导读者慢慢学会了编程. 目录: 习题 0: 准备工作 习题 ...

  3. python教程第四版pdf下载-笨办法学python第四版 电子书(pdf格式)

    笨办法学python第四版是由Zed Shaw所编写的一本书.如果你还是Python新手,那么这是一本非常不错的入门书籍.书本里以习题方式,引导读者慢慢学会了编程. 目录: 习题 0: 准备工作 习题 ...

  4. python教程第四版pdf下载-笨办法学python 第四版 中文pdf高清版

    笨办法学 Python是Zed Shaw 编写的一本Python入门书籍.适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用.这本书以习题的方式引导读者一步一步学习编 程,从简单的打印一 ...

  5. python学习四(处理数据)

    python学习四(处理数据) head first python中的一个数据处理的例子 有四个U10选手的600米成绩,请取出每个选手跑的最快的3个时间.以下是四位选手的9次成绩 James 2-3 ...

  6. python爬虫(四)_urllib2库的基本使用

    python爬虫(四)_urllib2库的基本使用 本篇我们将开始学习如何进行网页抓取,更多内容请参考:python学习指南 urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源 ...

  7. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

    孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...

  8. Python.习题四 循环结构

    Python.<习题四> 循环结构 1.编写程序,计算1×2×3×-×10. s=1 i=1 while i<=10:s=s*ii=i+1 print("s=", ...

  9. 蓝桥杯python组——四平方和

    蓝桥杯python组--四平方和 import os import sys import math n=int(input()) sqn=int(math.sqrt(n))def f(n):for a ...

  10. Python数据结构 四种链表的集合

    python数据结构四个链表的集合 结点的创建 import os# 创建节点 class Node:def __init__(self, data):self.data = dataself.nex ...

最新文章

  1. 解决element-ui table show-summary合计行不显示问题
  2. 字符串左旋问题及判断一个字符串是否由另一个字符串左旋得到
  3. 故宫首开夜场门票秒空官网崩溃:7本书让网站挺住
  4. linux相关操作命令
  5. Android Add new target
  6. 2014Esri全球用户大会——亮点系列之精彩应用案例
  7. [原创] vlc视频播放插件使用总结
  8. 中台服务架构的一点思考
  9. 什么是One Data体系?阿里数据中台解读
  10. JavaScript 用函数方法比较任意三个数字的最大值
  11. 招行零售金融3.0数字化转型实践
  12. win7服务器如何还原系统教程,怎么快速处理win7系统架设本地服务器的还原技巧...
  13. te40终端不设网关_华为TE40视频会议维修,华为视频会议终端维修
  14. onenote同时移动图片和绘图
  15. android友盟埋点,React Native 的友盟统计--打点/埋点
  16. java基础讲义03
  17. 【愚公系列】2021年12月 攻防世界-简单题-MOBILE-002(app1)
  18. 花呗、借呗上线额度管理功能,网友:上次我没得选,这次我想做个年轻人
  19. 电气CAD教程:设备布置之圆弧布置操作技巧
  20. 【转载】CSDN修改用户名、昵称

热门文章

  1. 1.LeetCode字符编辑距离
  2. JavaScript学习(二十八)—事件冒泡和事件捕获
  3. python中的继承有什么特点_Python类的继承机制是什么
  4. 液晶电视发出“嘭”的一声,然后就无法开机了,是什么原因,好不好修?
  5. 股票市值管理什么意思?
  6. 折扇的保养方法是什么?
  7. 严阵以待的意思是什么,怎么用严阵以待造句?
  8. 越混越差的十个原因,看看你有没有?
  9. 职场上别人只做不说的潜规则
  10. 计算机发展史和数字电路