Python-全局函数(内置方法、内置函数)
Python有很多内置方法,这些都全局可用
abs() 求数值的绝对值,如果是复数则返回其模
print(abs(-17), abs(30.2), abs(3+4j))
# Python中复数表示为 3 实部 4虚部, + j
all() 可迭代对象所有元素为True则返回True,否则返回False
print(all([1, 3, ""]), all([1, 3, " "]))
# 空格字符也算一个有效字符
print(all([1, 3, " "]), all([1, 3, None]))
any() 可迭代对象所有元素为False则返回False,否则返回True
print(any([None, {}, ""]), any([1, (), ""]))
ascii() 以ascii码依据转换为字符串,非ascii如UTF-8字符则有\u前缀进行转义
print(ascii("北门吹雪"), ascii(33))
bin() 整数转换为二进制字符串,遵守Python协议 __index__返回整数
class Number:
def __index__(self):
int_number = 33
return int_number print(bin(33))
print(bin(Number()))
bool() 对值进行布尔运算,一般 None、空字符串、空列表、空元组、空集合、空字典、0等空元素和空数据结构为False,其他为True
print(bool(None))
print(bool(" "))
print(bool(""))
print(bool([]))
print(bool({}))
bytearary 返回新的二进制数组,和list数据结构类似,拥有序列大多数方法,这个是存放二进制数据,添加数据需要输入整数参数范围为(0, 256)
number = bytearray("北门吹雪", encoding="utf-8")
number.append(11)
number.insert(0, 12)
print(number, type(number))
bytes 返回一个二进制不可变对象
# 通过encoding指定转换对象字符编码
print(bytes("北门吹雪", encoding="utf-8"))
callable 判断对象是否可调用,遵守Python协议 __call__ ,类通过该魔法方法调用
class BeiMenChuiXue:
def __call__(self, *args, **kwargs):
print("Hai, BeiMenChuiXue") BeiMenChuiXue()()
print(callable(BeiMenChuiXue))
chr 返回数字对应的Unicode字符
print(chr(21271))
print(chr(38376))
print(chr(21561))
print(chr(38634))
ord 返回Unicode字符对应的数字
print(ord("北"))
print(ord("门"))
print(ord("吹"))
print(ord("雪"))
complex 返回复数, 分real和imag两个部分,通过+来连接real和imag,j标识imag部分
print(complex("4+5j"))
print(complex(4, 6))
delattr 删除对象中一个实例属性
class BeiMenChuiXue:
def __init__(self, name, skin, is_student):
self.name = name
self.skin = skin
self.is_student = is_student beimenchuixue = BeiMenChuiXue("北门吹雪", 'yellow', True)
print(beimenchuixue.name)
# 删除对象中的属性
delattr(beimenchuixue, "name")
print(beimenchuixue.name)
dict 生成一个新的字典对象
print(dict(), type(dict()))
dir 没有参数返回当前作用域变量和方法列表,添加对象则返回对象中变量和方法列表,遵守Python协议 __dir__ 必须返回属性列表
name = "北门吹雪"
print(dir()) def study():
age = 10
return age class Student:
def __init__(self, name):
self.name = name def study(self):
age = 10
return age beimenchuixue = Student("北门吹雪")
print(dir(study))
print(dir(beimenchuixue))
divmod 非复数整数,a//b a%b, 返回整除整数和余数
print(divmod(10, 3.0))
enumerate 返回一个枚举对象,可以指定start指定枚举计数,默认为0
# start指定枚举计数, 参数必须是iterable对象
enu_object = enumerate("BeiMenChuiXue", start=1)
print(enu_object, type(enu_object)) # 返回的是元组形式
for member in enu_object:
print(member)
eval 运行字符串代码,不更改源码逻辑,可完成数学运算
sum = 0
print(sum + 1)
print(eval("sum + 1"))
eval("sum + 1")
print(sum)
result = eval("1+3*(6+1)*5")
print(result)
exec 运行字符代码,改变源码逻辑
sum = 0
exec("sum += 1")
print(sum)
filter 依次取出iterable中元素交给一个函数,取返回True的元素
import random
# 生成 -10 到 10 之间的随机整数
numbers = [random.randint(-10, 10) for _ in range(10)] def is_natural(number):
"""判断是否是自然数"""
if isinstance(number, int) and number >= 0:
return True
else:
return False # 返回filter对象
result = filter(is_natural, numbers)
print(list(result))
float 把字符串转换为float数据,自动去除两边空格,遵守Python协议 __float__
print(float("12.3"))
print(float(" 12"))
print(float("+105 "))
print(float(" -105 "))
# 没参数则返回 0.0
print(float()) class BeiMenChuiXue:
def __float__(self):
return 10.3 print(float(BeiMenChuiXue()))
format 格式化字符串
name = "BeiMenChuiXue" print("{name} is studying Python".format(name=name))
globals 当前模块的全局变量字典
print(globals()) def hello():
age = 19
print(globals()) hello()
getattr 通过字符串获取对象属性和方法值,一般联合hasattr使用
class BeiMenChuiXue: def hello(self):
print("Heai, biemenchuixue") beimenchuixue = BeiMenChuiXue()
print(getattr(beimenchuixue, 'hello', None))
hasattr 判断对象中是否有对应字符串的属性和方法
class BeiMenChuiXue: def hello(self):
print("Heai, biemenchuixue") beimenchuixue = BeiMenChuiXue()
if hasattr(beimenchuixue, "hello"):
getattr(beimenchuixue, "hello")()
hash 返回对象的hash值,遵守Python协议 __hash__, 依据主机位宽截取,分32位和64位
class BeiMenChuiXue: def __hash__(self):
return 6666 beimenchuixue = BeiMenChuiXue()
print(hash("2222"))
print(hash(beimenchuixue))
help 获取方法名和方法名下面的注释
class BeiMenChuiXue: def __hash__(self):
"""北门吹雪"""
return 6666 beimenchuixue = BeiMenChuiXue()
print(help(beimenchuixue))
hex 将整数转换为16进制,遵守Python协议 __index__,返回一个整数
class BeiMenChuiXue: def __index__(self):
return 222 beimenchuixue = BeiMenChuiXue()
print(hex(beimenchuixue))
print(hex(222))
id 获取对象内存地址,10进制
name = "BeiMenChuiXue"
print(id(name))
print(hex(id(name)))
input 获取终端标准输入,自动去除末尾换行符,返回的是字符串
name = input("请输入你的名字:")
print(name)
int 默认10进制,将其他对象转换为10进制,base指定字符的进制,无对象则为0,遵守Python协议 __index__返回一个整数
print(int(1.10))
print(int(" 22"))
print(int('0b10110', base=2))
isinstance 判断对象是否是某种或多个类型,判断对象是否继承某个类
Python-判断变量类型和继承树-isinstance type
issubclass 判断类是否是某个类的子类
class Father:
pass class Son(Father):
pass print(issubclass(Son, Father))
iter 返回迭代器对象,遵守Python协 __iter__ __next__ 或 __getitem__
students = ["QiNiuYun", "BeiMenChuiXue", "JinRiTouTiao", "TengXun"]
print(hasattr(students, '__next__')) # 返回一个迭代器对象
students_iter = iter(students)
print(hasattr(students_iter, '__next__'))
print(students_iter.__next__())
len 获取对象长度, 遵守Python协议 __len__, 需要返回 len() 对象
class Student(object):
def __init__(self, names):
self.names = names def __len__(self):
return len(self.names) students = Student(["QiNiuYun", "BeiMenChuiXue", "JinRiTouTiao"])
print(len(students)) print(len(["QiNiuYun", "BeiMenChuiXue", "JinRiTouTiao"]))
list Python中列表,可以将Iterable转换为列表
print(list())
print(list("BeiMenChuiXue"))
print(list((i*5 for i in range(10))))
local 返回当前作用域中变量和值字典
def beimenchuixue():
name = "BeiMenChuiXue"
age = 19
print(locals()) beimenchuixue()
map 将可迭代对象依次传入函数,返回可迭代对象
def go_upper(value):
if isinstance(value, str):
return value.upper()
return '' result = map(go_upper, ["beimenchuixue", 'qiniuyun', 'jinritoutiao'])
print(type(result))
print(result.__next__())
max 获取可迭代对象最大项元素
print(max([1, 2, 3]))
print(max('beimenchuixue'))
min 获取可迭代对象最小项元素
print(min([1, 2, 3]))
print(min('beimenchuixue'))
next 获取迭代器下一个值,没有则触发StopIteration错误,也可以传递一个默认值,迭代耗尽时返回默认值,遵守Python协议 __next__
def go_upper(value):
if isinstance(value, str):
return value.upper()
return '' result = map(go_upper, ["beimenchuixue", 'qiniuyun', 'jinritoutiao'])
print(next(result)) class BeiMenChuiXue:
def __init__(self):
self.index = 0 def __next__(self):
self.index += 1
return self.index beimenchuxue = BeiMenChuiXue()
print(next(beimenchuxue))
print(next(beimenchuxue))
oct 将整数转换为8进制,遵循Python协议 __index__ 返回一个整数
print(oct(11))
ord 将Unicode字符转换为对应的整数
print(ord("北"))
pow 返回 x * y 或 返回 x * y % z的值
print(pow(10, 3))
print(pow(10, 3, 33))
print 输出流,到终端或者到文件
print("bemenchuixue", end=':QiNiuYun') with open('bemenchuixue.txt', 'a+') as f:
print("beimenchuxue\nQiNiuYun", file=f)
range 不可变数据序列,有三个参数 start, stop, step
print(type(range(10)))
print(list(range(1, 10))) for i in range(1, 10, 2):
print(i)
reper 将对象转换为字符串,遵守Python协议 __repr__
repr_str = repr(11)
print(repr_str, type(repr_str)) class BeiMenChuiXue: def __repr__(self):
return "BeiMenChuiXue" beimenchuixue = BeiMenChuiXue
print(beimenchuixue())
print(repr(BeiMenChuiXue()))
print(beimenchuixue())
reversed 将iterable对象反转,返回iterator,遵守Python协议 __reversed__ 或 __len__ __getitem__
class BeiMenChuiXue: def __init__(self, names):
self.names = names def __reversed__(self):
return reversed(self.names) # def __len__(self):
# return len(self.names)
#
# def __getitem__(self, item):
# return self.names[item] beimenchuixue = BeiMenChuiXue(["beimenchuixue", 'qiniuyun', 'jinritoutiao'])
result = reversed(beimenchuixue)
print(type(result), next(result))
round 四舍五入保留多少小数位
print(round(10.3367, 3))
set 集合,将iterable对象中元素依次添加到集合中,集合天生无序和去重
print(set("北门吹雪 beimenchuixue"))
print(set())
setattr 往对象中添加属性和方法
class BeiMenChuiXue:
pass beimenchuixue = BeiMenChuiXue() # 设置属性
name = "北门吹雪"
setattr(beimenchuixue, 'name', name)
print(beimenchuixue.__dict__)
print(beimenchuixue.name) # 设置方法, 自动添加上 self
def study():
print('%s is studying Python' % name) setattr(beimenchuixue, 'study', study)
beimenchuixue.study()
slice 返回切片范围对象, start, end, step,不写默认None
bei = slice(0, 3)
print("beimenchuixue"[bei])
print("北门吹雪"[bei])
str 把对象转换为字符str类型,类似 repr,遵循Python协议 __str__
class BeiMenChuiXue: def __str__(self):
return "北门吹雪" beimenchuixue = BeiMenChuiXue
print(beimenchuixue())
print(str(12))
sorted 将iterable对象进行排序
import random numbers = [random.randint(-10, 10) for _ in range(10)]
print(numbers)
print(sorted(numbers))
print(numbers)
print(sorted(numbers, reverse=True))
sum 序列求和,整数序列
print(sum([1, 23, 4]))
super 调用父类方法,本质上是寻找.__mro__下一个类中方法
class Student:
def __init__(self, name, language):
self.name = name
self.language = language class Programmer:
def __init__(self, language):
self.language = language class BeiMenChuiXue(Student, Programmer):
def __init__(self, name, language, age):
super().__init__(name, language)
self.age = age print(BeiMenChuiXue.__mro__)
beimenchuixue = BeiMenChuiXue("北门吹雪", '汉语', '18')
print(beimenchuixue.language)
tuple 元组,不可变序列类型
print(tuple(), type(tuple()))
print(tuple("北门吹雪"))
type 返回对象是由什么类型构建的
print(type("北门吹雪"))
print(type(int))
print(type(object))
print(type(type))
vars 获取对象(模块、类、实例、字典等)具有__dict__属性的字典,对象 __dict__另外一种实现方式
def beimenchuixue():
name = "北门吹雪"
age = 18
print(vars()) beimenchuixue() print(vars(beimenchuixue)) class BeiMenChuiXue:
def __init__(self, name, language, age):
self.name = name
self.language = language
self.age = age beimenchuixue = BeiMenChuiXue("北门吹雪", '汉语', '18')
print(beimenchuixue.language)
# 获取对象 模块、字典、类、实例等具有 __dict__属性的字典
print(vars(beimenchuixue))
zip 依次取出可迭代对象中元素组成新的元组,返回一个迭代器
beimenchuixue = zip("beimenchuixue", "北门吹雪", "Hello word!")
print(beimenchuixue.__next__())
print(beimenchuixue.__next__())
print(beimenchuixue.__next__())
print(beimenchuixue.__next__())
Python-全局函数(内置方法、内置函数)的更多相关文章
- js-DOM ~ 04. BOM:浏览器对象模型window. 、定时器、在线用户、祝愿墙、BOM的内置方法内置对象
multiple. select列表多选 触发事件后调用有参数的函数要先创建一个函数,然后在函数内调用执行函数 Array.from(伪数组):伪数组变为真数组 indexOf():查询字符的索引 a ...
- python-面向对象速查表-内置方法-内置函数-内置属性(只整理了部分内容)
今日临时总结的内容,可能还有些不正确的地方,初步当做个速查表吧. 类的内置函数(继承object的,自己重写) 内置函数 执行时机 注意点 调用案例 __init__ 实例化对象时 不允许写返回值(r ...
- 0513JS数组内置方法、数学函数、时间函数
|数组中常用的内置方法|-push()与pop()|--push()是往数组的尾部添加,同时返回新数组的长度 var attr = [1,2,3,4,5];var attr2 = [6,7,8,9,0 ...
- 学习Pytbon第十天 函数2 内置方法和匿名函数
print( all([1,-5,3]) )#如果可迭代对象里所有元素都为真则返回真.0不为真print( any([1,2]) )#如果数据里面任意一个数据为真返回则为真a= ascii([1,2, ...
- c# 类一般在哪里实例化,是在类内、方法内还是其他地方?
根据情况,你要一个页面内全局的就在类与方法之间实例化,如果一个方法需要使用这个类的对象,就在内部实例化
- python day21 ——面向对像-反射 getattr,内置方法
一.反射:用字符串数据类型的变量名来访问这个变量的值 上代码^_^ # class Student: # ROLE = 'STUDENT' # @classmethod # def check_cou ...
- python学习之老男孩python全栈第九期_day027知识点总结——反射、类的内置方法
一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print ...
- Python字典内置方法
Python字典包含了以下内置方法: 序号 函数及描述 1 radiansdict.clear()删除字典内所有元素 2 radiansdict.copy()返回一个字典的浅复制 3 radiansd ...
- python之字典二 内置方法总结
Python字典包含了以下内置方法: clear()函数用于删除字典内所有元素 dict1 = {, 'Class': 'First'} print('the start len %d' % len( ...
- 第8.14节 Python类中内置方法__str__详解
一. object类内置方法__str__和函数str 类的内置方法__str__和内置函数str实际上实现的是同一功能,实际上str调用的就是__str__方法,只是调用方式不同,二者的调用语法如下 ...
随机推荐
- MYSQL经典练习题,熟悉DQL
MYSQL经典练习题 (本练习题可让你熟悉DQL,快速的上手DQL) 首先,先在数据库中建立基本数据库以及表项: DROP DATABASE IF EXISTS `test`; CREATE DATA ...
- secureCRT中sftp的使用
securecrt 按下ALT+P就开启新的会话 进行ftp操作.输入:help命令,显示该FTP提供所有的命令pwd: 查询linux主机所在目录(也就是远程主机目录)lpwd: 查询本地目录(一般 ...
- Mysql启动后停止的解决方法
安装mysql后,服务无法正常启动,报错如下: 解法方法: 1 以管理员身份运行命令提示符 2 用命令进行mysql安装目录的bin目录: cd C:\Prog ...
- Urule开源版系列4——Core包核心接口之规则解析过程
Urule运行规则文件,是如何进行的,通过一个请求doTest来探一下 com.bstek.urule.console.servlet.respackage.PackageServletHandler ...
- 用maven整合SSM中jsp运行报404和500问题解决方案
如果代码检查没有错误,建议更改maven版本,可以改为maven-3.6.1 网址:https://archive.apache.org/dist/maven/maven-3/ 选择3.6.1 再点击 ...
- 初学WebGL引擎-BabylonJS:第8篇-阴影网格与活动
[playground]-shadows(阴影) 源码 var createScene = function () { var scene = new BABYLON.Scene(engine); / ...
- JVM学习第三天(JVM的执行子系统)之类加载机制补充
昨晚没看完,今天继续 系统的类加载器 对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间.这句话可以表达得更通俗一些: ...
- leetcode刷题-40组合总和2
题目 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用 ...
- LiteOS间歇计算技术:IOT终端真正感受“电量自由”
摘要:LiteOS间歇计算为什么能使物联网终端实现长续航? 物联网设备.场景复杂多样,小到智能穿戴的耳机,大到大型基建设备,更有我们陌生而又熟悉场景,例如深海探测.森林监控.野生动物跟踪等等能量采集场 ...
- LC算法技巧总结(二):双指针和滑动窗口技巧
我把双指针技巧再分为两类,一类是「快慢指针」,一类是「左右指针」.前者解决主要解决链表中的问题,比如典型的判定链表中是否包含环:后者主要解决数组(或者字符串)中的问题,比如二分查找. 一.快慢指针的常 ...