我们接着上一篇博客,继续来来了解Python一些常见类的函数使用方法

一.int

  1. # 运算符,>=,比较self是否大于等于value,只要满足大于或者等于其中一个条件,就返回True,否则就返回False
  2.  
  3. num = 8
  4. result = num.__ge__(6)
  5. print(result)
  6. #结果输出 True
  7.  
  8. num = 8
  9. result = num.__ge__(8)
  10. print(result)
  11. #结果输出 True

__ge__ 比较运算符

  1. # 获取对象属性,如果存在就返回该对象属性,否则就报错,一般需要与hassttr一同使用
  2. num = 8
  3. print(hasattr(num, '__add__')) #使用hasattr对象是否有__add__这个函数存在
  4.  
  5. result = num.__getattribute__('__add__')
  6. print(result)
  7. #打印输出<method-wrapper '__add__' of int object at 0x0000000059BA39B0>
  8. # 获取对象属性,如果存在就返回该对象属性,否则就报错,一般需要与hassttr一同使用

__getattribute__ 获取对象属性

  1. num = -9
  2. result = num.__invert__()
  3. print(result)
  4. #结果输出 8
  5.  
  6. num = 9
  7. result = num.__invert__()
  8. print(result)
  9. #结果输出-10
  10.  
  11. num = 90
  12. result = num.__invert__()
  13. print(result)
  14. #结果输出 -91

__invert__ 非运算

  1. # 比较运算符,用于比较self与vlaue是否小于等于,如果小于或等于就返回结果为True,否则就为False
  2.  
  3. num = 8
  4. result = num.__le__(9)
  5. print(result)
  6. #结果输出 True
  7.  
  8. num = 8
  9. result = num.__le__(8)
  10. print(result)
  11. #结果输出 True
  1. # 左移运算,value参数几就表示像左移几位
  2. num = 8
  3. result = num.__lshift__(2)
  4. print(result)
  5. # 0 0 0 0 1 0 0 0 8
  6. # 0 0 1 0 0 0 0 0 32
  7. #结果输出 32
  1. # 比较运算,小于,判断self是否小于value,如果小于就返回结果为True,否则就为False
  2.  
  3. num = 8
  4. result = num.__lt__(9)
  5. print(result)
  6. #结果输出 True

__lt__ 比较运算符,小于

  1. # 取模运算,将得到的结果的余数返回
  2.  
  3. num = 9
  4. result = num.__mod__(4)
  5. print(result)
  6.  
  7. #结果输出 1

__mod__ 取模运算

  1. num = 8
  2. result = num.__mul__(4)
  3. print(result)
  4.  
  5. #结果输出 32

__mul__ 乘法运算

  1. # 算术运算,判断两个对象是否不相等,如果不相等,就返回结果为True,否则返回结果为False
  2. num = 8
  3. result = num.__ne__(9)
  4. print(result)
  5. #结果输出 True
  6.  
  7. num = 8
  8. result = num.__ne__(8)
  9. print(result)
  10. #结果输出 False

__ne__ 算术运算

  1. #一元运算减法,返回对象相反的结果
  2.  
  3. num = 90
  4. result = num.__neg__()
  5. print(result)
  6. #结果输出 -90
  7.  
  8. num = -90
  9. result = num.__neg__()
  10. print(result)
  11. #结果输出 90

__neg__ 一元运算减法

  1. # 位的或运算,当凡相同位为真,即为1,则结果为真,即1,所以结果为9
  2.  
  3. num = 8
  4. result = num.__or__(9)
  5. print(result)
  6. # # 0 0 0 0 1 0 0 0 8
  7. # # 0 0 0 0 1 0 0 1 9
  8. #结果输出 9
  1. #幂运算,即8**2次方
  2. num = 8
  3. result = num.__pow__(2)
  4. print(result)
  5.  
  6. #结果输出 64

__pow__ 幂运算

  1. # 加法,value+self
  2. num = 8
  3. result = num.__radd__(9)
  4. print(result)
  5.  
  6. #输出结果 17

__radd__ 加法运算

  1. #与&运算,相同位1则为1,返回结果相同位相加,不相同则为零
  2. num = 8
  3. result = num.__rand__(9)
  4. print(result)
  5.  
  6. #结果输出 8
  7. # 0 0 0 0 1 0 0 0
  8. # 0 0 0 0 1 0 0 1

__rand__ 与&运算

  1. num = 8
  2. print(num.__or__(7))
  3. #结果输出 15
  4. # 0 0 0 0 1 0 0 0 8
  5. # 0 0 0 0 0 1 1 1 7
  6. # 0 0 0 0 1 1 1 1 15
  7. #位的或运算,只要相同位为真就为真,即为1,则结果为真,所以最终结果为15

__or__ 或!运算

  1. #__rdivmod与divmod的结果相反
  2. num = 9
  3. print(num.__rdivmod__(3))
  4.  
  5. #结果输出 (0, 3)
  6. #返回的结果(0,3),左边为余数,右边为整除的结果

__rdivmod__

  1. num = 7
  2. print(num.__sizeof__())
  3.  
  4. #结果输出为28个字节,

__sizeof__计算数据类型占用内存大小

  1. num = 8
  2. result = num.__str__()
  3. print(type(result))
  4.  
  5. #结果输出 <class 'str'>
  6. #将int数据类型转换为str数据类型

__str__ int转换为str

  1. num = 8
  2. print(num.__sub__(6))
  3. #结果输出 2
  4. #对象本身减去传入的参数,得到最终的返回值

__sub__ 减法运算

  1. #真除,返回的数据类型为float,浮点型
  2. num = 8
  3. print(num.__truediv__(2)) #结果输出 4.0
  4.  
  5. num = 8
  6. print(num.__truediv__(3))
  7. #结果输出 2.6666666666666665

__truediv__真除

  1. num = 8
  2. print(num.__xor__(4))
  3. #结果输出 12
  4.  
  5. # 0 0 0 0 1 0 0 0 8
  6. # 0 0 0 0 0 1 0 0 4
  7. # 0 0 0 0 1 1 0 0 12
  8. #同位比较,都是0则为假,都是1则为假,一真一假则为真

__xor__ 异或^运算

  1. num = 8
  2. print(num.bit_length())
  3.  
  4. #结果输出为4
  5.  
  6. # 0 0 0 0 0 1 0 0 #长度为4

bit_length 显示数据类型占位长度

  1. num = 2.3 - 2.5j
  2. result = num.real #复数的实部
  3. print(result) #打印输出2.3
  4. result = num.imag #复数的虚部
  5. print(result) #打印输出2.5
  6.  
  7. result = num.conjugate() #返回该复数的共轭复数
  8. print(result) #打印输出 (2.3+2.5j)

conjugate

  1. print(int.from_bytes(bytes=b'', byteorder='little'))
  2.  
  3. #打印输出51,即将字符3转换为十进制

from_bytes 字符转换十进制

  1. num = 8
  2. result = num.to_bytes(3, byteorder='little')
  3. print(result)
  4. #打印输出 b'\x08\x00\x00'
  5.  
  6. for i in result:
  7. print(i)
  8.  
  9. #打印输出
  10. 8
  11. 0
  12. 0

to_bytes_int转换为字节

二.str

  1. #python 3.x
  2. print(dir(str))
  3. #['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
  4.  
  5. #python 2.x
  6. dir(str)
  7. #['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
  1. a = 'hello'
  2. print(a.__add__(' world'))
  3.  
  4. #输出结果 hello world

__add__字符串拼接

  1. #用来判断参数是否在对象中,如果存在就返回True,不存在就返回False
  2.  
  3. name = 'LaiYing'
  4. print(name.__contains__('ai'))
  5. #结果输出 True
  6.  
  7. name = 'LaiYing'
  8. print(name.__contains__('x'))
  9. #结果输出False

__contains__ 判断字符串是否存在

  1. #__eq__,用来比较对象与参数的字符串是否相同,如果相同就返回True,否则就返回False
  2. name = 'jack'
  3. print(name.__eq__('jack'))
  4. #结果输出 True
  5.  
  6. name = 'jack'
  7. print(name.__eq__('Jack'))
  8. #结果输出False

__eq__ 比较字符串是否相等

  1. #用来判断对象是否包含传入参数的属性,一般与hasattr配合使用
  2. name = 'LaiYing'
  3. print(hasattr(name, '__add__')) #先使用hasattr查看对象是否有这个属性
  4. print(name.__getattribute__('__add__'))
  5.  
  6. #结果输出<method-wrapper '__add__' of str object at 0x00000000006AF1F0>

__getattribute__ 判读对象属性

  1. #获取对应字符,下标从0开始,传的参数如果超出下标会报错
  2. name = 'LaiYing'
  3. print(name.__getitem__(2))
  4.  
  5. #输出下标为2的字符 i

__getitem__ 获取对应字符

  1. name = 'LaiYing'
  2. print(name.__getnewargs__())
  3. #结果输出 ('LaiYing',)
  4. #将字符类型转换为元组输出

__getnewwargs__转换成元组

  1. #判断传入的参数和对象的内容是否相同,字符串不区分大小写,如果相同就返回True,否则就返回False
  2. name = 'laiying'
  3. print(name.__ge__('LAIYING')) #结果输出 True
  4. print(name.__ge__('LaiYING')) #结果输出 True
  5. print(name.__ge__('laiying')) #结果输出 True
  6.  
  7. print(name.__eq__('laiyinghh')) #结果输出为假

__ge__ 字符串比较

  1. strA = 'Hello'
  2. print(strA.__gt__('HellO'))
  3. #打印输出True
  4.  
  5. #字符串比较的是传入的参数每个字符首先得包含对象,其次如果字符串之间比较,大写比小写大,,如果传入参数都为大写,且对象也都为大写,那么结果为假,字符串比较首先比较的是字符串是否相同,不相同则为假,再次每个字符进行比较,只要前面有一位大于对方,则不继续比较了
  6.  
  7. #比如 HelLo与HEllo,首先两个字符串都是一样的,然后再比较第一位,第一位也一样,再比较第二位,大写比小写大,所以第二个字符串大,就不会继续比较下去了

__gt__字符串大于判断

  1. name = 'laiying'
  2. print(name.__hash__())
  3.  
  4. #结果输出 -1321548470539019197

__hash__ 生成一个临时的hash值

  1. name = 'lai'
  2. result = name.__iter__()
  3. for i in result:
  4. print(i)
  5.  
  6. #结果输出
  7. # l
  8. #a
  9. # i

__iter__字符串迭代

  1. name = 'LaiYing'
  2. print(name.__len__())
  3.  
  4. #打印输出结果 7

__len__判断字符串长度

  1. name = 'LaiYing'
  2. print(name.__le__('Ying'))
  3. #结果输出 True
  4. #字符串小于运算比较,先比较对象是否包含传入参数,当包含则再比较相同位的字母,大小字母比小写字母大,当前面有一位比较出谁大谁小了,则不再继续比下去了

__le__ 小于等于

  1. name = 'laiying'
  2. print(name.__ne__('LaiYing'))
  3. #结果返回True
  4.  
  5. #字符串不等于运算比较,凡是对象与传入参数只要有一个字母大小写不一样则为真,否则为假

__ne__ 不等于比较

  1. name = 'laiying'
  2. print(name.zfill(8))
  3. #结果显示 0laiying
  4.  
  5. #当传入的参数长度比对象长度大时,多余的长度则以0进行填充

zfill 以0填充

  1. #将所有字母转换为大写
  2.  
  3. name = 'laiying'
  4. print(name.upper())
  5. #结果输出 LAIYING

upper字母转换大写

  1. #标题,将首字母大小,并默认把其他字母小写
  2. name = 'hello world'
  3. print(name.title())
  4.  
  5. #结果输出 Hello World
  6. #将每个单词的首字母大写输出,且首字母后的单词都会变成小写,如hELLo,最终会格式化为Hello

title 标题

  1. name = 'LaiYing'
  2. print(name.swapcase())
  3. #结果输出 lAIyING

swapcase大小写转换

  1. name = ' lai ying '
  2. print(name.strip())
  3.  
  4. #结果输出 lai ying

strip 去除字符串两边的空格

  1. print('laiying'.startswith('lai'))
  2. #输出结果Ture
  3.  
  4. print('laiying'.startswith('ai'))
  5. #输出结果False
  6.  
  7. #startswith这个函数可以指定起始位置进行判断字符是否存在

startswith判断字符串的开头位置是否以你的参数开头

  1. print('hello\nworld'.splitlines())
  2. #结果输出 ['hello', 'world']
  3.  
  4. #splitlines默认以\n换行符进行分割字符,最终返回一个列表

splitlines以换行分割字符串

  1. print('hello word'.split())
  2. #结果输出 ['hello', 'word']
  3.  
  4. print('hello word'.split('\n'))
  5. #结果输出 ['hello word']
  6.  
  7. #默认以空格进行分割,可以指定分割符

split默认以空格进行分割

  1. print(' lai ying '.rstrip())
  2. #结果输出 lai ying
  3.  
  4. #打印将会把ying后面的空格去除

rstrip去除右边空格

  1. print('hello world'.rpartition('ll'))
  2. #结果输出 ('he', 'll', 'o world')
  3. #只返回传入参数且存在字符串里的字符,然后组合成一个新的元组

rpartition返回字符串的一部分

  1. print('hello world'.rjust(20))
  2. #结果输出 hello world
  3. #默认以空格填充,从左到最后一个单词d结尾,一个长度为20,也就是说h前面有9个空格
  4.  
  5. print('hello world'.rjust(20,'*'))
  6.  
  7. #结果输出 *********hello world
  8. #'*'这里可以指定填充的字符,这样看着更具体,前面有9个*被用来填充

rjust向右偏移

  1. print('hello world'.rindex('r'))
  2. #结果输出 8
  3. #通过查找字符'r',获取字符串在hello world里面的下标位置,这里从左往右数,第8个位置,字符串的下标默认从0开始,当找不到时则抛出异常

rindex查找下标

  1. a = 'hello 12'
  2. table1 = str.maketrans('','赖英')
  3. print(a.translate(table1))
  4. #结果输出 hello 赖英
  5.  
  6. #将字符串里面的12通过table进行翻译成对应的值,table的12长度必须和‘赖英’长度对应
  7.  
  8. a = 'hello 12' #翻译
  9. table1 = str.maketrans('','赖英好')
  10. print(a.translate(table1))
  11. #结果输出 hello 我很

translate翻译

  1. print('laiying'.find('i'))
  2. #输出结果 2

find找到字符串下标

  1. print('laiying'.rfind('i'))
  2. #结果输出 4
  3.  
  4. print('laiying'.rfind('ii'))
  5. #结果输出 -1
  6. #如果找到,则结果为对应的下标,否则返回-1

rfind从右开始查找

  1. print('laiying'.replace('l','y'))
  2. #结果输出 yaiying
  3. #将字符串里面所有的l替换为y,区分大小写

replace替换字符串

  1. print('laiying'.rpartition('yi'))
  2. #结果输出 ('lai', 'yi', 'ng')
  3. #效果与partiton相似

rpartition截取字符串

  1. table1 = str.maketrans('', '你好吗')
  2. print(table1)
  3. #结果输出{49: 20320, 50: 22909, 51: 21527}
  4. #首先传入的必须的两个参数,且 长度相等
  5. #返回的结果将是一个字典类型,每一个字符串将会映射到第二个参数的相同位置的字符串上
  6. #当这里存在三个参数时,第三个参数必须是一个字符串类型,且整个字符串将被映射成None
  7.  
  8. a = 'hello 123您好'
  9. table1 = a.maketrans('','你好吗', '很好')
  10. print(a.translate(table1))
  11. print(table1)
  12. #结果输出,如下
  13. #{24456: None, 49: 20320, 50: 22909, 51: 21527, 22909: None}
  14.  
  15. #这个字典的值将会被映射成unicode值,如49表示unicode的1

maketrans翻译表

  1. print(' lai ying '.lstrip())
  2. #结果输出 lai ying
  3.  
  4. #将lai左边的空格去除

lstrip去除左边空格

  1. print('HELLo WorlD'.lower())
  2. #结果输出 hello world
  3. #将所有字母全部转换为小写

lower将所有字母转换为小写

  1. print('hello world'.ljust(20, '*'))
  2. #结果输出 hello world*********
  3. #从右像左进行填充,总长度为20,可指定填充字符

ljust右填充

  1. print('+'.join(('hello', 'world')))
  2. #结果输出 hello+world
  3. #通过一个字符串去与join里面的一个迭代器里的字符串进行连接生成一个新的字符串

join生成一个字符串

  1. print('Hello'.isupper())
  2. #结果输出False
  3.  
  4. print('HELLO'.isupper())
  5. #结果输出 True
  6.  
  7. #判断字母是否为全是大写,如果是大写返回真,否则为假

isupper判断是否为大写

  1. print('Hello World'.istitle())
  2. #结果输出 True
  3.  
  4. print('hello world'.istitle())
  5. #结果输出 False
  6.  
  7. #判断每个单词首字母是否大写,是则为真,否则为假

istitle是否为标题

  1. #isspace判断是否为空格,是为真,否则为假
  2. print('hello'.isspace())
  3. #结果输出 False
  4.  
  5. print(' '.isspace())
  6. #结果输出True

isspace判断是否为空格

  1. print('hello world '.isprintable())
  2. #结果输出 True
  3.  
  4. print('\n'.isprintable())
  5. #结果输出False
  6.  
  7. #由于换行符是特殊字符,不能被打印,所以结果为假

isprinttable是否可以被打印

  1. print(''.isnumeric())
  2. print('壹'.isnumeric())
  3. print('1y'.isnumeric())
  4.  
  5. #True
  6. #True
  7. #False
  8. #True包含unicode数字,全角数字(双字节),罗马数字,汉字数字

isnumeric是否是数字

  1. print('hello'.islower())
  2. #结果输出 True
  3.  
  4. print('HelLo'.islower())
  5. #结果输出False
  6.  
  7. #判断字母是否全是小写,是为真,否则为假

islower 是否全部小写

  1. print('def'.isidentifier())
  2. print('lai'.isidentifier())
  3. print('2b2'.isidentifier())
  4. #True
  5. #True
  6. #False
  7.  
  8. #用来检查标识符是否可用,也就是说这个名字能不能用来作为变量名,是否符合命令规范,如果符合则为真,否则为假
  9. #通常会结合keyword.iskeyword()这个方法去做判断是否是关键字,防止因命名不规范导致某些内置功能不可用

isidentifier

初识python第二天(3)的更多相关文章

  1. 初识python第二天(2)

    整理Python常见数据类型内置函数的使用方法如下: 一.int 首先我们来查看一下int包含了哪些函数 #python3.x print(dir(int)) #['__abs__', '__add_ ...

  2. 初识Python第二天(1)

    在Python中,一切事物都是对象,对象是基于类创建的,对象继承了类的属性,方法等. 一.传递参数 1.1新建python文件,名为twoday_args.py,输出以下代码 import sys p ...

  3. 初识Python第二天(4)

    '.isdecimal()) print('壹'.isdecimal()) print('11d'.isdecimal()) #True #False #False #只有全部为unicode数字,全 ...

  4. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  5. python学习【第二篇】初识python

    python的安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机] ...

  6. 孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块

    孤荷凌寒自学python第二十七天python的datetime模块及初识datetime.date模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.datetime模块 dateti ...

  7. 孤荷凌寒自学python第二十五天初识python的time模块

    孤荷凌寒自学python第二十五天python的time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 通过对time模块添加引用,就可以使用python的time模块来进行相关的时间操 ...

  8. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  9. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

随机推荐

  1. android-BaseAdapter自定义控件深刻理解

    一.自定义控件的实现 自定义控件需要继承BaseAdapter抽象类,该类实现了ListAdapter, SpinnerAdapter两个接口,这两个接口继承了Adapter接口类,没错.是继承Ada ...

  2. HDU1892二维树状数组

    See you~ Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Su ...

  3. JSP + AJAX完整实例及代码

    (1)发送请求index.jsp,注意引入jquery.min.js文件 <%@ page language="java" contentType="text/ht ...

  4. HTML--JS练习小游戏(别踩白块儿)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. HTML5初学篇章_3

    表单的标签是<form>,它使页面与客户的互动成为可能.而它的大部分元素字自HTML2.0后就没有再改变过,由此可见这是一个多么具有卓越性的设计. <form>标签是用于创建供 ...

  6. Android中layout_gravity和gravity的区别

    安卓中的 layout_gravity 属性和 gravity属性 有啥区别? LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravi ...

  7. 数据库---T-SQL语句提纲

    T-SQL语句: 创建表:create table Name(Code varchar(50)) 主键:primary key自增长列:auto_increment外键关系:references非空: ...

  8. Docker-compose命令详解

    语法: Define and run multi-container applications with Docker. Usage:   docker-compose [-f=<arg> ...

  9. 淘宝天猫网站停止支持IE6、IE7浏览器,你还在用xp吗?

    2016年4月14日,是科比正式告别篮球的最后一场球赛.大家都在忙着各种纪念和怀念着看科比打球的青葱岁月.不过已经完美谢幕.而我们今天要说的是微软的IE6.IE7浏览器.淘宝网和天猫商城正式停止支持I ...

  10. 前后端分离开发——模拟数据mock.js

    mock.js 生成模拟数据,拦截ajax请求 <script type="text/javascript" src="http://libs.baidu.com/ ...