一,内置函数

#内置的模块
#拿过来直接就用的:内置的函数

 #!/usr/bin/env python
#_*_coding:utf-8_*_ #内置的模块
#拿过来直接就用的:内置的函数
#作用域相关(2)(了解)
#1.globals()==获取全局变量的字典
#2.locals()==获取执行方法所在命名空间内的局部变量的字典 #str类型代码执行相关(3)
#1.eval()==将字符串类型的代码执行并返回结果==(掌握)
#print(eval('1+2+3+4'))
#print(eval('{'a':1}')) #2.exec()==将自字符串类型的代码执行==(掌握)
#print(exec("1+2+3+4"))
#exec("print('hello,world')") #3.compile()==(了解)
#将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值
#http://www.cnblogs.com/Eva-J/articles/7266087.html
#正常代码执行过程 读代码》执行
# 字符串》转换成代码》执行
#compile()帮你去完成字符串》转化的过程
# com = compile('1+2+3','',mode='eval') 编译 节省时间
# print(eval(com))
# print(eval(com))
# 上面代码和下面代码结果一样,但是上面是先编译后执行的,下面代码每一次执行都要编译
# print(eval('1+2+3'))
# print(eval('1+2+3'))
#mode 有 eval(有返回值) exec(无返回值)
# single # 这个模式千万不要用,会把内存改的乱七八糟 ********* 没懂
# s = "name = input('user:')"
# com = compile(s,'',mode='single')
# exec(com) #其他(11)
#输入输出(2)(了解)
#1.input()==输入==输入的值str数据类型
#2.print()==输出
# def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
"""
# print源码剖析 print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件
sep: 打印多个值之间的分隔符,默认为空格,必须关键字传参,seq = ','
end: 每一次打印的结尾,默认为换行符
flush: 立即把内容输出到流文件,不作缓存 f = open('tmp_file','w') ####################### 未来写日志用
print(123,456,sep=',',file = f,flush=True)
""" #数据类型(1)(掌握)
#type(o)==返回变量o的数据类型 #内存相关(2)(掌握)
#id(o)==o是参数,返回一个变量的内存地址
#hash(o)==o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错
'''
hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。
*每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。
t = (1,2,3)
l = [1,2,3]
print(hash(t)) #可hash
print(hash(l)) #会报错
结果:
TypeError: unhashable type: 'list'
hash实例
当你需要唯一的值需要的时候才会用到
''' #身份运算(课外补充)
#is 比对值和内存地址 id
#== 只是比对值 #文件操作相关(1)(掌握)
#open()==打开一个文件,返回一个文件操作符(文件句柄)
#r,w,a,r+,w+,a+,(都可以+b)
# f = open('tmp','r+')
# print(f.read(3))
# f.seek(5)
# f.write('ccccccc')
# #不要一边写一边读
# f.close()
#r+打开文件
#如果直接写 从头覆盖
#如果读了再写 追加
#如果seek指定了光标的位置 就在从该位置开始覆盖着写 #模块操作相关(1)(掌握)
#_import_==import==导入一个模块 import相当于_import_语法糖
# print(1+2)
# print(sum(1,2)) #帮助(1)(了解)
#help()==帮助模式,可以随意输入变量或者变量的类型。输入q退出。或者直接执行help(o),o是参数,查看和变量o有关的操作。 #调用相关(1)(了解) 判断是不是可调用
#callable(o)==o是参数,看这个变量是不是可调用。
#如果o是一个函数名,就会返回True
'''
def func():pass
print(callable(func)) #参数是函数名,可调用,返回True
print(callable(123)) #参数是数字,不可调用,返回False
'''
# print(callable(123)) FALSE
# print(callable(open)) TRUE #查看参数所属类型的所有内置方法(1)(掌握)
#dir()==默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量
'''
print(dir(list)) #查看列表的内置方法
print(dir(int)) #查看整数的内置方法
'''
# print(dir(__builtins__)) #告诉所有内置的名称
# print(dir(int))
# print(dir(list))
# print(set(dir(list)) - set(dir(tuple))) #list方法有,tuple里面没有的 #数字相关(14)
#数据类型相关(4)
#bool==
#int==
#float==
#complex==复数==(了解) #进制转换相关(3)=(了解)
#bin==二进制
#oct==八进制
#hex==六进制 #数学运算(7)
#abs==计算绝对值
#divmod==返回(除,余)
# divmod(7.3) == (2,1)
#min==计算最小值
#min(list,数字),可以使序列,可以使散列
#max==计算最大值,可以是序列,可以是散列
#sum==求和==参数必须是一个序列类型
# print(1+2) == print(int(1).__add__(2))
#round==小数的精确
#pow==幂次方的运算
# print(pow(2,2)) #数据结构相关(24)
#序列(13)
#列表和元祖(2)
#相关内置函数(2)
#1.reversed()==顺序的反转
# l = [1,2,3,4]
# print(list(reversed(l))) #生成一个新列表,迭代器
# l.reverse() #更改了源列表
# print(l)
#2.slice()略过
#字符串(9)
#1.str()==关键字
#2.format()
# print(format('test', '<20')) 左对齐,开辟20个空间
# print(format('test', '>40')) 右对其
# print(format('test', '^40')) 居中
#3.bytes()==(掌握)
# s = "你好"
# sb = bytes(s,encoding='utf-8')
# print(sb)
# ret = sb.decode('utf-8')
# print(ret)
#4.bytearray()==字节数组
# sb2 = bytearray(s,encoding='utf-8') #列表
# print(sb2)
# sb2[0] = 229
# print(sb2.decode('utf-8'))
# print(sd(s))
#5.memoryview()
#6.ord()==字符按照unicode转数字
#7.chr()==数字按照unicode转字符
#8.ascii()==字符串转ascii
#9.repr==用于%r的格式化输出==(掌握)
# print(repr('1234'))
# print(repr(1234))
# print('name : %r'%('egon')) 保留引号 #数据集合(3)
#字典(1)
#dict()
#集合(2)
#set()
#frozenset()不可变得集合,括号内加集合 #相关内置函数(8)
#len() 字典也是有长度的 == (掌握)
#enumerate()==有一个拆包过程 == (掌握)
# for i,j in enumerate(l,1):
# print(i,j)
#all()==有一个不是真,就返回false
# print(all([1,2,3]))
# print(all([0,2,3]))
# any()
# print(any([0,1,0]))
# print(any([0,0,0]))
# zip()
# l = [1,2,3]
# l2 = [4,5,6]
# print(zip(l,l2)) #地址
# print(list(zip(l,l2))) #只取前面匹配住的,超过按短的来.字典也可以
# l = [1,2,3] #3
# l2 = {'k':'v'} #1
# print(zip(l,l2))
# print(list(zip(l,l2)))
#sorted()==排序==(掌握)
#sort针对list的成员函数sort进行排序,不返回副本
# l = [1,3,5,-2,-4,-6]
# l.sort()
# print(l) # l2 = [1,3,5,-2,-4,-6]
# print(sorted(l2,key=abs,reverse=True)) #创建新的内存地址,返回了一个新的列表,也不修改原列表
# print(sorted(l2)) #abs按绝对值排序,reverse降序
# print(l2) # filer() #从一个列表当中找到符合筛选条件的组成新列表==(掌握)
# map() #对一个列表当中每一个值,做一样的操作,组成新的列表
# filter  第一个参数,判断函数,第二个参数,可迭代对象
# filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
# 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
# 语法:filter(function, iterable) filter返回迭代器
def is_odd(n):
return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist) # <filter object at 0x102079b00>
for i in newlist:
print(i) # 13579
# 匿名函数写法
print(list(filter(lambda x:x%2==1,[1,2,3])))
# map() 会根据提供的函数对指定序列做映射。第一个是函数,第二个是可迭代对象,第三个一样。。。
# 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
# 语法 map(function, iterable, ...)
def square(x,Y) : # 计算平方,如果参数多个,那么是相对位置
return x ** 2,Y ** 2 print(map(square, [1,2,3,4,5])) # 计算列表各个元素的平方,返回迭代器
for i in map(square, [1,2,3,4,5],[6,7,8]):
print(i)
'''
(1, 36)
(4, 49)
(9, 64)
''' # 匿名函数写法
print(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # 使用 lambda 匿名函数
# 提供了两个列表,对相同位置的列表数据进行相加
map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

python开发函数进阶:内置函数的更多相关文章

  1. Python开发基础-Day11内置函数补充、匿名函数、递归函数

    内置函数补充 python divmod()函数:把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b) 语法: divmod(a, b) #a.b为数字,a为除数,b ...

  2. Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数

    Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: ​ 就是迭代器 生成器产生的方式: ​ 1.生成器函数

  3. Python标准库:内置函数hasattr(object, name)

    Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...

  4. python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...

  5. python之三元表达式、列表推导、生成器表达式、递归、匿名函数、内置函数

    目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print( ...

  6. Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器)

    Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器) 1.初始函数 2.函数嵌套及作用域 3.装饰器 4.迭代器和生成器 6.内置函数 7.递归函数 8.匿名函数

  7. Python 入门基础12 --函数基础5 匿名函数、内置函数

    今日内容: 1.三元表达式 2.列表.元组生成式 | 字典生成式 3.递归 4.匿名函数 5.内置函数 一.三元表达式 三元运算符:就是 if...else... 语法糖 前提:if 和 else # ...

  8. python协程函数、递归、匿名函数与内置函数使用、模块与包

    目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a. ...

  9. python基础之函数式编程、匿名函数、内置函数

    一 函数式编程 不修改外部状态. 模仿数学里得函数进行编程. 用函数编程写出得代码相当精简. 可读性比较差. 例子: y=2*x+1 x=1 def test(x): return 2*x+1 tes ...

  10. python 基础篇 15 内置函数和匿名函数

    ------------------------>>>>>>>>>>>>>>>内置函数<<< ...

随机推荐

  1. css 中的background:transparent到底是什么意思有什么作用

    有时我在看css时,看到有的css属性定义为background:transparent.意思就是背景透明.实际上background默认的颜色就是透明的属性.所以写和不写都是一样的 有段时间没写文章 ...

  2. 在Windows下MyEclipse运行JAVA程序连接HBASE读取数据出错

    运行环境:Hadoop-2.5.0+Hbase-0.98.6 问题描述: 15/06/11 15:35:50 ERROR Shell: Failed to locate the winutils bi ...

  3. hdu 5980 Find Small A(水,模拟)

    Find Small A Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  4. IOS-通讯录

    一.通讯录简介 iOS提供了AddressBook.framework框架,允许开发者与设备中的通讯录进行数据交互   二.查询授权状态 可以调用ABAddressBookGetAuthorizati ...

  5. S3C2440启动方式

    不管S3C2440的启动设备是什么,它都是从0x0000 0000地址开始执行程序的,所不同的是地址的映射不一样.基于S3C2440的嵌入式系统上电之后,需要首选选择启动设备,2440的启动方式选择是 ...

  6. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xiaozao_web]]

    二月 20, 2017 11:30:28 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...

  7. LeetCode OJ:First Missing Positive (第一个丢失的正数)

    在leetCode上做的第一个难度是hard的题,题目如下: Given an unsorted integer array, find the first missing positive inte ...

  8. JAVA代码反编译笔记

    最近有个朋友说有个java弄的软件是从朋友处拿来的,由于进行了网卡地址绑定,不修改网卡地址无法使用,叫我看看有无办法破解,之前都很少玩这些东西,本着帮忙的心态,尝试了下,便有了一下的笔记内容. 1.使 ...

  9. React Native组件(一)组件的生命周期

    相关文章 React Native探索系列 前言 React Native有很多组件比如Image.ListView等等,想要合理的使用组件,首先要先了解组件的生命周期. 1.概述 无论你是开发And ...

  10. c++ 字符串查找函数

    头文件:#include <string.h> 定义函数:int strcasecmp (const char *s1, const char *s2); 函数说明:strcasecmp( ...