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')#如果删除的元素存在,删除,不存在不做处理

转载于:https://www.cnblogs.com/maitreyads/p/7040670.html

20170604第四讲相关推荐

  1. SLAM十四讲笔记1

    文章目录 ch02 初识SLAM ch02-01 经典视觉SLAM框架 ch02-02 SLAM问题的数学表述 ch03 三维空间刚体运动 ch03.01 旋转矩阵:点和向量,坐标系 01 向量a在线 ...

  2. C#精髓 第四讲 GridView 72般绝技

    说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者 ...

  3. OC基础第四讲--字符串、数组、字典、集合的常用方法

    OC基础第四讲--字符串.数组.字典.集合的常用方法 字符串.数组.字典.集合有可变和不可变之分.以字符串为例,不可变字符串本身值不能改变,必须要用相应类型来接收返回值:而可变字符串调用相应地方法后, ...

  4. Javascript基础与面向对象基础~第四讲 Javascript中的类对象

    今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一 ...

  5. 开发人员应该对IIS理论层的知识了解的多一些~第四讲 HttpModule中的几大事件

    本文主要介绍HttpModule,它在一个网页请求过程中是一个怎样的过程是我们要知道的,在网页加载过程中HttpModule在何时被执行也是我们要知道的,以及,HttpModule在网页请求过程中,所 ...

  6. linux自学视频资料第四讲:目录

    大家下午好! 今天linux自学视频第四讲:目录 这一讲大家要记住linux中的文件的权限(这在第三讲中有讲到)和目录的权限 首先大家要记住:u g o 这三个字母的定义  然后是 r w x 这三个 ...

  7. [概统]本科二年级 概率论与数理统计 第四讲 连续型随机变量

    [概统]本科二年级 概率论与数理统计 第四讲 连续型随机变量 连续型随机变量的基本概念 均匀分布 指数分布 正态分布 推导正态分布的密度(de Moivre-Laplace定理) 标准正态分布 一般的 ...

  8. 斯坦福大学深度学习与自然语言处理第四讲:词窗口分类和神经网络

    斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...

  9. MIT自然语言处理第四讲:标注

    MIT自然语言处理第四讲:标注(第一部分) 自然语言处理:标注 Natural Language Processing: Tagging 作者:Regina Barzilay(MIT,EECS Dep ...

最新文章

  1. Google宣布5.5亿美元投资京东
  2. 【Python自学笔记】10个爬虫入门实例,附源码与注释
  3. R语言使用treemap包中的treemap函数可视化treemap图:treemap将分层数据显示为一组嵌套矩形、自定义设置treemap图的调色板、自定义设置treemap标题字体的大小
  4. HALCON基于灰度值的模板匹配
  5. 函数指针和函数指针数组及其应用
  6. SAP Leonardo机器学习如何获取模型存储的实际地址
  7. ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.1.165‘ (113)
  8. Linux内核模块自动加载机制 .
  9. 列表左右移动 2017-03-23
  10. 【JAVA】jacob写word
  11. 浅谈网站渗透的常用方法和一般思路
  12. 有了神经网络,带汤姆实时追踪杰瑞
  13. [1108]小米5S TWRP刷面具、EdXposed
  14. 工具篇:TailScale免费实现远程设备互连(无费用方案,亲测,零基础安装),支持手机、Windows或linux系统、NAS
  15. Oracle11安装教程
  16. Why is ksoftirqd using 100% of the CPU?
  17. 电动车充电软件测试,电动车充电分为哪几个过程
  18. 智能车扫线——斑马线识别
  19. 重新认识 Java 中的内存映射(mmap)
  20. android 阿拉伯数字转汉字,Android将阿拉伯数字转换为英文数字

热门文章

  1. CenterNet2训练自己的数据集
  2. 学校举办朗诵比赛,邀请了 10 位评委为每一名参赛选手的表现打分。假设列表 lst_score
  3. 如何读论文[论文精读]
  4. 线性回归模型(最小二乘法模型)诊断--R语言
  5. Redis server went away
  6. 刷爆朋友圈的虚幻引擎5,会给我们带来哪些影响?
  7. 架构师评价当前软件行业现状及发展前景
  8. 2022年中国工业软件市场现状及发展前景预测分析
  9. Word 任意页插入页码
  10. vuejs 配置路由