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. 脚本 sh 和 ./ 的区别,exec和source

    如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径: ./executable-file PATH是环境变量,如果将当前目录“./”添加到环境变量中,那么也可以不用“./”,直接输入当前 ...

  2. npm太慢, 淘宝npm镜像使用方法[转]

    淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...

  3. Linux高频指令总结

    作为一个计算机专业的科班,不会玩Linux怎么能行呢?玩Linux用可视化界面显得太low了,为了效(zhuang)率(bi),当然要用什么都用指令啊,可是指令太多了啊,现在就把平时遇到的高频的指令做 ...

  4. Tomcat7 自动加载类及检测文件变动原理

    在一般的web应用开发里通常会使用开发工具(如Eclipse.IntelJ)集成tomcat,这样可以将web工程项目直接发布到tomcat中,然后一键启动.经常遇到的一种情况是直接修改一个类的源文件 ...

  5. android viewpager嵌套使用photoview异常问题

    最近,做项目时,遇到一个需求,需要像淘宝评论那样,一组图点开,然后可以双指滑动放大,并左右切换换图的功能.自然就想到了使用viewpager+photoview来实现这一功能,但是在实现后,却发现一个 ...

  6. MySQL集群系列2:通过keepalived实现双主集群读写分离

    在上一节基础上,通过添加keepalived实现读写分离. 首先关闭防火墙 安装keepalived keepalived 2台机器都要安装 rpm .el6.x86_64/ 注意上面要替换成你的内核 ...

  7. node js 读取mysql

    1.新版node自带npm 2.下载npm不需要node命令 3.懒得配环境变量.直接把生成的npm复制到报错目录,再把mysql模块复制回来 var mysql = require('mysql') ...

  8. python 数据提取之JSON与JsonPATH

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与 ...

  9. 【问题】SUSE已经安装了libsodium,安装zeromq时出现下面的错误?

    1.[问题]SUSE已经安装了libsodium,安装zeromq时出现下面的错误? checking for libsodium... no configure: error: Package re ...

  10. mysql5.7的密码

    [root@mysql ~]# grep "temporary password" /var/log/mysqld.log 2018-04-03T08:08:05.867624Z ...