首页 > 其他分享 >内置函数

内置函数

时间:2024-01-05 16:58:37浏览次数:26  
标签:__ 10 内置 函数 迭代 format print True

【一】数据类型转换(8)

【1】数字类型转换

(1)整数类型转换(int)

  • int : 整型(整数)
a = '123'
print(a, type(a))
# 123 <class 'str'>

a_int = int(a)
print(a_int, type(a_int))
# 123 <class 'str'>

(2)浮点数类型转换(float)

  • float : 浮点型(小数)
a = 123
print(a, type(a))
# 123 <class 'int'>

a_float = float(a)
print(a_float, type(a_float))
# 123.0 <class 'float'>

【2】字符串类型转换(str)

  • str : 将数据转化成字符串

    a = 123
    b=str(a)
    print(b, type(b))
    # 123 <class 'str'>
    

【3】布尔类型转换(bool)

  • bool: 布尔类型(True / False)
a=123
b = bool(a)
print(b, type(b))
# True <class 'bool'>

【4】列表类型转换(list)

  • list :将一个可迭代对象转换成列表

    a=(i for i in range(5))
    b = list(a)
    print(b, type(b))
    # [0, 1, 2, 3, 4] <class 'list'>
    

【5】元祖类型转换(tuple)

  • tuple : 将一个可迭代对象转换成元组

    a=[i for i in range(5)]
    b = tuple(a)
    print(b, type(b))
    # (0, 1, 2, 3, 4) <class 'tuple'>
    

【6】字典类型转换(dict)

  • dict :创建一个字典,可接受可迭代对象,用键值对初始化字典。
a={
    'a': 2,
    'b': 3
}
b = dict(a)
print(b, type(b))
# {'a': 2, 'b': 3} <class 'dict'>

【7】集合类型转换(set)

  • set :创建一个集合, 函数用于创建一个集合,自动去除重复元素。
a=[i for i in range(5)]
b = set(a)
print(b, type(b))
# {0, 1, 2, 3, 4} <class 'set'>

【二】数学进制转换(3)

【1】十进制转二进制(bin)

  • bin:将给的参数转换成二进制

    a = 10
    b = bin(a)
    print(b)  # 0b1010
    

【2】十进制转八进制(oct)

  • oct: 将给的参数转换成八进制

    a = 10
    b = oct(a)
    print(b)  # 0o12
    

【3】十进制转十六进制(hex)

  • hex: 将给的参数转换成十六进制

    a = 10
    b = hex(a)
    print(b)  # 0xa
    

【三】数学运算(8)

(1)获取绝对值(abs)

  • abs:返回绝对值

    a = -10
    b = abs(a)
    print(b)  # 10
    

(2)获取商和余数(divmod)

  • divmod:返回(商,余数)

    a =divmod(8,6)
    print(a)  # (1, 2)
    

(3)四舍五入(round)

  • round: 四舍五入

    • 默认情况下,小数点的数量是0。
    • 因此,如果你调用 round() 时没有第二个参数,该函数将返回最近的整数。
    print(round(2.555)) # 2
    print(round(2.555,2)) # 2.56
    

(4)a的b次幂(pow)

  • pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余

    '''
    参数介绍:
        x — 数值表达式(整数或者浮点数);
        y — 数值表达式(整数或者浮点数);
        z — 数值表达式(整数或者浮点数),默认不设置z值;
    
    返回值:返回 xy(x的y次方)的值;如果设置了z值,则再对结果进行取模,其结果等效于pow(x,y) %z;
    '''
    
    pow(x, y[, z])
    
    • pow 函数常规使用
    print(pow(2, 3))  # 8
    print(2 * 2 * 2)  # 8
    
    print(pow(2, 3,5))  # 3
    print(2 * 2 * 2 % 5)  # 3
    

(5)求和(sum)

  • sum() 求和

    a=[i for  i in range(10)]
    print(sum(a))  #45
    

(6)最小值(min)

  • min() 求最小值

    a=[2,5,6,8,5,9]
    print(min(a))  # 2
    

(7)最大值(max)

  • max() 求最大值

    a=[2,5,6,8,5,9]
    print(max(a))  # 9
    

(8)复数转换(complex)

  • comple(实数,虚数) : 复数 ,虚数默认为零。
a=complex(5,3)
print(a)  # (5+3j)

【四】序列相关(5)

(1)翻转(reversed)

  • reversed() 将一个序列翻转, 返回翻转序列的迭代器

    a = "123456"
    b= reversed(a)
    print(list(b))
    # ['6', '5', '4', '3', '2', '1']
    

(2)切片(slice)

  • slice() 列表的切片

    a = "123456"
    print(a[1:3:1])
    # 23
    
    s = slice(1, 3, 1)
    print(a[s])
    # 23
    

(3)计算长度(len)

  • len() 返回一个对象中的元素的个数
a = "123456"
print(len(a))  # 6

(4)排序(sorted)

  • 语法:sorted(Iterable, key=函数(排序规则), reverse=False)

    • Iterable: 可迭代对象
    • key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序
    • reverse: 是否是倒叙. True: 倒叙, False: 正序
  • sorted() 对可迭代对象进行排序操作 (lamda)

    a=[2,1,3,5,6,8,9]
    a.sort()
    print(a)
    # [1, 2, 3, 5, 6, 8, 9]
    
    # 内置函数. 返回给你一个新列表  新列表是被排序的
    ll = sorted(a)
    print(ll)
    # [1, 2, 3, 5, 6, 8, 9]
    
    # 倒序
    l2 = sorted(a, reverse=True)
    print(l2)
    # [9, 8, 6, 5, 3, 2, 1]
    

(5)枚举(enumerate)

  • enumerate() 获取集合的枚举对象

    a=['a','b','c']
    for index, el in enumerate(a, 1):
        print(index,el)
    # 1 a
    # 2 b
    # 3 c
    

【五】字符串(4)

(1)格式化输出(format)

  • format() 与具体数据相关, 用于计算各种小数, 精算等.

    • 对齐方式
    s = "abc"
    print(format(s, "^10"))  # 居  中
    #    abc    
    print(format(s, "<10"))  # 左对齐
    # abc       
    print(format(s, ">10"))  # 右对齐
    #        abc
    
    • 进制转换
    # 二进制
    print(format(255, 'b'))  # 11111111
    # 转换成unicode字符
    print(format(255, 'c'))  # ÿ
    # ⼗进制
    print(format(255, 'd'))  # 255
    # 八进制
    print(format(255, 'o'))  # 377
    # 十六进制(⼩写字母)
    print(format(255, 'x'))  # ff
    # 十六进制(大写字母)
    print(format(255, 'X'))  # FF
    # ⼗进制
    print(format(255, 'n'))  # 255
    # ⼗进制
    print(format(255))  # 255
    
    • 科学计数法
    print(format(123456789, 'e'))  # 科学计数法. 默认保留6位小数:1.234568e+08
    print(format(123456789, '0.2e'))  # 科学计数法. 保留2位小数(小写):1.23e+08
    print(format(123456789, '0.2E'))  # 科学计数法. 保留2位小数(大写):1.23E+08
    print(format(1.23456789, 'f'))  # 小数点计数法. 保留6位小数:1.234568
    print(format(1.23456789, '0.2f'))  # 小数点计数法. 保留2位小数:1.23
    print(format(1.23456789, '0.10f'))  # 小数点计数法. 保留10位小数:1.2345678900
    print(format(1.23456789e+3, 'F'))  # 小数点计数法. 很大的时候输出INF:1234.567890
    

(2)字符串转bytes(bytes)

  • bytes() 把字符串转化成bytes类型

    bs = bytes("元旦快乐", encoding="utf-8")
    print(bs)
    # b'\xe5\x85\x83\xe6\x97\xa6\xe5\xbf\xab\xe4\xb9\x90'
    

(3)获取字节数组(bytearray)

  • bytearray()

    • 返回一个新字节数组. 这个数字的元素是可变的, 并且每个元素的值得范围是[0,256)

      bs = bytearray("元旦快乐", encoding="utf-8")
      print(bs)
      # b'\xe5\x85\x83\xe6\x97\xa6\xe5\xbf\xab\xe4\xb9\x90'
      print(bs[0])
      # 229
      

(4)返回对象的字符串格式(repr)

  • repr() 返回一个对象的string形式

    word = "今天\n吃了%s顿\t饭" % 3
    print(word)
    # 今天
    # 吃了3顿	饭
    
    # 原样输出,过滤掉转义字符 \n \t \r 不管百分号%
    print(repr(word))
    # '今天\n吃了3顿\t饭'
    

【六】字符编码(3)

(1)字符编码找数字(ord)

  • ord() 输入字符找带字符编码的位置

    print(ord('a'))
    # 字母a在编码表中的码位:97
    
    print(ord('求'))
    # '求'字在编码表中的位置:27714
    

(2)数字找字符编码(chr)

  • chr() 输入位置数字找出对应的字符

    print(chr(65))
    # 已知码位,求字符是什么:A
    
    print(chr(20000))
    # 丠
    

(3)数字找ASCII码(ascii)

  • ascii() 是ascii码中的返回该值 不是就返回u

    print(ascii("a"))  #'a'
    print(ascii("$"))  #'$'
    print(ascii("这"))  #'\u8fd9'
    

【七】数据集合(1)

  • 创建一个冻结的集合(frozenset)
  • frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。
  • 注释: frozenset() 函数返回一个不可变的 frozenset 对象,适用于作为字典的键或集合的元素。
# 示例
frozen_set = frozenset([1, 2, 3, 4, 5])
print(frozen_set)
# 输出:frozenset({1, 2, 3, 4, 5})

【八】判断条件(2)

(1)所有为真(all)

  • all() 可迭代对象中全部是True, 结果才是True

    print(bool(0)) #False
    print(all([1,'hello',True,0]))  # False
    

(2)任意为真(any)

  • any() 可迭代对象中有一个是True, 结果就是True

    print(any([0,0,False,1]))  #True
    

【九】高阶函数(3)

(1)打包(zip)

  • zip() 函数
    • 用于将可迭代的对象作为参数
    • 将对象中对应的元素打包成一个元组
    • 然后返回由这些元组组成的列表.
  • 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同
lst1 = [1, 2, 3, 4, 5, 6]
lst2 = ['a','b','c']
print(zip(lst1, lst1))
# <zip object at 0x000002233FC74E40>

# 将三组列表打包成 一对一 的元祖
# 如果少则按最少算
for el in zip(lst1, lst2):
    print(el)
# (1, 'a')
# (2, 'b')
# (3, 'c')

(2)过滤(filter)

  • 语法:fiter(function. Iterable)
    • function: 用来筛选的函数.
      • 在filter中会自动的把iterable中的元素传递给function.
      • 然后根据function返回的True或者False来判断是否保留留此项数据
    • Iterable: 可迭代对象
  • filter() 过滤 (lamda)
def func(i):  # 判断奇数
    return i % 2 == 1

lst = [i for i in range(10)]

# l1是迭代器
l1 = filter(func, lst)
print(l1)  # <filter object at 0x000001CE3CA98AC8>
print(list(l1))
# [1, 3, 5, 7, 9]

(3)映射(map)

  • 语法 : map(function, iterable)
    • 可以对可迭代对象中的每一个元素进行映射. 分别去执行 function
  • map() 会根据提供的函数对指定序列列做映射(lamda)
def func(i):  # 判断奇数
    return i % 2 == 1


lst = [i for i in range(10)]

# l1是迭代器
l1 = map(func, lst)
print(l1)  # <map object at 0x000001776E6BCDF0>
print(list(l1))
# [False, True, False, True, False, True, False, True, False, True]

【十】作用域(2)

  • locals() 返回当前作用域中的名字
  • globals() 返回全局作用域中的名字
name = "dream"


def func():
    a = 10
    # 当前作用域中的内容
    print(f"这是当前作用域中的内容 :>>>> {locals()}")
    # 全局作用域中的内容
    print(f"这是全局作用域中的内容 :>>>> {globals()}")

    print("我是函数func内部")


func()
# 这是当前作用域中的内容 :>>>> {'a': 10}

# 这是全局作用域中的内容 :>>>> {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000002687A368910>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:\\PythonProjects\\09Python的内置函数\\01start.py', '__cached__': None, 'name': 'dream', 'func': <function func at 0x000002687A3D35B0>}

# 我是函数func内部

【十一】迭代器生成器(3)

(1)循环生成数据(range)

  • range() 生成数据
print(range(1, 10))
# range(1, 10)

print([i for i in range(1, 10)])
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

(2)获取迭代器(iter)

  • iter()
  • 获取迭代器, 内部实际使用的是__ iter__()方法来获取迭代器
lst = [i for i in range(10)]
it = iter(lst)
print(it)
# <list_iterator object at 0x000001D4C69EC940>

(3)向下执行(next)

  • next()
  • 迭代器向下执行一次, 内部实际使用了__ next__()方法返回迭代器的下一个项目
lst = [i for i in range(10)]
it = iter(lst)
print(it)
# <list_iterator object at 0x000001BFF2737160>
print(next(it))
# 0
print(next(it))
# 1
print(next(it))
# 2

【十二】字符串类型代码的执行(3)

(1)指定指令并返回结果(eval)

  • eval() 执行字符串类型的代码. 并返回最终结果

    s1 = input("请输入a+b:")
    # 输入:5*6
    
    # 可以动态的执行代码. 代码必须有返回值
    print(eval(s1))
    # 30
    

(2)指定指令不返回结果(exec)

  • exec() 执行字符串类型的代码

    s2 = "for i in range(5): print(i)"
    # exec 执行代码不返回任何内容
    a = exec(s2)
    # 0
    # 1
    # 2
    # 3
    # 4
    print(a)  # None
    
    # 动态执行代码
    exec("""
    def func():
        print(" 我是周杰伦")
    """)
    func()  # 我是周杰伦
    

(3)编码指令

  • compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值

    code1 = "for i in range(3): print(i)"
    # compile并不会执行你的代码.只是编译
    com = compile(code1, "", mode="exec")
    # 执行编译的结果
    exec(com)
    # 0
    

【十三】输入输出(2)

  • print() : 打印输出

    print("钱", "水", sep="*", end="@")
    # sep:打印出的内容用什么连接
    # end:以什么为结尾
    # 钱*水@
    
  • input() : 获取用户输出的内容

【十四】算法(1)

  • hash() :

    • 获取到对象的哈希值(int, str, bool, tuple).
    s = 'qcc'
    print(hash(s))
    # -5212975676261309940
    
    • 列表不允许hash
  • hash算法:

    • (1) 目的是唯一性
    • (2) dict 查找效率非常高
  • hash表:

    • 用空间换的时间 比较耗费内存

【十五】文件操作(1)

  • open() : 用于打开一个文件, 创建一个文件句柄

    f = open('file',mode='r',encoding='utf-8')
    f.read()
    f.close()
    

【十六】导入模块(1)

  • __ import__() : 用于动态加载类和函数

    # 让用户输入一个要导入的模块
    name = input("请输入你要导入的模块:")
    json = __import__(name)
    # 可以动态导入模块
    print(json.dumps({"name": "qcc"}))
    
    # {"name": "qcc"}
    

【十七】帮助(1)

  • help() : 函数用于查看函数或模块用途的详细说明

    # 查看字符串的用途
    print(help(str))  
    

【十八】调度相关(1)

  • callable() : 用于检查一个对象是否是可调用的

    • 如果返回True, object有可能调用失败
    • 但如果返回False. 那调用绝对不会成功
    a = 'a'
    
    print(callable(a))
    # False
    
    def f():
        print("hello")
    
    # 函数是可以被调用的
    print(callable(f))
    # True
    

【十九】查看内置属性(1)

  • dir() : 查看对象的内置属性

    • 访问的是对象中的 __dir__() 方法

      # 查看元组的方法
      print(dir(tuple))
      # ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
      
      

【二十】类的静态方法(classmethod)

  • 将方法转换为类方法
class B(object):
    num = 10
    def func1(self):
        print('self')
    @classmethod
    def func2(cls):
        print('func2')
        print(cls.num)
        cls().func1()
B.func2()  

【二十一】判断内存空间地址(id)

  • id()函数用于返回一个对象的唯一标识符。
a = 5
b = 5
print("a的标识符为:", id(a))
print("b的标识符为:", id(b))

# a的标识符为: 140707288191088
# b的标识符为: 140707288191088

【二十二】类的装饰器(property)

  • fget获取属性值的方法
  • fset设置属性值的方法
  • fdel删除属性值的方法
  • doc属性描述信息
class Student:
    def __init__(self):
        self._age = None

    def get_age(self):
        return self._age

    def set_age(self, age):
        self._age = age

    age = property(get_age, set_age)


student = Student()
student.age = 18
print('学生年龄为:' + str(student.age))
# 学生年龄为:18

标签:__,10,内置,函数,迭代,format,print,True
From: https://www.cnblogs.com/unrealqcc/p/17947593

相关文章

  • MYSQL函数
    MYSQL中的函数包括:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数和加密函数等其他函数。 一、数学函数主要的数学函数有:绝对值函数、三角函数(包含正弦函数、余弦函数、正切函数、余切函数等)、对数函数、随机数函数等。在有错误产生时,数学函数将返回空......
  • bat利用rundll32执行程序的函数执行程序
    利用rundll32执行程序的函数执行程序来源 https://www.cnblogs.com/17bdw/p/8668780.html1、前言无意间发现hexacorn这个国外大佬,给出了很多通过rundll32执行DLL中的函数执行程序的方法,思路很灵巧。2、原理rundll32加载dll用法:rundll32<dllname>,<entrypoint><option......
  • Pytest06-pytest的setup和teardown函数
    高清B站视频链接pytest的setup和teardown函数用例前置和后置#类外面setup_module/teardown_module:在当前文件中,所有的用例执行之前以及之后执行setup_function/teardown_function:在每个测试函数之前以及之后执行setup/teardown:在每个测试函数之前以及之后执行#类里面......
  • mysql8.0存储过程和存储函数的查看、修改、删除
    5、存储过程和存储函数的查看、修改、删除5.1、查看创建完之后,怎么知道我们创建的存储过程、存储函数是否成功了呢?MySQL存储了存储过程和函数的状态信息,用户可以使用SHOWSTATUS语句或SHOWCREATE语句来查看,也可直接从系统的information_schema数据库中查询。这里介绍3种方法。......
  • vue3 setup函数之数据
    setup中定义方法:exportdefault{name:'App',setup(){//定义方法functionedit(){}return{//方法与数据,必须要返回出去,不然不起作用。edit}}} setup中ref函数定义基本数据类型与对象数据类型:1.ref函数定义基......
  • 凸优化 2:如何判定凸函数?
    凸优化2:如何判定凸函数?如何判断一个目标函数是凸函数?如果是凸函数,那ta的定义域是凸集合一个函数求俩次梯度,大于等于0,那这个函数就是一个凸函数在同样条件下,怎么设计为凸函数模型?怎么求解非凸函数?怎么对非凸函数松弛,变成凸函数? 如何判断一个目标函数是凸函数?为了判断一个函数是......
  • C++函数模板详解,轻松实现通用函数
    C++函数模板详解,轻松实现通用函数函数模板编写通用函数您也可以为独立的函数编写模板。其语法与类模板类似。例如,您可以编写以下通用函数来在数组中查找一个值并返回其索引:staticconstsize_tNOT_FOUND{static_cast<size_t>(-1)};template<typenameT>size_tFind(const......
  • mysql8.0存储函数
    4、存储函数的使用4.1、语法分析学过的函数:LENGTH、SUBSTR、CONCAT等语法格式CREATEFUNCTION函数名(参数名参数类型,...)RETURNS返回值类型[characteristics...]BEGIN函数体#函数体中肯定有RETURN语句END说明:1、参数列表:指定参数为IN、OUT或INOUT只对PROCE......
  • 无涯教程-Java 正则 - XY 匹配函数
    逻辑运算符[XY]匹配X,后跟Y。XY-示例以下示例显示了逻辑运算符的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassLogicalOperatorDemo{privatestaticfinalStringREGEX="to";privatestaticfin......
  • C++11中的匿名函数用法
    C++11中引用了匿名函数这一个新的特性,它的使用方法如下:[capture](parameters)->return_type{body} 其中:capture 指定了Lambda表达式可以访问的外部变量parameters 是Lambda表达式的参数列表return_type 是返回类型(可选)body 是Lambda函数体下面是一个简单......