在学python编程时 常常会遇到些常见的函数 记录学习

1. getattr函数

"""
getattr() 函数用于返回一个对象属性值。
语法:
getattr(object, name, default)
参数:
object -- 对象。
name -- 字符串,对象属性。
default -- 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
返回值:
返回对象属性值。
可用于对象通过类方法名称找到方法
""" class A(object):
name = "xxx"
def func_a(self):
print("func_a") a = A()
getattr(a, "func_a", "default")() # func_a
print(getattr(a, "name", "default")) # xxx

2. hasattr函数

"""
hasattr() 函数用于判断对象是否包含对应的属性。
语法:
hasattr(object, name)
参数:
object -- 对象。
name -- 字符串,属性名。
返回值:
如果对象有该属性返回 True,否则返回 False。
用于判断一个对象是否函数属性和方法
""" class A(object):
name = "xxx"
def func_a(self):
print("func_a") a = A()
print(hasattr(a, "name")) # True
print(hasattr(a, "func_a")) # True

3. delattr函数

"""
delattr 函数用于删除属性。
delattr(x, 'foobar') 相等于 del x.foobar。
语法:
delattr(object, name)
参数:
object -- 对象。
name -- 必须是对象的属性。
返回值
无。
用于删除对象或者类的某个属性和方法
""" class A(object):
a = 10
b = 100
c = 1000 a = A()
print(a.a, a.b, a.c) # 10 100 1000
delattr(A, "c")
print(a.a, a.b) # 10 100
print(hasattr(a, "c")) # False

4. eval函数

"""
val()函数用来执行一个字符串表达式,并返回表达式的值。
返回值:
返回表达式计算结果。
用于通过函数名使用函数, 通过字符串进行对应的操作, 实现list、dict、tuple与str之间的转化
""" class A(object):
name = "xxx"
def func_a(self):
print("func_a") a = A()
print(eval("a.name")) # xxx
eval("a.func_a()") # func_a x = 100
print(eval("3 * x"), type(eval("3 * x"))) # 300 <class 'int'> str1 = "[1, 2, 3, 4, 5]"
list1 = eval(str1)
print(list1, type(list1)) # [1, 2, 3, 4, 5] <class 'list'>

5. extend方法

"""
list.extend函数是列表下的一个函数,可以合并一个列表
语法:
list.extend(seq)
参数:
seq为元素列表
返回值:

用于合并一个列表 区别与list.append函数
"""
a = [1, 2, 3]
b = [7, 8, 9]
a.extend(b)
print(a) # [1, 2, 3, 7, 8, 9]
a = [1, 2, 3]
b = [7, 8, 9]
a.append(b)
print(a) # [1, 2, 3, [7, 8, 9]]

6. 复数类complex

"""
complex类用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
语法:
class complex([real[, imag]])
参数:
real -- int,long,float或字符串
imag -- int,long,float
返回值:
返回complex对象
""" x = complex(1)
print(x, type(x)) # 1+0j) <class 'complex'>
print(complex(1, 2)) # (1+2j)
print(complex("1+2j")) # (1+2j)
# print(complex("1 +2j")) # 报错 不能出现空格
# print(complex("1+2j", 2)) # 报错 当第一个参数为字符串时 第二个参数不能有值

7. join方法

"""
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法:
str.join(sequence)
参数:
sequence -- 要连接的元素序列、字符串、元组、字典
返回值:
返回通过指定字符连接序列中元素后生成的新字符串。
""" list1 = ["", "", ""]
x = "---".join(list1)
print("---".join(list1), type(x)) # 1---2---3 <class 'str'>
dict1 = {"a":1, "b":2, "c":3}
print("---".join(dict1))

8. isinstance函数

"""
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
语法:
isinstance(object, classinfo)
参数:
object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
返回值:
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
""" x = "str1"
print(isinstance(x, str)) # True
print(isinstance(x, (str, int, bool))) # True class A:
pass
class B(A):
pass
a = A()
b = B()
print(isinstance(a, A)) # True
print(type(a) == A ) # True
print(isinstance(b, A)) # True
print(type(b) == A) # False

9. format函数

"""
format格式化函数
语法:
format(*arg:**kwarg)
参数:
:冒号前面为参数所对应的位置
:冒号后面为数字格式化
返回值:
返回格式化后的字符串
用于字符串格式化
""" print("{} {}".format("hello", "world") ) # hello world
print("{1} {0} {1}".format("hello", "world") ) # world hello world print("name:{name}, age :{age}".format(name="jack", age=18)) # name:jack, age :18
dict1 = {"name":"jack", "age":18}
print("{name} is {age}".format(**dict1)) # jack is 18
list1 = ["jack", 18]
print("{0[0]} is {0[1]}".format(list1)) # jack is 18 class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("jack", 18)
print("{0.name} is {0.age}".format(p)) # jack is 18 name = "jack"
print('{0:.3}'.format(1/3)) # 精确位数 0.333
print('{0:_^11} is a 11 length. '.format(name)) # 使用_补齐空位 ___jack____ is a 11 length.
print('My name is {0.name}'.format(open('out.txt', 'w'))) # 调用方法 My name is out.txt
print('My name is {:15} ok.'.format('Fred')) # 指定宽度 My name is Fred
print("{0:,}".format(100000000000)) # 100,000,000,000
print('{:4}'.format(11)) # 占用4个位置 11

python常见的函数和类方法的更多相关文章

  1. Python 常见文件操作的函数示例(转)

    转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...

  2. Python常见文件操作的函数示例

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...

  3. python常见的数据转化函数

    python常用类型转换函数 函数格式 使用示例 描述 int(x [,base]) int("8")   可以转换的包括String类型和其他数字类型,但是会丢失精度       ...

  4. Python函数式编程(二):常见高级函数

    一个函数的参数中有函数作为参数,这个函数就为高级函数. 下面学习几个常见高级函数. ---------------------------------------------------------- ...

  5. python内置函数详细介绍

    知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档:    https: ...

  6. Python补充--Python内置函数清单

    Python内置函数 Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print(&quo ...

  7. Python 动态创建函数【转】

    知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...

  8. python中的函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  9. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

随机推荐

  1. UNIX网络编程-Select模型学习

    1.相关接口介绍 1.1 select ---------------------------------------------------------------------- #include ...

  2. 记录那些我不清楚的知识点(HTML)

    <div class="link"><a href="http://www.baidu.com/" target="iframeHt ...

  3. C char** 的一点儿理解

    理解是就是char** 相当于字符串数组,我以往纠结于该用 **arr还是*arr还是 (*arr),还是(**arr): 对于**arr而言:*arr代表数组的最开头,也就是第一个字串的内容.**a ...

  4. 电脑IP改变后oracle em无法登陆的解决办法(亲测)

    以下方法为本人亲测 情况:假设电脑初次安装oracle时的ip是192.168.133.110 那么进入em的地址就是http://192.168.133.110:1158/em/console/lo ...

  5. Cdev

    1,#和##操作符Operator,使用 首个参数返回为一个带引号的字符串 predefined variable was not declared in the scope;

  6. Codeforces Round#403 (Div. 1)

    唉,昨天晚上迷迷糊糊地去打cf,结果fst两题,掉回蓝了... A.Andryusha and Colored Balloons 题意:给定一棵树,任意两个距离小等于二的点不能染相同的颜色,求最小颜色 ...

  7. 将配置文件appsetting中的值转换为动态对象调用

    该文可参考我的另一篇关联文章:   https://www.cnblogs.com/lxhbky/p/6957825.html 配置如下: <!--邀请用户送优惠券规则{邀请人规则:[{邀请人: ...

  8. MySQL 使用自增ID主键和UUID 作为主键的优劣比较详细过程(从百万到千万表记录测试)

    测试缘由 一个开发同事做了一个框架,里面主键是uuid,我跟他建议说mysql不要用uuid用自增主键,自增主键效率高,他说不一定高,我说innodb的索引特性导致了自增id做主键是效率最好的,为了拿 ...

  9. git clean(转载)

    git clean命令用来从你的工作目录中删除所有没有tracked过的文件. git clean经常和git reset --hard一起结合使用. 记住reset只影响被track过的文件, 所以 ...

  10. 1.7Oob 方法重载和成员变量,局部变量,构造方法

    1:方法调用,如果值有参方法,必须传递实际参数. 2:方法定义了多少个参数,传递的实际参数就 必须有多少个, 方法的作用:1:描述某个类的作用,2:软件的复用 这个复用率低,作用小,价值很低: 3: