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. Flex上传文件Java端解决中文乱码问题

    1.Flex端进行编码 public function encodeStr(str:String, charSet:String):String { var result:String =" ...

  2. nginx+keepalived构建高可用服务

    1.整体环境规划 虚拟IP:10.0.4.248 主Nginx:10.0.4.249 备用Nginx:10.0.4.250 2.keepalived安装 #cd /usr/local/src #wge ...

  3. C++ 类模板一(类模板的定义)

    //类模版语法 #include<iostream> using namespace std; /* 类模板和函数模板深入理解 1.编译器并不是把函数模板处理成能处理任何类型的函数 2.编 ...

  4. 【BZOJ】3300: [USACO2011 Feb]Best Parenthesis(模拟)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3300 这个细节太多QAQ 只要将所有的括号'('匹配到下一个')'然后dfs即可 简单吧,,, #i ...

  5. git上解决代码冲突(merge版)

    1.切换到master: git checkout master 2.拉最新代码:git pull origin master 3.切换到提交的分支:git checkout Txxxx 4.合并:g ...

  6. EntityFramework增删改查

    http://www.cnblogs.com/libingql/archive/2013/01/29/2881988.html

  7. JavaScript------如何解决表单登录信息输入为空显示提示

    <form name="fname" method="post" action="../Home/Login" onsubmit=&q ...

  8. mysql查询某天是本年第几周

    SELECT WEEK(date_add('2012-12-31',interval 6 day),2);

  9. SQL-修改: 将日期修改为空NULL、修改为空的记录

    1.将日期修改为空NULL update 表 set 字段=null where 字段='' 如果设置为‘’,会默认1900-01-01 2.修改为空的记录 update [dbo].[pub_ite ...

  10. emo前端

    1 点击按钮可以在form中添加input控件,以name给input编号,然后点击按钮ajax上传表单,在回调函数中弹框显示结果: <form id="newfriends" ...