首页 技术 正文
技术 2022年11月17日
0 收藏 336 点赞 4,914 浏览 2546 个字

一、内置函数接下来,我们就一起来看看python里的内置函数

day17 内置函数

分类图

day17 内置函数

1、作用域函数

基于字典的形式获取局部变量和全局变量globals()——获取全局变量的字典locals()——获取执行本方法所在命名空间内的局部变量的字典2、字符串代码执行

# eval() 将字符串类型的代码执行并返回结果
# print(eval('1+2+3+4'))exec()将自字符串类型的代码执行
# print(eval("3 > 1" )) # 注意不能接受一个等式,返回的是一个值,如果是输入内容则返回,一般用于简单求值表达式用eval
# exec("print('hello,world')")
#exec 将自字符串类型的代码执行 没有返回值。格式和正常代码格式一样不能随意修改
# exec( '''a = input('请输入》》')
# if a != 1:
# print(a)''')
# a = 123
# print(a)
# compile 将字符串类型的代码编译 # 编译成code类
#交互语句用single
# code3 = 'name = input("please input your name:")'
# compile3 = compile(code3,'','exec')#name #执行前name变量不存在
# Traceback (most recent call last):
# File "<pyshell#29>", line 1, in <module>
# name
# NameError: name 'name' is not defined
# exec(compile3) #执行时显示交互命令,提示输入
# print(name)
# name #执行后name变量有值
# "'pythoner'"
# a = "input('>>>')"
# b = compile(a,'','exec')
# print(b,type(b),sep='**',)
# exec (b)
# cmp_code = compile('print("single")','','single')
# exec(cmp_code)# eval_code='1+2' #如果用模式用single 将变成会返回值的一种 其他的都变成 有返回值 经过compile
# cmp_code2=compile(eval_code,'','eval')
# print(exec(cmp_code2))#single 单一交互语句,多个交互语句报错
c = '''input('>>>')
input('>>>')'''
cmp_code=compile(c,'','single')
exec(cmp_code)
# multiple statements found while compiling a single statement

其他:

#1.迭代器相关range  ,next(),iter(),send
#可调用函数 callable 返回True or Flase
#ctrl + 左键单击 :pycharm
#5.help:包含所有方法名以及他的使用方法 —— 不知道用法
#6.dir:只包含方法名 —— 想查看某方法是否在这个数据类型中
#7.import 函数
import time
import os
import urllib.request
import os.path
import copy
#8.open 文件操作
# f = open('文件名','w',encoding='utf-8')
#打开模式:r、w、a、rb、wb,ab
#9.内存地址 id()
#10 hash地址 hash()
#11#数据的存储和查找
#模块:hashlib
# {'k':'v'}
# [1,2,3,4,5,6,]# hash([1,2,3,4,5,6,])
#hash 判断一个数据类型是否可以hash
#在一个程序执行的过程中,对同一个值hash的结果总是不变
#多次执行,对同一个值的hash结果可能改变
#12 用户交互 input() 返回的值是字符串
# with open('a','a') as f:
# f.write('asdf')
# 13 pow 幂运算
# print(pow(3,2.5)) #15.588457268119896
#14 slice
# l = [1,2,23,213,5612,342,43]
# sli = slice(1,5,2) #实现了切片的函数
# print(l[sli])
# 15 bytearray
# ret = bytearray('alex',encoding='utf-8') #对比较长的字符串做修改的时候,指定某一处进行修改,不会改变这个bytearry的内存地址
# print(id(ret))
# print(ret[0])
# ret[0] = 65
# print(ret)
# print(id(ret))
#16 memoryview 内存中的切片 所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。
#. Python内置对象中支持缓冲区协议的对象有bytes和bytearray。
#切片
# l = [1,2,3,4,5,60]
# l[1:3]
# ret = memoryview(bytes('你好',encoding='utf-8'))
# print(ret)
# print(len(ret))
# print(ret[:3])
# print(bytes(ret[:3]).decode('utf-8'))
# print(bytes(ret[3:]).decode('utf-8'))
# 17 repr 显示表现形式 ascii 显示二进制表现形式
print(repr(1))
print(repr(''))
print('name : %r'%('金老板'))
print(ascii(1))
print(ascii(''))
print('name : %r'%('金老板'))
import time
for i in range(0,101,2):
time.sleep(0.1)
char_num = i//2 #打印多少个'*'
per_str = '\r%s%% :\033[1;40m %s\033[0m\n' % (i, '*' * char_num) if i == 100 else '\r %s%% : \033[1;40m%s\033[0m'%(i,'*'*char_num)
print(per_str,end='', flush=True)

打印进度条

  

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,565
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905