1.1 all() 和 any( )

 

all()
any()
 
0,None,"", [], (),{} #布尔值为0的 列举,None ,空列表,空元祖,空
print(bool(()))
 
所有为真,才为真
n = all([1,2,3,None])
print(n)
 
只要有真,就为真
n = any([[],0,"",None])
print(n)
 
ascii() # 自动执行对象的 __repr__
class Foo:
def __repr__(self):
return "444"
 
n = ascii(Foo())
print(n)
bin()
oct()
hex()
print(bin(5))
print(oct(9))
print(hex(15))
 
 
1.2、callable( )
li=[11,22,33,44,]
def f1(arg):
    arg.append(55)
 
 
#li = f1(li)  ##从新复制的,函数默认返回None
f1(li)
print(li)
 
def f1():
    pass
 
f2=123
f2()
 
print(callable(f1)) #验证函数是否可执行
print(callable(f2))
 
==========================================================================
 
#char() #内置函    把一个数字转化为字母
#ord()  #内置函数  把一个字母转化为数字
 
>>> ord("存")
23384
>>> chr(23384)
'存'
>>>
 
r=chr(55)
print(r)
n=ord("a")
print(n)
 
'''
 
'''
import random  #生成随机验证码
li= []
for i in range(6):
    temp=random.randrange(65,90)
    c=chr(temp)
    li.append(c)
 
result="".join(li)
print(result)
 
import random  #生成随机验证码
li= []
 
 
for i in range(6):
    r=random.randrange(0,5) #这个本来就是不确定法的,所以当指定的数值出现时,机会生成个 str()字符串形式,增加到列表中。
    if r==2 or r ==4:
       num=random.randrange(0,10)
       li.append(str(num)) # 注意此处的
    else:
       temp=random.randrange(65,90)
       c=chr(temp)
       li.append(c)
result=''.join(li)
print(result)
 
 #生成随机验证码方法三
import random    
li= []
code=[]
for i in range(6):
    if i ==random.randint(1,5):
        code.append(random.randint(1,5))
 
    else:
        temp=random.randint(65,90)
        code.append(chr(temp))
print(code)
 
 
 
####################################################
 
'''
compile()      #专门用来编译,将字符串编译成 python 代码
 
s='print (123)'
r
 
 
 
两都执行 python代码的,不同的是结果有无返回。。。。
#exec()  #函数显更niubi ,接收代码或者字符串。无返回值
#eval()  #执行专门 接收处理 表达式. 返回一个结果有返回值。【用~的多】
 
需求实现,给你一个excel,利用eval处理;
 
'''
'''
ret=exec('8*8') #exec无返回值,得不到64的值
print()
 
ret=eval('7+9+9')
print(ret)
 
ret=eval('print (123)') #eval执行表达式,就像是 字符串。
print (ret)
执行结果:
 
None
25
123
None
 
'''
print (dir(list))  #内部函数
help (list)      #功能显示
 
'''
 
'''
#需求实现:分页的实现。
#共有97页,每页显示10条,需要多少页。
r=divmod(199,10) #a 除以b 得到的商和余数。
print(r[0])
print(r[1])
 
n,m=r[0],r[1]
执行结果:
19
9
 
 
==================================================================
#对象和类区别?
#s='alex'  #对象【str】 'alex'===> str , list
 
#对象是类的实例
#用于判断某个对象-->是否为某个类的实例。
s='alex'
r=isinstance(s,dict)
 
print (r)
 
#字典才是字典的实例,
s=[11,11,11]
b=isinstance(s,list)
print(b)
 
'''
 
################################################
'''
#字典和列表,元祖都是可迭代的对象。
#Python内建的filter()函数用于过滤序列。
#和map()类似,filter()也接收一个函数和一个序列 。
#和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
 
#filter(函数,可迭代对象)
def f2(a):
if a>22:
return True
li=[11,22,33,44,55] ret=filter(f2,li)
print(ret) #因为ret 是个元素,是个filter 类型。
print(list(ret))
print(tuple(ret))
#filter内部,循环第二个参数,
#根据True 或者 false
执行结果:
<filter object at 0x0000010B5E6E2048>
[33, 44, 55]
()
 
 
#方法二:【三元运算】
lst = [11,22,33,44,55]
y = [a for a in lst if a > 22]
 
print(y)
 
 
 
#lambda 自动return True false
f1=lambda a:a>30
ret=f1(90)
print(ret)   #返回的是True.可用在此处~~~~
 
##比较的是:lambda也是函数。通过他也能实现出来。
llit=[32,32,13,78,79]
result=filter(lambda a: a>32,llit)
print(list(result))
 
'''
 
##########################################################
'''
#map()函数
 
#此函数类加+100
list1=[11,22,33,44,55]
def f1(args):
    result=[]
    for i in args:
        result.append(100+i)
 
    return result
f1(list1)
print(f1(list1))
 
#进行更简单的方法,引出map()
#map(函数,可迭代的对象(PS:可以for 循环的东西,如list,tuple.....))
 
 
list1=[11,22,33,44,55]
def f2(a):
return a+100
result=map(f2,list1)
print (result)
print(list(result))
执行结果:
<map object at 0x00000223B5EA8588>
[111, 122, 133, 144, 155]
 
对比的是:
list1=[11,22,33,44,55]
def f2(a):
return a+100
result=map(f2,list1)
print (result) #打印出类型
print(tuple(result)) #此处使用的tuple可迭代的对象。。
执行结果:
<map object at 0x000002E5DC3F8588>
(111, 122, 133, 144, 155)
 
print('=======================')
#NEXT....也可简单的用lambda函数。
result=map(lambda a:a+100,list1)
print(result)
print(list(result))
 
#总结:
#filter #函数返回True,将元素添加到结果中
#map #将函数返回值添加到结果中。。。。
 
#学生附加题
li = [11,22,33,44,55]
result = map(lambda a:a+100,list(filter(lambda a:a>33,li)))
print (list(result))
 
'''
##############################################################
'''
# locals()  #局部变量
# globals() #全局变量
#
# id()     #内存地址
# isinstance()
# issubclass()
 
byte( )内置函数使用。
#len()     #使用字典啊,列表啊
s='李姐'
print(len(s)) #说6或者2都对,
# python3更进步了【默认显示是字符】。。
#python2 显示的是【显示是字节】。
s='李姐'
b=bytes(s,encoding='utf-8') #byte 是字符串转换为 字节。【从硬盘到内存】
print(len(b)) #python3用这种方式显示的字节。。【重要呢~~~】
 
执行结果:
"C:\Program Files\Python35\python.exe" "C:/Users/ju do it/PycharmProjects/untitled1/day04/笔记部分/s2.py"
2
6
 
========================================================================================================================
 
'''
提示:
#将一个字符串转换为一个字典和列表等,字符串内部的必须是双引号。
 
 
import json
s='[1,2,3,"ew",2]' ##此处的里的元素是双引号,不能是单引号。注意
#s='["k1":"v1"]'
n=json.loads(s)
print(type(n),n)
执行结果:
<class 'list'> [1, 2, 3, 'ew', 2]
 
 
#NEXT
 
r=input("input:")  #定义个字符串,因为默认的输入的为字符串。
 
#dic=json.loads(r)
dic='server 10.10 122.32,ip:192.168.1.1 weight:23,maxconn:30'
bk=dic['backend:']
rb="server %s %s weight %d  maxconn %d" % (dic['record'])['server'],\
                                           dic['record']['server'],\
                                           dic['record']['weight'],\
                                           dic['record']['maxcon'])
 
 
'''
########################################################
'''
#map() 对比filter()
 
#@property  和  __repr__(self):
#repr()
#staticmethod()
 
#reversed() #反转
#round()  四舍五入
 
#slice() #
 
l1=["alex",11,22,]
l2=['is',12,23,]
l3=['sb',13,14]
r=zip(l1,l2,l3)
#print(list(r))
 
temp=list(r)[0]
ret=' '.join(temp)
print(temp)
print(ret)
'''
###########################################
###########################################
 
'''
 
 
def login(func):
#print ('登录成功!')
def iner():
print ('登录成功!') func() #这里也是第一次执行f1()
#return func() #这里是第二次执行f1()
#注意的是遇到了 return 就会终止~执行。
print ('退出登录') #return iner() #正规写法
return iner #返回函数体等同于和那个执行函数 inner( )= f1( )函数。

# 执行函数

@login

def f1():

    print('F1')

 

f1()

 
#@+函数名
#功能:  1. 自动执行outer()函数并将下面的函数当f1当做参数传递
#           2. 将login() 函数返回值,重新赋值给 f1 .
 
'''
def login(func):
#print ('登录成功!')
def iner():
print ('登录成功!')
r=func() #这里是第一次执行f1()
print ('退出登录') return r #返回f1()函数执行的return值。。 #return iner() #错误写法,返回的是None.就说为空。
return iner #返回函数体 @login
def f1():
print('F1')
return 'f1操作成功' ###main code####
ret=f1()
print ("返回值",ret)
执行结果:
登录成功!
F1
退出登录
返回值 f1操作成功
 
'''
 
#########万能参数##########;
'''
def login(func):
#print ('登录成功!')
def iner(*args,**kwargs):
print ('登录成功!')
r=func(*args,**kwargs) #这里是第一次执行f1()
print ('退出登录') #return r #返回f1()函数执行的return值。。
#对比,这里才是真正执行 下面函数的地方。
return r #return iner() #错误写法
return iner #返回函数体 @login
def f1(arg):
print('F1',arg)
return 'f1操作成功' @login
def f2(a1,a2):
print('F2',a1,a2)
return 'f2操作成功' @login
def f3():
print('F3')
return 'f3操作成功' #main code 执行函数;
ret=f1('砍他')
print ("返回值",ret)
 
执行结果:
登录成功!
F1 砍他
退出登录
返回值 f1操作成功
##################################################
 
 
 
 
 
 
 
 
 

python s13 day04的更多相关文章

  1. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

  2. Python:Day04

    数学运算符: +  加 -  减 *  乘 **  指数运算 /  除 //  整除 %  取余 比较运算符: >  大于 <  小于 >=  大于等于 <=  小于等于 == ...

  3. Python学习 day04打卡

    今天学习的主要内容: 一,列表 1,列表的介绍 列表是python的基础数据类型之一,其他编程语音也有类似的数据类型.例如:JS 中的数组Java中的数组等等. 它是以[]括起来,每个元素用',隔开而 ...

  4. Python学习 day04

    一.list list可以存放各种类型的数据,与java中list类差不多,比如li = ['keith', 1, True, [1, 2, 3], {name: 'tangtang', age: 1 ...

  5. Python基础-day04

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个 ...

  6. python自学Day04(自学书籍python编程从入门到实践)

    第5章 if 语句 5.1 一个简单的示例 使用前面的解析列表构建一个0-9的数值列表. 判断0是否在列表中,如果在输出 0在列表A中 A = [i for i in range(0,10)] if ...

  7. python之选课系统详解[功能未完善]

    作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类--   2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能       遇到的困 ...

  8. python运维开发(六)----模块续

    内容目录 反射 模块 os模块 sys模块 md5加密模块 re正则匹配模块 configparse模块 xml模块 shutil模块 subprocess模块 反射 利用字符串的形式去对象(模块)中 ...

  9. python运维开发(五)----模块、生成器

    内容目录 双层装饰器 字符串格式化 生成器和迭代器 递归 模块 双层装饰器 需求场景介绍: 现有用户登录系统,普通用户能查看自己相关信息的权限,管理员用户能查看所有用户的权限,可以做两个装饰器来实现需 ...

随机推荐

  1. c# 中的UserControl是什么 用户控件和自定义控件有什么区别

    用户控件是许多控件的集成 自定义控件是自己写一个控件类,或者继承已有的控件类 复合控件是封装在公共容器内的 Windows 窗体控件的集合.这种控件有时称为“用户控件”.包含的控件称为“构成控件”. ...

  2. JS对象序列化为JSON对象的方法

    var $ = $ || {}; /** * 将JS对象序列化为JSON字符串 * @param {Mixed} o The variable to decode * @return {String} ...

  3. Zookeeper实战

    这里的实战主要是用Java API对Zookeeper进行相应的操作,来实现我们的业务需求.首先简单地测试一下Zookeeper节点的增删改查操作,然后测试两个例子,分别是分布式应用HA以及分布式锁. ...

  4. Crosses Puzzles zoj 4018 (zju校赛)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5746 题目大意: N*M的方格里,每个格子有一个指针,一开始指向上下左右四个方 ...

  5. java拆装箱(转)

    转载:http://www.cnblogs.com/dolphin0520/p/3780005.html 深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就 ...

  6. java中Comparator的用法 -- 实现集合和数组排序

    在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类Step package com.l ...

  7. 修改一些IntelliJ IDEA 11的设置,使Eclipse的使用者更容易上手(转)

    用惯了Eclipse,再来使用IntelliJ IDEA真是很难适应. 设置1:字体 修改IDE的字体:设置-Appearance-Look and Feel-OverRide设置你想要的字体.我设置 ...

  8. mui 子页面切换父页面底部导航

    在父页面中新增方法: function switchTab(tab){ plus.webview.hide(activeTab); activeTab= tab; plus.webview.show( ...

  9. 一入python深似海--变量和对象

    一.基本原理 Python中一切都是对象,变量是对象的引用. 这是一个普遍的法则.我们举个样例来说.Python是怎样来处理的. x = 'blue' y = 'green' z = x 当pytho ...

  10. Jmeter常用函数

    一._csvRead 函数 _cvsRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数. 步骤: 1.先新建一个文件,例如c.txt,里面的数据存放为 web@qq.com, ...