20170604第四讲

1、

#函数是把一组代码合到一起,可以实现某种功能,需要再用到这个功能的话,直接调用这个函数就行了#函数、方法#my_open    #fw  = open(‘a.txt‘,‘a+‘)    #fw.seek(0)

#    函数名all_users = {}  # 用来存放所有的用户名和密码# def read_users(file_name):#     #形式参数,其实就是一个变量#     print(‘file_name‘,file_name)#     with open(file_name) as fr:#         for line in fr:#             up = line.strip().split(‘,‘)  # 分隔账号密码#             s_username = up[0]  # 账号#             s_pwd = up[1]  # 密码#             all_users[s_username] = s_pwd

def reg(name,age,sex=‘男‘):    #age、name必填参数,位置参数    #sex是默认值参数,不是必传    print(‘hello %s,age is %s,sex is %s‘%(name,age,sex))# reg(age=‘吴冰‘,name=38,sex=‘未知‘)# hello(‘孙燕姿‘)def post(*args):    #可变参数,也叫参数组,也不是必填的,它接收到的是一个元组    #它把调用函数时穿进去的每一个参数都放到一个元组里    print(args)# post(‘001‘,‘denglu‘,‘http://www.baiudd.com‘,‘post‘,‘a=1‘)# post(‘001‘,‘denglu‘)# post(‘001‘,‘denglu‘,‘post‘)# post(‘001‘)# post()def other(name,age,country=‘china‘,*args):    print(name)    print(age)    print(country)    print(args)# other(‘wubing‘,‘999‘)

d = {‘age‘: 18, ‘name‘: ‘吴冰‘}def kw(**kwargs):    #关键字参数,接收的是一个字典,调用得用xx=11,也不是必填的    #传入字典调用的时候就得写**{‘age‘: 18, ‘name‘: ‘吴冰‘}    print(kwargs)# kw()

def other2(name,country=‘china‘,*args,**kwargs):    #如果必填参数、默认值参数、可变参数和关键字参数你要一起用的话    #必须参照必填参数、默认值参数、可变参数和关键字参数的顺序接收,否则就会报错    print(name)    print(country)    print(args)    print(kwargs)# other2(‘wubing‘,‘xxx‘)# other2(‘wubing‘,‘beijing‘,‘python‘,‘changping‘,user=‘niuhanyang‘)

#关键字参数调用def write(filename,model,ending,user,os,money,other):    print(filename)    print(model)    print(ending)    print(user)    print(os)    print(money)    print(other)# write(os=‘Windows‘,user=‘wubing‘,model=‘w‘,filename=‘a.txt‘,#       ending=‘utf-8‘,money=9999,other=‘xxxxx‘#       )# write(‘a.txt‘,‘w‘,money=99,os=‘windos‘)# write(os=‘windos‘,‘a.txt‘)

#函数的返回值def plus(a,b):    #1、函数碰到return,立即结束这个函数    #2、调用完函数之后,返回计算的结果    #3、函数可以没有返回值,如果没有返回值的话,默认给你返回None    #如果这个函数的处理结果咱们需要在别的地方用到,那你就得给函数返回值    #如果函数return多个值的话,那么它会把多个值放到一个元组里面去    c = a+b    return c

score1 = 50score2 = 90def echo():    return score1,score2

#1、判断小数    # 1.92    # -1.988

def is_float(s):    ‘‘‘    这个函数是用来判断传入的是否为小数,包括正小数和负小数    :param s: 传入一个字符串    :return: True or False    ‘‘‘    s = str(s)    if s.count(‘.‘)==1:#判断小数点个数        sl = s.split(‘.‘)#按照小数点进行分割        left = sl[0]#小数点前面的        right = sl[1]#小数点后面的        if left.startswith(‘-‘) and left.count(‘-‘)==1 and right.isdigit():            lleft = left.split(‘-‘)[1]#按照-分割,然后取负号后面的数字            if lleft.isdigit():                return True            else:                return False        elif left.isdigit() and right.isdigit():            #判断是否为正小数            return True        else:            return False#全局变量和局部变量# score3 = [1,2,3,4,5]# score3 = {"id":1}score3 = 100def my_open():    #在函数里面定义变量叫局部变量,它只能在函数里面用    #出了该函数外,就不能使用了    #在函数外面定义的变量,是全局变量,在函数内也可以使用    #如果想在函数里面修改全局变量的值,那么要先用global关键字声明    #要修改全局变量是int、string的话,必须得写global    #如果是字典和list的话,要修改的话,不能加global    fw = open(‘a.txt‘,‘a+‘)    fw.seek(0)    print(‘score3‘,score3)    d={‘id‘:2}    d[‘price‘]=99

def hh():    print(‘修改商品...‘)def cc():    print(‘添加商品...‘)def query():    print(‘查询商品。。。‘)menu= {    ‘1‘:hh,    ‘2‘:cc,    ‘3‘:query}chioce = input(‘输入编号‘)menu[chioce]()

2、监控日志
import timewhile True:    ips = []    #存放所有的ip地址    with open(‘access.log‘,‘a+‘) as fr:        fr.seek(0)        for line in fr:            ip = line.split()[0]            ips.append(ip)        fr.seek(0)        fr.truncate()    print(‘ips,长度:‘,len(ips))    ip_set = set(ips)#存放的是去重之后的ip地址    print(‘去重之后的ip_set的长度:‘,len(ip_set))    for ip in ip_set:        if ips.count(ip)>200:            print(‘已经把%s加入黑名单‘%ip)            # os.system(‘iptables -I INPUT 1 -p tcp -s %s  -j DROP‘%ip)    time.sleep(60)#set是集合,集合是天生去重

# d = {"id":1,"price":2}# l = [1,2,3,4,4,5,5]# s = set(l)#强制类型转换,把list转成集合# for i in s:#     print(i)

3、三元运算符
a = 1b = 2#下面这个c = a if a>1 else b

#和下面是一样的效果if a > 1:    c = aelse:    c = b

s=[]nums = list(range(1,11))for i in nums:    if i%2==0:        s.append(i)print(s)ss = [i for i in nums if i%2==0]print(ss)#这两种是一样的

4、集合
#1、#集合也是一种数据类型,一个类似列表东西,# 它的特点是无序的,不重复的,也就是说集合中是没有重复的数据

#定义集合nums = [1,1,1,1,23,4,56]num_set = set(nums)#通过强制类型转换,来定义集合num_set1 = {1,2,3,4,5,6}

list1 = {1, 2, 3, 4, 5, 6, 9}list2 = {2, 3, 4, 6, 1}list3 = {1, 2, 3}# print(list1.intersection(list2))# 取交集,也就是取list1和list2中都有的# print(list1 & list2)# 取交集# print(list1.union(list2))  # 取并集,也就是把list1和list2合并了,然后去除重复的# print(list1 | list2)# 取并集# print(list1.difference(list2))  #取差集 在list中存在,在list2中没有的# print(list1 - list2)# print(list3.issubset(list1))#判断list3是不是list1的子集# print(list1.issuperset(list3))#判断list1是不是list3的父集# print(list1.isdisjoint(list3))#判断list1和list3是否有交集# print(list1.symmetric_difference(list2))# #对称差集,输出两个列表中都没有的值,也就是把两个集合中相同的去掉# print(list1 ^ list2)list1.add(888)#添加元素list1.update([777,666,666])list1.remove(777)#删除元素,如果元素不存在会报错list1.pop()#删除一个随机的元素,并返回删除的元素list1.discard(‘dddd‘)#如果删除的元素存在,删除,不存在不做处理
时间: 2024-10-08 19:01:27

20170604第四讲的相关文章

第四讲课后题

本讲主要学习了静态类的使用方法: 1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?". 代码: 1 package 课后四讲; 2 3 import javax.swing.JOptionPane; 4 5 class Example 6 { 7 static int value=0; 8 public Example() 9 { 10 value++; 11 12 } 13 } 14 public cl

PHP100-第四讲 PHP5.4 运算符、流程控制

PHP中有丰富的运算符集,它们中大部分直接来自于C语言.按照不同功能区分,运算符可以分为:算术运算符.字符串运算符.赋值运算符.位运算符.条件运算符,以及逻辑运算符等.当各种运算符同在一个表达式中时,它们的运算是有一定的优先级的,下面将详细介绍.PPT下载请点击 PHP5.4 的流程控制语句if / switch-- PHP100-第四讲 PHP5.4 运算符.流程控制,布布扣,bubuko.com

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议把昨天代码熟悉一遍(课程是紧跟着来的,请不要拉下任何一天,因为今天的知识, 可能就和昨天的知识挂钩,昨天的知识,和前天的挂钩.....,当然你如你懂汇编,不是新手,那么则可以直接往下看) 一丶远程线程注入,和汇编远程注入的区别 昨天的代码,大家可能看了(没看也没有关系,就是远程线程注入的代码,开发角

机器学习中使用的神经网络第四讲笔记

Geoffery Hinton教授的Neuron Networks for Machine Learning的第四讲主要介绍如何使用back propagation算法来学习到词汇的特征表示. Learning to predict the next word 接下来的几小节主要介绍如何使用back propagation算法来学习到词汇的特征表示.我们从一个很简单的例子开始,介绍使用back propagation算法来将词汇间的相关信息转换成特征向量. 下图给出了一个家庭的树状图,我们要做的

16位汇编第八讲指令第四讲

16位汇编第八讲指令第四讲 一丶串操作类指令 1.什么是串操作? 1.串操作指令是8086指令系统中比较独特的一类指令,采用比较特殊的数据串寻址方式,在操作主存连续区域 的数据是,特别好用.因而比较常用 简而言之,就是内存中的一段数据,拷贝/读取/修改... 到另一块另内存 重点掌握  MOVS  STOS  LODS CMPS SCAS REP 2.串操作的简介 1.串操作指令的操作数,是驻村中连续存放的数据串(String 注意string表示串的意思)--也就是一段数据在内存中 是连续的,

《上古天真论》第四讲文字版

上古天真论篇第四讲 主讲:徐文兵  主持:梁  冬 播出时间:2008-12-27  23:00—24:00 经文:志闲而少欲,心安而不惧,形劳而不倦,气从以顺,各从其欲,皆得所愿.美其食,任期服,乐其俗,高下不相慕,其民故曰朴. 梁冬:重新发现中医太美,大家好!欢迎收听今天晚上的国学堂之<黄帝内经>解读,仍然是我,梁冬.在过去几周里面呢,我们花了差不多三周四周的时间每周一个小时呢,讲了<黄帝内经>第一篇<上古天真论>,每周每一个小时,每周用是一个小时节目嘛,才讲了二十

机器学习基石第四讲笔记

第四讲介绍了机器学习是否可行的问题. 1. 从给定的资料D中,找出一个接近目标f的假设g是可行的.比如PLA.但是,找到的这个g能否用于D以外的地方,这就难说了. 2. Hoeffding's inequality回答了g是否能用于D以外的问题: (1)In probability theory, Hoeffding's inequality provides an upper bound on the probability that the sum of random variables d

《上古天真论》第十四讲文字版

上古天真论篇第十四讲 主讲:徐文兵  主持:梁  冬 播出时间:2009-03-14  23:00—24:00 经文:季以恬愉为务,以自得为功,形体不敝,精神不散,亦可以百数.其次有贤人者,法则天地,象似日月,辨列星辰,逆从阴阳,分别四时,将从上古合同于道,亦可使益寿而有极时. 梁冬:是的,重新发现中医太美,大家好!欢迎收听在这么晚,晚上十一点,坚持收听国学堂之重新发现中医太美,非常感谢!也同时呢,感谢我们今天的徐老师来到我们今天的演播室,徐老师你好!徐文兵:梁冬好!听众朋友们大家好!梁冬:是的

Unity3D教程宝典之光影烘焙:第四讲脚本控制

上一讲讲了用Light probes实现动态物体的非实时阴影,这一讲讲用代码实现代码实现动态物体的非实时阴影. 实现步骤:(1)新建一个场景,并建一个plane作为大地(2)创建Cube并缩放成扁平面后.复制Cube并旋转拼接搭建成一个敞篷.(3)讲上述物体设置static并烘焙.(4)创建一个player.这里用的unity自带的Character Controller包里的 3rd person controller这个prefab,拖进敞篷边.在该人物下找到Bip001 Pelvis这个节