void changeA(void * pa)
{
pa=malloc(sizeof(int));
*(int *)pa=100;
free(pa);
}
精通C的你一眼就看出这个函数永远也改变不了它外面的世界 。
也就是说虽然传递的是地址,但像changeA这样的函数改变不了实参的值 。
也许会感到困扰?不,我已经在Matlab中习惯了 。
一个最典型的例子就是Matlab中删除结构体成员的rmfield函数(参见《Matlab笔记三则》),
(Matlab版本7.0.1)
如果想删除结构体patient的name成员 , 用
rmfield(patient, 'name');
是永远达不到目的的(就像试图用双手抓住自己的领子,把自己提到空中);
迷途知返的做法是:
patient = rmfield(patient, 'name');
Python中怎么用字符串来命名一个函数?有2个标准库函数可以完成你说的要求,建议用eval()
eval() 和exec()
区别是eval()有返回值
def test1():
print "Test1 Excuted!"
return True
ret = eval ("test1()")
print ret
结果如下
Test1 Excuted!
True
而exec()只执行,并无返回值 。
def test2():
print "Test2 Excuted!"
return True
exec("test2()")
结果如下
Test2 Excuted!
如果要将exec()赋值,会有以下语法错误!
ret = exec("test2()")
python 代码中 ret=True 代表什么意思?
点击上方 "Python人工智能技术" 关注,星标或者置顶
22点24分准时推送 , 第一时间送达
后台回复“大礼包” , 送你特别福利
编辑:乐乐 | 来自:pypypypy
上一篇:
正文
大家好 , 我是Pythn人工智能技术 。
内置函数就是Python给你提供的,拿来直接用的函数,比如print.,input等 。
截止到python版本3.6.2 ,python一共提供了68个内置函数,具体如下
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() ?lter() issubclass() pow() super()
bytes() ?oat() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()
delattr() hash() memoryview() set()
本文将这68个内置函数综合整理为12大类,正在学习Python基础的读者一定不要错过,建议收藏学习!
和数字相关 1. 数据类型
bool : 布尔型(True,False)
int : 整型(整数)
float : 浮点型(小数)
complex : 复数
2. 进制转换
bin() 将给的参数转换成二进制
otc() 将给的参数转换成八进制
hex() 将给的参数转换成十六进制
print(bin(10)) # 二进制:0b1010
print(hex(10)) # 十六进制:0xa
print(oct(10)) # 八进制:0o12
3. 数学运算
abs() 返回绝对值
divmode() 返回商和余数
round() 四舍五入
pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
sum() 求和
min() 求最小值
max() 求最大值
print(abs(-2)) # 绝对值:2
print(divmod(20,3)) # 求商和余数:(6,2)
print(round(4.50)) # 五舍六入:4
print(round(4.51)) #5
print(pow(10,2,3)) # 如果给了第三个参数. 表示最后取余:1
print(sum([1,2,3,4,5,6,7,8,9,10])) # 求和:55
print(min(5,3,9,12,7,2)) #求最小值:2
print(max(7,3,15,9,4,13)) #求最大值:15
和数据结构相关 1. 序列
(1)列表和元组
list() 将一个可迭代对象转换成列表
推荐阅读
- 服务器怎么用的,服务器什么用
- chatgpt如何接入小爱同学,小爱同学连接车载
- pdf怎么转化为jpg图片,pdf怎样转化为jpg
- C2C直播什么意思,c2c平台是指什么
- go语言手机版中文版 go语言官方中文文档
- 直播说sq什么意思,直播中的sc是什么
- flutter国际化接口,flutter ui
- 小米路由器青春版怎么设置,小米路由器青春版怎么设置无线桥接
- 洛阳学习go语言 洛阳语言培训机构