3.29,笔记内容

一,作业讲解

‘‘‘

5、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数,并返回结果。7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。   dic = {"k1": "v1v1", "k2": [11,22,33,44]}   PS:字典中的value只能是字符串或列表8、写函数,接收两个数字参数,返回比较大的那个数字。9、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。def func8(path,old,new):    passfunc8(log,alex,sb)

10、写一个函数完成三次登陆功能,再写一个函数完成注册功能(进阶)

‘‘‘#2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

# def func1(argv):#     l1 = []#     for i in range(len(argv)):#         if i % 2 == 1:#             l1.append(argv[i])#     return l1# print(func1([1,2,3,4]))

# def func1(argv):return argv[1::2]# print(func1([1,2,3,4]))#  3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

# def func2(argv):#     if len(argv) > 5:#         return True#     else:return False# print(func2(‘fdsafsdagfdsa‘))

# def func2(argv):#     return True if len(argv) > 5 else False# print(func2(‘fdsafsdagfdsa‘))

# def func2(argv):#     return len(argv) > 5# print(func2(‘1‘))

# 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。# def func3(argv):#     l1 = []#     if len(argv) > 2:#         l1 = argv[:2]#     else:#         l1 = argv#     return l1# func3([1,2,3,4])## def func3(argv):#     return argv[:2] if len(argv) > 2 else argv# func3([1,2,3,4])## def func3(argv):#     return argv[:2]# # func3([1,2,3,4])# l1 = [1]# print(l1[:2])

# 5、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数,并返回结果。# def func4(argv):#     dic = {‘digit‘:0,‘alpha‘:0,‘space‘:0,‘other‘:0}#     for i in argv:#         if i.isdigit():#             dic[‘digit‘] += 1#         elif i.isalpha():#             dic[‘alpha‘] += 1#         elif i.isspace():#             dic[‘space‘] += 1#         else:#             dic[‘other‘] += 1#     return ‘数字%d,字母%d,空格%d,其他%d‘ % (dic[‘digit‘],dic[‘alpha‘],dic[‘space‘],dic[‘other‘])## print(func4(‘fdsafd  [email protected]#$%^fdf123   哈佛撒旦‘))# 6、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果。

# 7、写函数,检查传入字典的每一个value的长度(列表,字符串),如果大于2,# 那么仅保留前两个长度的内容,并将新内容返回给调用者。# def func6(argv):#     for i in argv:#         if len(argv[i]) > 2:#             argv[i] = argv[i][:2]#     return argv## print(func6({"k1": "vv11", "k2": [11,22,33,44]}))## def func6(argv):#     for i in argv:#         argv[i] = argv[i][:2]#     return argv## print(func6({"k1": "vv11", "k2": [11,22,33,44]}))

二、今日大纲

01,昨日内容回顾
函数初始。
函数是封装一个功能。
def login():
函数体

return:1,结束函数。
2,#return 单个数。1;[].
return 多个值。1,2,3

login() == (1,2,3)

传参:
实参:
1,位置传参,按顺序一一对应。
def func(a,b,c):
pass
func(1,2,3)
2,关键字传参,可以不按顺序,但是必须一一对应。
def func(a,b,c):
pass
func(c=3,a=1,b=2)
3,混合传参,关键字参数在位置参数之后。
def func(a1,b1,a,b,c):
pass
func(2,5,c=3,a=1,b=2)

形参:
1,位置传参,按顺序一一对应。
def func(a,b,c):
pass
func(1,2,3)

2,默认传数,默认参数在位置参数后面。
def func(name,sex=‘男‘):
pass
func(‘李佳芮‘)
func(‘哼哼‘,‘女‘)
3,动态参数。

三元运算:
z = a if a > b else b

02,作业讲解

03,动态参数 *args **kwargs
形参角度:
最终顺序:位置参数,*args,默认参数,**kwargs

04,名称空间(命名空间),临时名称空间,内置名称空间。
全局名称空间,名称空间,命名空间,全局命名空间。
局部命名空间,临时名称空间,临时命名空间,局部名称空间,。
内置名称空间,所有的内置函数等存储的空间。
加载顺序:
内置名称空间 ---> 全局名称空间--->(函数执行时)局部名称空间。
取值顺序:
函数执行时:局部名称空间 -->全局名称空间 -->内置名称空间

05,全局作用域,局部作用域。
全局作用域:全局名称空间,内置名称空间
局部作用域:局部名称空间

06,加载顺序与取值顺序。
07,函数的嵌套。

08,locals(),golbals()
09,nonlocal,golbal。

三、动态参数

# def func(*args):#     print(args)# func(1,2,3,4,5,7,8,9,1,2,3,4,5,6,7,8)#*args 动态参数,万能参数#args接受的就是实参对应的 所有位置参数,并将其放在元组中。#形参对应顺序:#位置参数,*args,默认参数# def func(a,b,c,d,*args,e=‘男‘):#     print(a)#     print(b)#     print(c)#     print(d)#     print(args)#     print(e)# func(1,2,3,4,5,6,7,e=‘女‘)#**kwargs 动态传参,他将所有的关键字参数(无意义的)放到一个字典中。# def func(a,b,c,**kwargs):#     print(kwargs)# func(1,2,r=4,b1=5,c1=6,c=7,)

# def func(a,b,c,d,*args,e=‘男‘,**kwargs):#     print(a)#     print(b)#     print(c)#     print(d)#     print(args)#     print(e)#     print(kwargs)# func(1,2,3,4,5,6,7,v=3,m=7,h=9,e=‘女‘)# 最终顺序:位置参数,*args,默认参数,**kwargs

# def func1(*args,**kwargs):#     pass# func1()

# * 魔法运用# def func(*args):#     print(args) #(1,2,30,1,2,33.。。。。。)# l1 = [1,2,30]# l2 = [1,2,33,21,45,66]# tu = (1,2,3)# func(1,2,30,1,2,33,21,45,66)# func(*‘qweqrfdsaf‘)# func(*{‘name‘:‘alex‘,"age":12})# func(*l1,*l2)# def func(*args):#     print(args)# func(1,2,3,10,20,80)

# def func(**kwargs):#     print(kwargs)## dic1 = {‘name1‘:‘alex‘,‘age1‘:46}# dic2 = {‘name‘:‘老男孩‘,‘age‘:56}# func(**dic1,**dic2)

# 在函数的调用执行时,#   *可迭代对象,代表打散(list,tuple,str,dict(键))将元素一一添加到args。#  **字典,代表打散,将所有键值对放到一个kwargs字典里。

# 在函数定义时, *args,**kwargs代表的是聚合。# def func(*args,**kwargs):#     print(args)#     print(kwargs)## dic1 = {‘name1‘:‘alex‘,‘age1‘:46}# dic2 = {‘name‘:‘老男孩‘,‘age‘:56}# func(*[1,2,3,4],*‘asdfsad‘,**dic1,**dic2)

def func(*args,**kwargs):    #args = (1,2,3,4)    #kwargs = {‘age‘: 56, ‘name‘: ‘老男孩‘}    # print(*args)    # print(**kwargs) #(age = 56 ,name = 老男孩)# dic1 = {‘name1‘:‘alex‘,‘age1‘:46}# dic2 = {‘name‘:‘老男孩‘,‘age‘:56}# # func(*[1,2,3,4],*‘asdfsad‘,**dic1,**dic2)# func(**dic2)

四、名称空间、临时名称空间
# a = 4# b = 3# c = [1,2,3,4]# c1 = {‘name‘:‘alex‘}## def func1():#     name = ‘老男孩‘#     print(name)# func1()#当执行函数的时候,他会在内存中开辟一个临时名称空间,存放函数体内的所有变量与值的关系,# 随着函数的执行完毕,临时空间自动关闭。#input(),print(),len 内置函数

# name = ‘老男孩‘# def func1():#     name = ‘taibai‘#     print(name)# func1()# def my_len(argv):#     return 666# print(len([12,3,]))a = 2print(a)def func1():    age = 11    print(age)func1()

五、函数的嵌套
# 函数什么时候执行? 函数调用的时候执行。# 代码从上至下依次执行, 调用函数:函数里面从上至下依次执行。# print(111)# def func1():#     print(333)## def func2():#     print(444)## def func3():#     print(555)#     func2()## func1()# print(222)# 111 333 222

# print(111)# def func1():#     print(333)#     func2()#     print(666)## def func2():#     print(444)## def func3():#     print(555)## func1()# print(222)# 111 333 444 666 222

# print(111)# def func1():#     print(333)#     func2()#     print(666)## def func2():#     print(444)#     func3()## def func3():#     print(555)## func1()# print(222)# 111 333 444 555 666 222

# a = 2# b = 3# def func1():#     c = 5#     d = 6#     print(globals())  # 全局变量放在一个字典中#     return locals()  # {‘c‘: 5, ‘d‘: 6}# print(func1())

# print(globals())  # 全局名称空间:所有变量# print(locals())  # 局部名称空间:所有变量

原文地址:https://www.cnblogs.com/zzw731862651/p/8669865.html

时间: 2024-08-30 05:16:50

3.29,笔记内容的相关文章

Android学习笔记-----------内容提供者

Android学习笔记-----------内容提供者 简介 内容提供者主要用于在不同的程序之间实现数据共享的功能;一个程序想要访问其他程序种由内容提供者提供的数据,必须依赖于contentresolver这个类的实例,可以通过getContentResolver()这个方法来获取这个类的实例;这个类提供有query(),insert(),update(),delete()等方法来操作数据这些方法都需要提供个Uri类型的参数,这个Uri对应的就是你需要操作的数据引用.一个uri主要由以以下几个部

2015.7.29学习内容

2015.7.29学习内容 一.Switch选择结构 1.回顾 01.在Java中如何产生一个随机数 Math.random()    随机数范围:0到1,能取到0,取不到1 02.equals(): 在Java中,如果比较两个字符串用==的话,会出现错误,所以以后我们只要是对字符串类型进行对比,统一使用equals方法 2.Switch选择结构 Switch(char/int){ case 1: //语句 break; case 2: //语句2 break; default: //默认语句

01_Hadoop学习笔记内容说明

Hadoop学习笔记内容说明_00 1.  观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2.  博客是在梦琪老师的随堂笔记上改动的,方便的是自己以后回顾学习,也或许能给需要改方面帮助的同行提供些许帮助,在此非常感谢梦琪老师. 3.  本系列是在CentOS6.4+hadoop1.2.1上实验通过的. 4.  由于本人刚刚接触,对Linux也只是初步了解,实验过程中遇到比较奇葩的问题,也在此博客写出. 5.  云帆大数据官网公布了一些公开的

day1,笔记内容

1,计算机基础.. cpu:相当于人的大脑,用于计算. 内存:储存数据,4G,8G,16G,32G,成本高,断电即消失.硬盘:1T,固态硬盘,机械硬盘,储存数据,应该长久保持数据,重要文件操作系统:windows,linux等等应用程序:QQ,微信,word,等等 2,python历史. 宏观上:python2 与 python3 区别:       1, python2 源码不标准,混乱,重复代码太多: 2,python3 统一 标准,去除重复代码: 3,python2中用print,pyth

day2,笔记内容

1,解析昨天的作业: 1.使用while循环输入 1 2 3 4 5 6 8 9 10'''count = 0while count < 10: count += 1 # count = count + 1 if count == 7: print(' ') else: print(count) count = 0while count < 10: count += 1 # count = count + 1 if count == 7: continue print(count)'''3.输

day5,笔记内容

1.数据类型转换: '''int ---> bool 非0即True,0为Falsebool---> int True 1 False 0print(int(True))print(int(False))print(bool(100))print(bool(0))''' Int与str之间如何转化,转换的结果是什么?有没有条件?# 答案:int可以转换你成str,只需要在int上加引号就可以了.str要想转换成int,必须str内全部为数字才可以转换.## Int 与 bool之间如何转化,转

11/28~11/29 学习内容

上一节课,我们通过SQL注入获取目标数据库中的数据,再通过获取帐户密码,进行爆破.后台路径成功地登录进入后台,再通过后台的文件上传漏洞,成功地获取网站的webshell,也就是获取了目标网站的权限. 今天我们讲XSS XSS利用方式   攻击客户端  窃取用户信息   管理员 普通用户 SQL注入利用数据   提权  写文件提权 XSS常用的几个payload <img/src=x> <svg/onload=alert(1)> <script>alert(1)<s

Foundation 学习笔记

笔记内容 学习笔记-段玉磊 Stanford course Foundation and Attributed Strings Dynamic binding id 是一个指向任何未知对象的指针,(the consept of dynamic binding) 静态类型化:id 不会发生警告 而NSString *s 会发生警告! Nerver use iD ,因为id只是指针,很危险!! 强制转换需要保护! id保护机制 Introspection 内省机制 ,也就是说通过指定id是什么类型

【转】Web前端黑客技术揭秘{笔记}

原文 http://www.cnblogs.com/r00tgrok/articles/Web-Hacking.html 前些日子看完了白帽子讲Web安全,当时就PHP安全一 章做了点小笔记,感觉看书还是留下点东西比较好.翻开Web前端黑客技术揭秘一书决定要做笔记,但是这样下来其实进度就比较慢了,敲字做笔记绝对远比看书 来的慢.有时候上午看完的内容做笔记时要花一天时间,一方面是要敲字,另一方面是自己只从书上摘录部分内容有时候需要将其串起来,还有就是碰上自己想发两 句言也会拖慢进度.总之现在书是看