2022年 11月 5日

python常用函数汇总

一、 join()方法

    用来作字符串的分隔操作,join()方法只能传一个参数,参数为字符串,列表,元组或者字典,返回结果为通过逗号分隔的新的字符串。

   例, 参数为列表,迭代器为列表

  1. str_in = '(' + ','.join(['%s'] * 3) + ')'
  2. print(str_in)

二、 type()和isinstance()方法

           type() 方法用来变量的类型是什么,比如 a=2, type(a) 的值为:  <class ‘int’>, 可以通过转字符串的形式来判断变量的类型

       1. tpye()方法主要有如下常用的6种标准数据类型:         

类型 描述
int ,   <class ‘int’>    数字
string , <class ‘str’>  字符串
[],   <class ‘list’>  列表
  {}, <class ‘dict’>  字典
(), <class ‘tuple’>  元组
{1,2,3} , <class ‘set’> 集合类型

        

  1. # 测试type()方法
  2. a = 2
  3. print(type(a))
  4. a = "2"
  5. print(type(a))
  6. a = []
  7. print(type(a))
  8. a = {}
  9. print(type(a))
  10. a = ()
  11. print(type(a))
  12. a = 2.2
  13. print(type(a))
  14. a = {1, 2, 3, 4}
  15. print(type(a))

         打印结果为: 

  1. <class 'int'>
  2. <class 'str'>
  3. <class 'list'>
  4. <class 'dict'>
  5. <class 'tuple'>
  6. <class 'float'>
  7. <class 'set'>

       2. 在判断类型时,可以使用isinstance(arg,type)函数来进行判断,两者的区别是:     

           type()不会认为子类是一种父类类型。

           isinstance()会认为子类是一种父类类型。

三、eval()函数

      eval()函数可以将符合元组、列表、字典结构的字符串,转换成列表、元组或者字典。

四、常用字典函数

  1. dict_data = {"age": 23, "name": "bingbing"}
  2. # 1. items()方法,返回字典的所有键值对,以列表的形式返回可遍历的元组数组
  3. items = dict_data.items()
  4. for i in items:
  5. print(i)
  6. # 2. key in dict 判断键是否在字典里
  7. if "age" in dict_data:
  8. print("age is in dict")
  9. else:
  10. print("age is not in dict")
  11. # 3. 可以直接根据键来拿到对应的值
  12. print(dict_data["age"])
  13. # 4. keys()方法,返回该字典的键列表,包含该字典内的所有键
  14. print(dict_data.keys())
  15. # 5. get(key,default=None)返回指定的key,如果key不存在,那么返回default值。
  16. print(dict_data.get("address", "不存在!"))
  17. # 6. setdefault(key,default=None)设置key的默认值,如果key不存在,那么设置的值为default的值
  18. print(dict_data.setdefault("address", "上海浦东新区"))
  19. print(dict_data)
  20. # 7.values()方法, values方法,返回一个迭代器,可以用list转换为值列表
  21. print(dict_data.values())
  22. # --> 列表
  23. print(list(dict_data.values()))
  24. # 8. pop(key[,default])方法, 返回被删除的key值,如果指定的key值不存在,那么返回设定的default的值。
  25. pop_result = dict_data.pop("add", "666")
  26. print("pop_result", pop_result, ",dict_data", dict_data)
  27. # 9. popitem()方法,随机返回字典的最后一个键值对。
  28. pop_item = dict_data.popitem()
  29. print("pop_item", pop_item, ",dict_data", dict_data)
  30. # 10. .fromkeys()方法,根据元组序列来生成一个字典
  31. tuple_data = ("name", "age", "address")
  32. print("根据元组生成字典:", dict.fromkeys(tuple_data))

打印结果:

  1. D:\pythonWorkspace\django-study\mysite\venv\Scripts\python.exe D:/pythonWorkspace/django-study/mysite/python-study/dict-demo.py
  2. ('age', 23)
  3. ('name', 'bingbing')
  4. age is in dict
  5. 23
  6. dict_keys(['age', 'name'])
  7. 不存在!
  8. 上海浦东新区
  9. {'age': 23, 'name': 'bingbing', 'address': '上海浦东新区'}
  10. dict_values([23, 'bingbing', '上海浦东新区'])
  11. [23, 'bingbing', '上海浦东新区']
  12. pop_result 666 ,dict_data {'age': 23, 'name': 'bingbing', 'address': '上海浦东新区'}
  13. pop_item ('address', '上海浦东新区') ,dict_data {'age': 23, 'name': 'bingbing'}
  14. 根据元组生成字典: {'name': None, 'age': None, 'address': None}
  15. Process finished with exit code 0

五、日期函数

          1. 使用strftime()格式化datetime获取的时间,最后返回的格式为字符串类型。

  1. import datetime
  2. data_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
  3. print(data_time)

       2. 使用datetime.datetime.strptime(str,”%Y-%m-%d %H:%M:%S”) 将字符串时间转换为datetime格式的时间
 

  1. import datetime
  2. data_time = datetime.datetime.strptime("2020-12-12","%Y-%m-%d %H:%M:%S")
  3. print(data_time)

六、高级内置函数

1. lambda表达式的使用,一般函数都可以转换为Lambda表达式
   y= lambda x:x+2
   y(2)
   打印结果: 4

2.map object的使用
   1) map(function,iterator),参数1为函数,参数2为可遍历的迭代器
   2) 可以直接使用list(map(function,iterator)) 将返回的map对象转换为list列

# map函数的使用
a = [1, 2, 3, 4]

def func(x):
    print(x)
    return x + 1

res = map(func, a)
# 参数1为function,参数2为列表或其他迭代器
for i in res:
    print(i)

# map转换为list,将返回的结果转换为列表的形式
res = list(map(func, a))
print(res)
# 打印结果: [2, 3, 4, 5]

3.for 循环遍历
  1) 直接 for i in list: print(i)
  2) 格式化遍历 for (x,y) in [{x1,y1},{x2,y2}]
  3) 带条件的生成器 [x for x in list if x >5]

schedule = [(echo, “apple”), (echo, “banana”)]

for (func, args) in schedule:
    func(args)

4. filter 用法,筛选出列表中满足条件的值, 使用list()方法将filter()筛选的结果返回
   例如, 使用filter筛选出(-5,5)之间的所有条件满足大于0的数
   res=list(filter(lambda x:x>0,range(-5,5)))

# filter的使用
# 1.使用filter挑选出序列[-5,5]中大于0的数
res = list(filter(lambda x: x > 0, range(-5, 5)))
print(res)
# 打印结果[1,2,3,4]

5. reduce 用法
   reduce是在functools 类里, 用来计算一个列表中所有元素加起来的和或所有元素的乘积
   比如,计算一个列表中所有元素和
   from functools import reduce
   res = reduce(lambda x, y: x + y, a)

# reduce的用法
from functools import reduce

a = [1, 2, 3, 4, 5]
res = reduce(lambda x, y: x + y, a)
print(res)

七、格式化函数

      1.  .format()函数

          “{}/{}/{}”.format(1,2,3)    –>  1/2/3