Python学习_内置函数

基本内置函数:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# abs()绝对值
i = abs(-123)
print(i)

# all()循环参数,如果每个元素都为真,那么all的返回值为真
# 假:0,None,"",[],(),{}
r = all([True, True, False])
print(r)

# any()循环参数,如果有一个参数为真,那么any的返回值为真
a = any([True, False, False])
print(a)

# ascii(), 在对象的类里面找 __repr__,获取其返回值
class Foo:
    def __repr__(self):
        return "hello"

obj = Foo()
r = ascii(obj)
print(r)

# bin() 二进制
# oct() 八进制
# int() 十进制
# hex() 十六进制
r = bin(11)
print(r)  # 0b1011,0b表示2进制
r = oct(8)
print(r)  # 0o10 逢8进1,0o表示8进制
r = hex(14)
print(r)  # 0xe e=14,0x 表示16进制

i = int("0b11", base=2)
i = int("0o11", base=8)
i = int("0x11", base=16)
print(i)

# bool() 判断真假或者把一个对象转为布尔值

# bytes() 把字符串转换成字节
bytes("xxx", encoding="utf-8")
# bytearray() 字节列表

# chr() 接收一个数字,找到对应的ascii 码对应的字符
# ord() 将一个字符转为数字,与chr()相反
# 以上2个方法只适用于 ascii 码

# 一个字节是8位 2**8 , 256种
i = chr(65)
print(i)
i = ord("a")
print(i)

# 验证码,ascii 里面对应65-90
# 1.生成65-90的随机数
# 2.把随机数转换成字母 chr(num)
import random

temp = ""
for i in range(6):
    n = random.randrange(0, 4)
    if n == 3 or n == 1:
        rad2 = random.randrange(0, 10)
        temp += str(rad2)
    else:
        # 大于等于65,小于等于91
        rad1 = random.randrange(65, 91)
        c = chr(rad1)
        temp += c
print(temp)

# callable() 判断对象是否可执行
def f1():
    return 123

# f1不能加()
r = callable(f1)
print(r)

# compile() 编译成python可执行的代码
# dir() 列出类下面的所有方法名,help()获取详细的
print(dir(str))

# divmod() 得到商和余数,做页签可以用到此函数
r = divmod(101, 20)
print(r[0], r[1])

# eval() 执行一个字符串表达式,并返回表达式的值
a = "1 + 3"
print(a)
r = eval("1+3")
r = eval("a + 60", {"a": 99})
print(r)

# exec() 直接执行字符串代码,没有返回值
exec("for i in range(5):print(i)")

# filter(函数,可迭代的对象),用于筛选,不能加工元素
# 筛选,循环可迭代的对象,将获取每一个参数,函数(参数)
def f1(x):
    # if x > 22:
    #     return True
    # else:
    #     return False
    return x > 22

# ret = filter(f1, [11, 22, 33, 44])
ret = filter(lambda x: x + 22, [11, 22, 33, 44])
for i in ret:
    print(i)

# map(函数,可迭代的对象,用于加工,对元素进行处理)
def f1(x):
    return x + 100

# ret = map(f1,[1,2,3,4,5])
ret = map(lambda x: x + 100 if x % 2 == 1 else x, [1, 2, 3, 4, 5])
for i in ret:
    print(i)

# filter() 只筛选范围, map()只判断或者改变值,无法筛选
li = [11, 22, 33, 44, 55, 66]
ret = filter(lambda a: a + 33, li)
print(list(ret))

ret2 = map(lambda a: a + 33, li)
print(list(ret2))

# globals() 获取当前代码里面的所有全局变量
# locals()  获取当前代码里面的所有局部变量

# hash("xxxxxxxx") 将字符串改变为hash值,将key优化,方便查找和节省内存

# isinstance(对象,类型) 判断某个对象是否由某个类创建的
# issubclass(class,classinfo) 判断参数 class 是否是类型参数 classinfo 的子类
li = [11, 22]
r = isinstance(li, list)
print(r)

# iter() 创建可迭代的对象,使用next()取下一个值
obj = iter([11, 22, 33, 44])
print(next(obj), next(obj))

# max() 取最大值
# min() 取最小值
li = [11, 22, 33, 44]
print(max(li))
print(min(li))

# pow() 取指数
print(pow(2, 10))

repr() == ascii()

# round() 四舍五入
print(round(3.3))

# sum() 求和
print(sum([11, 22, 33]))

# super() 调用超类的方法
# vars() 函数返回对象object的属性和属性值的字典对象

# zip() 合并为(11, ‘2‘),(22, ‘a‘)
li1 = [11, 22, 33, 44]
li2 = ["2", "a", "bb", "CC"]

r = zip(li1, li2)
for i in r:
    print(i)

__import__()
r = __import__("random")
print(r.randrange(1, 5))

li = [1, 211, 22, 33, 44, 13]
# li.sort() 只能同类型
li.sort()
print(li)
new_li = sorted(li)
print(new_li)

char = ["223", "z", "B", "A", "赵", "王", "李", "11", "5", "999", "alex", "_", "a肖"]
new_char = sorted(char)
print(new_char)
for i in new_char:
    print(bytes(i, encoding="utf-8"))

重要内置函数open():

# !/usr/bin/env python
# -*- coding:utf-8 -*-

# 1.打开文件
# 2.操作文件
# 3.关闭文件

# open(文件名,模式,编码)
# 默认只读
f = open("hello.log","r")
# data = f.read()
# f.close()
# print(data)
# print(type(data))

# 基本的打开方式
# r,只读,不存在报错
f = open("hello.log","r")
f.write("guolei")
f.close()

# w,只写,不可读,不存在就创建,存在就清空内容
f = open("hello1.log","w")
f.write("hhhhhh")
f.close()

# x,只写,不可读,不存在就创建,存在就报错
f = open("hello1.log","x")
f.write("456")
f.close()

# a,追加,不可读,不存在就创建,存在就追加内容
f = open("hello1.log","a")
f.write("456")
f.close()

f = open("hello1.log","r",encoding="utf-8")
data = f.read()
print(bytes(data,encoding="utf-8"))
for i in bytes(data,encoding="utf-8"):
    print(i)
f.close()

# 以字节的方式打开,不需要增加encoding参数
# 1.只读,rb
f = open("hello1.log","rb")
data = f.read()
f.close()
print(data)
print(type(data))

# 2.只写,wb
f = open("hello1.log","wb")
f.write(bytes("中国",encoding="utf-8"))
print(f.tell())
f.seek(0)
print(str(f.read(),encoding="utf-8"))
f.close()

# r/w/x/a       => 字符串
# rb/wb/xb/ab   => 字节类型

# + 表示可以同时读写
# r+ 从头开始读,指针默认为0
f = open("hello1.log","r+",encoding="utf-8")
# 不带b,3表示字符,带b,表示字节
data = f.read()
print(type(data),data)
# 文件写入后指针为在末尾
f.write("测试1")
# seek()调整指针的位置,指针为0,表示起始位置
# f.seek(0)
# tell()查看指针位置
print(f.tell())
data = f.read()
print(type(data),data)
f.close()

# w+ , 先清空,再写入,写入之后可以读
f = open("hello1.log","w+",encoding="utf-8")
f.write("测试郭磊")
f.seek(0)
data = f.read()
print(data)
f.close()

# x+ , 跟w+一样,就是文件存在会报错,而w+则清空
f = open("hello1.log","x+",encoding="utf-8")
data = f.read()
print(data)
f.close()

# a+,打开后指针默认在最后面,写的时候,seek无效,永远是追加
f = open("hello1.log","a+",encoding="utf-8")
f.seek(0)
f.write("日本人3")
f.seek(0)
data = f.read()
print(data)
f.close()

# flush()将内存中的数据写入到硬盘(刷新文件内部缓冲区)
# readline() 读取一行
f1 = open("hello1.log","r+",encoding="utf-8")
print(f1.tell())
f1.write("郭磊喜欢夏明吗")
f1.flush()
data1 = f1.read()
print(data1)
f1.seek(0)
data2 = f1.readline()
print(data2)

# truncate() 截取字符串,截取指针到起始位置
f1.seek(9)
f1.truncate()
f1.close()

# 循环读取文件,直到读完所有,每一个循环都是一行数据
f = open("hello1.log", "r", encoding="utf-8")
for line in f:
    print(line)

# 更人性化的close(),Python自动帮你close()
# 自动读取一个文件,并将内容写入到新文件
with open("hello.log", "r", encoding="utf-8") as obj1, open("hello1.log", "w", encoding="utf-8") as obj2:
    for line in obj1:
        obj2.write(line)

# r+可读可写,不会创建不存在的文件。如果直接写文件,则从顶部开始写,
# 覆盖之前此位置的内容,如果先读后写,则会在文件最后追加内容。
# 写入后再次read 则从上次read的地方开始,而不是从文件末尾开始
# (此时貌似与指针没关系,可能有2个指针,不是同一个)
f = open("hello1.log", "r+", encoding="utf-8")
data = f.read(1)
print(f.tell())
print(data)
f.write("郭磊222")
print(f.tell())
print(f.read())
f.close()

原文地址:https://www.cnblogs.com/xiaojiulin/p/10571970.html

时间: 2024-10-07 05:22:49

Python学习_内置函数的相关文章

python学习交流 - 内置函数使用方法和应用举例

内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函数相比于用户自己定义函数实现相同功能,在执行效率和对内存的分配和使用上是要更加理想的.所以理解和熟练运用python中的内置函数,不仅可以增强代码的可读性,同时也可以提升代码的品质.下面对内置函数的使用方法进行分类介绍,以方便归纳理解. 一.查看作用域中变量相关 global () 功能:查看全局作

python学习之--内置函数:

Python内置函数: Python内置了很多有用的函数,我们可以直接调用.要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数. 1. 内置函数调用之--abs()函数: 1 >>> abs(12) 2 12 3 >>> abs(-89) 4 89 5 >>> #毫无疑问abs是求绝对值的一个python内置函数. 6 ... 7 >>> 调用函数的时候,如果传入的参数数量不对,会报TypeError的错

Python学习:内置函数

Python内置了很多有用的函数,我们可以直接调用.可以查看官方文档:https://docs.python.org/2/library/functions.html 举例说明: 一.数学运算类 abs(x) 求绝对值 1.参数可以是整型,也可以是复数 2.若参数是复数,则返回复数的模 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数 注意:整型.浮点型都可以 float([x]) 将一个字符串或数转换为浮点数.如果无参数将返回0.0 int

python学习之- 内置函数

内置方法:1:abs():取绝对值2:all():当可迭代对象里所有均为真时结果为真. all([1,2,3])3:any():当可迭代对象里任意一个数据为真结果即为真.any([0,1,2])4:ascii():打印一个对象以字符串的表现形式.[ascii([1,'你好'])] 使用率低.5:bin(x):把十进制整数转二进制.bin(1) / bin(255)以 0b开头.6:bool():真假判断7:bytearray():可修改的二进制字节格式. 很少用 b = bytearray('a

python中的内置函数getattr()

在python的官方文档中:getattr()的解释如下: getattr(object, name[, default]) Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object’s attributes, the result is the value of that attribute. For examp

python之路——内置函数与匿名函数

内置函数 python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这些函数有些我们已经用过了,有些我们还没用到过,还有一些是被封印了,必须等我们学了新知识才能解开封印的.那今天我们就一起来认识一下python的内置函数.这么多函数,我们该从何学起呢? 上面就是内置函数的表,68个函数都在这儿了.这个表的顺序是按照首字母的排列顺序来的,你会发现都混乱的堆在一起.比如,oct和bin和hex都

part2:Python 变量及简单类型,print 函数介绍,Python 关键字、内置函数介绍

Python是弱类型语言,关于弱类型有两个含义:(1).所有的变量无须声明即可使用,或者说对从末用过的变量赋值就是声明了该变量:(2).变量的数据类型可以随时改变,同一个变量可以进行多次赋值,可以赋数值型和字符串型值. 一. 单行注释和多行注释 注释可提高程序可读性,用于解释某行或某部分程序的作用和功能.此外注释也是调试程序的重要方式,在调试时可将不希望编译.执行的代码注释掉.注释还可以为别人或自己过一段时间后能读懂代码的目的提供帮助.合理的代码注释占源代码 1/3 左右. Python语言不能

Python学习_算数运算函数

记录以grades列表为例,分别定义输出.求和.平均值.方差和标准差函数,并输出相应的值 grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5] #定义输出函数 def print_grades(grades): for grade in grades: print grade #定义求和函数 def grades_sum(grades): total = 0 for grade in grades: total +=

python之枚举--内置函数-enumerate()

python之枚举 内置函数 enumearate() enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 enumerate多用于在for循环中得到计数 enumerate()使用 如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写: list=["这","是","一个