Python内置函数与方法

✍🏻✍🏻本文主要介绍python内置函数 和列表到函数部分语法等。

目录

内置函数用法

字符串方法

列表方法

for循环

列表切片

元组

if语句方法

字典方法

用户输入和while循环

函数(切片、参数)


内置函数用法

1. abs()

语法

abs(x), 返回一个数的绝对值。 参数可以是一个整数或浮点数。 如果参数是一个复数,则返回它的模

示例

print(abs(x))

2. all()

语法

all(a), 如果 iterable 的所有元素均为 True(或 a为空)则返回 True

示例
def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

3. any()

语法

any(iterable), 如果 iterable 的**任一元素**为 True, 则返回 True 如果可迭代对象为空,返回 False

示例
def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

4. ascii()

语法

ascii(object), 返回对象的纯 ASCII 表示形式。

ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。

生成字符串类似 Python2 版本中 `repr()` 函数的返回值。

5. bin()

语法

bin(x), 将一个整数转变为一个前缀为“0b”的二进制字符串

6.bool()

语法

返回一个布尔值,True 或者 False,如果没有参数,也是返回 False

bool 是 int 的子类

7. breakpoint()

语法

breakpoint(*args, **kws),它调用  `sys.breakpointhook()` ,直接传递  `args` 和  `kws`,进入 pdb 调试器

8.bytearray()

语法
class bytearray([source[, encoding[, errors]]])

如果 source 为整数,则返回一个长度为 source 的初始化数组;

如果 source 为字符串,则必须提供 encoding 参数。并按照指定的 encoding 将字符串转换为字节序列;

如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

如果没有输入任何参数,则创建大小为 0 的数组。

9.bytes()

语法

bytes() 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。

10.callable()

语法

callable(object), 用于检查一个对象是否可调用,可调用返回 True,否则返回 False

但是返回 True,调用对象 object 仍可能失败,但如果返回 False, 则调用 object 肯定不会成功

另外,类是可调用的,调用类将返回一个新的实例

如果实例所属的类有  `__call__()` 方法,则也是可调用的。

11.chr()

语法

chr(i), 返回参数对应的 ASCII 字符,i:可以是 10 进制也可以是 16 进制的形式的数字,数字范围为 0 到 1,114,111

12.classmethod()

语法

将一个方法封装成类方法,该方法不需要实例化,不需要 self 参数,第一个参数是表示自身类的 cls 参数

可以用来调用类的属性,类的方法等

13.compile()

语法
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

将  *source* 编译成代码或 AST 对象。代码对象可以被  `exec()`或  `eval()` 执行。

*source* :可以是常规的字符串、字节字符串,或者 AST 对象

*filename*:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

*mode*:指定编译代码的种类。可以指定为 exec, eval, single。

*flags*:变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

*flags*和*dont_inherit*是用来控制编译源码时的标志。

14.complex()

语法
class complex([real[, imag]])

返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。

如果第一个形参是字符串,则它被解释为一个复数,并且函数调用时不能有第二个形参

参数

_real_:int, long, float 或字符串。

_imag_:int, long, float 不能为字符串

15. delattr()

语法
delattr(object, name)

实参是一个对象和一个字符串。该字符串必须是对象的某个属性。如果对象允许,该函数将删除指定的属性。

16. dict()

语法
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)

创建一个新的字典

参数

mapping:元素的容器。 iterable:对象。

17. dir()

语法

dir([object]), 如果没有参数调用,则返回当前范围中的名称。

带参数时,返回参数的属性、方法列表

18.divmod()

语法

divmod(a, b),函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。

19.enumerate()

语法

enumerate(iterable, start=0),返回一个枚举对象。*iterable* 必须是一个序列

示例
codes = ['Python', 'Java', 'GO', 'C++']
list(enumerate(codes, start=2))
[(2, 'Python'), (3, 'Java'), (4, 'GO'), (5, 'C++')]

20.eval()

语法
eval(expression[, globals[, locals]])

参数

*expression*:Python 表达式。

*globals*:必须是一个字典对象。

*locals*:变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

执行一个字符串表达式,并返回表达式的值

21.exec()

语法
exec(object[, globals[, locals]])

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec 可以执行更复杂的 Python 代码。

参数

object:必选参数,必须是字符串或 code 对象。如果 object 是一个字符串,该字符串会先被解析为一组 Python 语句,然后在执行(除非发生语法错误)。如果 object 是一个 code 对象,那么它只是被简单的执行。

globals:可选参数,表示全局命名空间(存放全局变量)必须是一个字典对象。

locals:可选参数,表示当前局部命名空间(存放局部变量)可以是任何映射对象。如果该参数被忽略,那么它将会取与 globals 相同的值。

22.filter()

语法
filter(function, iterable)

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

23.float()

语法

将整数和字符串转换成浮点数。

24.format()

语法

format(value[, format_spec]),该函数主要作用是增强字符串格式化的功能,基本语法是通过 {} 和 : 来代替以前的 %

format 函数可以接受不限个参数,位置可以不按顺序。

25.frozenset()

语法
class frozenset([iterable])

frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

26.getattr()

语法
getattr(object, name[, default])

返回对象命名属性的值。*name* 必须是字符串。如果该字符串是对象的属性之一,则返回该属性的值。

27.globals()

语法

返回包含当前作用域的全局变量的字典。

28.hasattr()

语法

hasattr(object, name),该实参是一个对象和一个字符串。如果字符串是对象的属性之一的名称,则返回  `True`,否则返回  `False`。

此功能是通过调用  `getattr(object, name)` 看是否有  `AttributeError`异常来实现的。

29.hash()

语法

hash(object), 返回对象 object 的哈希值

hash() 函数可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary。

30.help()

语法

为你提供帮助的函数,查看某个函数的帮助信息

31.hex()

语法

hex(x), 将整数转换为以“0x”为前缀的小写十六进制字符串。

32.id()

语法

id(object), 返回该对象的内存地址

33.input()

语法

input() 函数接受一个标准输入数据,返回为 string 类型。

接收任意输入,将所有输入默认为字符串处理,并返回字符串类型。

34.int()

语法

将一个字符串或数字转换为整型。

35.isinstance()

语法
isinstance(object, classinfo)

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 i sinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

36.issubclass()

语法
issubclass(class, classinfo)

issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。

37.iter()

语法
iter(object[, sentinel])

返回一个  *iterator* 对象

如果传递了第二个参数,则参数 object 必须是一个可调用的对象,此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的 next()方法时,都会调用 object。

38.len()

语法

返回对象的长度

39.list()

语法

将元组或字符串转换成列表

40.locals()

语法

locals() 函数会以字典类型返回当前位置的全部局部变量。

41.map()

语法
map(function, iterable, ...)

返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器

42.max()

语法

返回对象中最大的元素

43.memoryview()

语法

返回给定参数的内存视图

44. min()

语法

返回对象中最小的元素,或者返回两个及以上实参中最小的。

45.next()

语法

通过调用  *iterator* 的方法获取下一个元素。

46.object()

语法

返回一个没有特征的新对象。是所有类的基类。

函数不接受任何实参。

47. oct()

语法

返回整数的八进制表示形式

48.open()

语法
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。

49.ord()

语法

对单个字符的字符串,返回它的 Unicode 编码的整数

50. pow()

函数是计算 base 的 exp 次方,如果 mod 存在,则再对结果进行取模,其结果等效于 pow(base,exp) %mod。

51.print()

语法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

将 objects 打印到 file 指定的文本流, 默认为 *sys.stdout*

52.property()

语法

property() 函数的作用是在新式类中返回属性值。

53.range()

语法

range() 函数返回一个可迭代对象

54.repr()

语法

返回包含一个对象的可打印表示形式的字符串。对于大多数的类型,eval(repr(obj)) == obj

55.reversed()

语法

返回给定序列值的反向迭代器

56.round()

语法

返回 number 四舍五入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数

对精度要求高的,不减少使用该函数

57.set()

语法

set() 函数创建一个无序不重复元素集,删除重复数据,可以用于计算交集、差集、并集等。

58.setattr()

语法
setattr(object, name, value)

其参数为一个对象、一个字符串和一个任意值,将给定对象上的命名属性设置为指定值。

例如,setattr(python, 'name', 123) 等价于 python.name= 123

59.slice()

语法

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

60.sorted()

语法
sorted(iterable, key=None, reverse=False)

对所有可迭代的对象进行排序操作,默认为升序

sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

sort 方法返回的是对已经存在的列表进行操作

而 sorted 方法返回的是一个新的 list

61.staticmethod()

语法

将方法转换为静态方法, 该方法不要钱传递参数

62.str()

语法

返回一个对象的 string 格式

63.sum()

语法

sum(iterable[, start]), 从 start 开始自左向右对 iterable 的项求和并返回总计值

64.super()

语法

用于调用父类的一个方法, 用来解决多重继承问题的

65. tuple()

语法

将列表等转换为元组

66.type()

语法

传入一个参数时,返回 *object* 的类型, 传入三个参数时,返回一个新的 *type* 对象
class X:
          a = 1

X = type('X', (object,), dict(a=1))
X
class '__main__.X'

67.vars()

语法

返回模块、类、实例或任何其它具有属性的对象的属性。

68. zip()

语法

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象

可以使用 list() 转换来输出列表, 如果元素个数不一致,则返回的列表长度以最短的对象为准

69. _*import*_()

语法
__import__(name, globals=None, locals=None, fromlist=(), level=0)

_import()_ 函数用于动态加载类和函数 。

如果一个模块经常变化就可以使用 _import()_ 来动态载入

字符串方法

Python使用加号(+ )来合并字符串。

first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print("Hello, " + full_name.title() + "!")

要确保字符串末尾没有空白,可使用方法rstrip()

favorite_language = 'python '
favorite_language.rstrip()
print(favorite_language)

删除字符串开头的空白,可以用方法lstrip()

删除两端的空白,可以用方法strip()

列表方法

方法append()来在列表中添加新元素

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)

用方法insert() 可在列表的任何位置添加新元素。

motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)

使用del 语句删除元素      条件是知道其索引

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)

将元素从列表中删除,并接着使用它的值:使用pop()方法

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)

根据值删除元素:remove()方法

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print("\nA " + too_expensive.title() + " is too expensive for me.")

方法sort() 永久性修改列表元素的排列顺序(按字母前后顺序)

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)

函数sorted() 对列表进行临时排序

cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)

要反转列表元素的排列顺序,可使用方法reverse()

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)

用函数len() 可快速获悉列表的长度

cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)

for循环

函数range() 让你能够轻松地生成一系列的数字

for value in range(1,5):
print(value)

要将这些数字转换为一个列表,可使用list()

统计计算 有min   max   sum

列表切片

1. 遍历

players = ['charles', 'martina', 'michael', 'florence', 'eli']
print("Here are the first three players on my team:") ❶ for player in players[:3]:
print(player.title())

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个 列表。

元组

元组:即不可变的列表。用圆括号来标识

定义:

❶ dimensions = (200, 50) ❷ print(dimensions[0])
print(dimensions[1])

元组无法单纯修改其中某一个元素。但可以重新定义整个元组。

if语句方法

确定列表不是空的

requested_toppings = []
if requested_toppings:
    for requested_topping in requested_toppings:
        print("Adding " + requested_topping + ".")
        print("\nFinished making your pizza!")
else:
    print("Are you sure you want a plain pizza?")

elif代码块

age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 5
elif age < 65:
    price = 10
else:
    price = 5
print("Your admission cost is $" + str(price) + ".")

字典方法

字典是一系列键值对,使用大括号来标识。

删除键值对使用del语句

alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
del alien_0['points']
print(alien_0)

由类似对象组成的字典可用来存储众多对象的用一种信息。

favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}

遍历字典

for key, value in user_0.items():
    print("\nKey: " + key)
    print("Value: " + value)

key代指键,value代指值,单单只打印键或值时可以只使用key或value。

字典列表

alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    print(alien)

在字典中存储字典

users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
for username, user_info in users.items():
    print("\nUsername: " + username)
    full_name = user_info['first'] + " " + user_info['last']
location = user_info['location']
print("\tFull name: " + full_name.title())
print("\tLocation: " + location.title())

用户输入和while循环

函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中。

但是,使用函数input() 时,Python将用户输入解读为字符串。若输入的时数值时,可以用int()来改变解读方式。

标志:

prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
active = True
while active:
message = input(prompt)
if message == 'quit':
    active = False
else:
    print(message)

删除包含特定值的所有列表元素

pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)

用户输入来填充字典

responses = {}
polling_active = True
while polling_active:
    name = input("\nWhat is your name? ")
    response = input("Which mountain would you like to climb someday? ")
    responses[name] = response
    repeat = input("Would you like to let another person respond? (yes/ no) ")
if repeat == 'no':
    polling_active = False
    print("\n--- Poll Results ---")
for name, response in responses.items():
    print(name + " would like to climb " + response + 

函数(切片、参数)

1. 可以用切片法来创建列表的副本,从而传递给函数作为实参,因此可以避免修改原列表。:列表实参后面加上[:]。

2. 函数形参中的*+变量名意思是创建一个空元组,因此可以放入任意数量的实参。

3. 将函数放到模块中后,通过imort来调用。

4. 在import时,使用as来给函数和模块指定别名。

5. 导入模块中所有的函数

        使用星号(* )运算符可让Python导入模块中的所有函数:

        

from pizza import *
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

👏🏻👏🏻

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值