首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言带参数宏定义:#define f(X) ((X)*(X))

l 宏定义可以嵌套使用,例如:#define R 3.0#define PI 3.14159#define L 2*PI*R 3.知识点:带参数宏定义l 一般形式:#define 宏名(参数表)...字符串l 带参数宏不占运行时间,只占编译时间;只是简单、机械字符替换;宏名无类型。...l 要注意有括号和没括号区别 不带参数宏定义比较简单,我们今天讲的是带参数。最后红色字体提到有括号、没括号区别。那提一个问题:怎么用宏定义表示数学上函数 f(x)=x*x ?...有同学会说,这不简单,顺手就来: #define f(X) X*X 但是,忽略了一点,宏代换是直接进行代换。...+1); 我们在宏定义时候尽量就避免这个问题,使用带参数宏时,要注意参数要带上括号,最好整个宏也要带上括号: #define f(X) ((X)*(X)) 否则,容易误导别人同时,自己也容易出错

4.9K00

len(x) 击败 x.len(),从内置函数看 Python 设计思想

它们预先定义在内置命名空间中,开箱即用,所见即所得。Python 被公认是一种新手友好型语言,这种说法能够成立,内置函数在其中起到了极关键作用。...举个例子,求字符串 x 长度,Python 写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应参数即可。len() 函数是共用。...除了求长度,Python 某些内置函数也能在 Java 中找到对应表达。...它告诉我了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法类。...从这个角度理解,我们能够明白,为什么 Python 要设计出内置函数? 内置函数其实是对世界本质一种捕捉。 这些见微知著发现,足够使我们爱上这门语言了。人生苦短,我用 Python

48930
您找到你想要的搜索结果了吗?
是的
没有找到

len(x) 击败 x.len(),从内置函数看 Python 设计思想

内置函数是 Python 一大特色,用极简语法实现很多常用操作。 它们预先定义在内置命名空间中,开箱即用,所见即所得。...Python 被公认是一种新手友好型语言,这种说法能够成立,内置函数在其中起到了极关键作用。...举个例子,求字符串 x 长度,Python 写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应参数即可。len() 函数是共用。...除了求长度,Python 某些内置函数也能在 Java 中找到对应表达。...它告诉我了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法类。

56220

len(x) 击败 x.len(),从内置函数看 Python 设计思想

内置函数是 Python 一大特色,用极简语法实现很多常用操作。 它们预先定义在内置命名空间中,开箱即用,所见即所得。...举个例子,求字符串 x 长度,Python 写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应参数即可。len() 函数是共用。...除了求长度,Python 某些内置函数也能在 Java 中找到对应表达。...它告诉我了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法类。...从这个角度理解,我们能够明白,为什么 Python 要设计出内置函数? 内置函数其实是对世界本质一种捕捉。 这些见微知著发现,足够使我们爱上这门语言了。人生苦短,我用 Python

66130

len(x) 击败 x.len(),从内置函数看 Python 设计思想

内置函数是 Python 一大特色,用极简语法实现很多常用操作。 它们预先定义在内置命名空间中,开箱即用,所见即所得。...Python 被公认是一种新手友好型语言,这种说法能够成立,内置函数在其中起到了极关键作用。...举个例子,求字符串 x 长度,Python 写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应参数即可。len() 函数是共用。...除了求长度,Python 某些内置函数也能在 Java 中找到对应表达。...它告诉我了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法类。

58820

len(x) 击败 x.len(),从内置函数看 Python 设计思想

它们预先定义在内置命名空间中,开箱即用,所见即所得。Python 被公认是一种新手友好型语言,这种说法能够成立,内置函数在其中起到了极关键作用。...举个例子,求字符串 x 长度,Python 写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应参数即可。len() 函数是共用。...除了求长度,Python 某些内置函数也能在 Java 中找到对应表达。...它告诉我了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法类。...从这个角度理解,我们能够明白,为什么 Python 要设计出内置函数? 内置函数其实是对世界本质一种捕捉。 这些见微知著发现,足够使我们爱上这门语言了。人生苦短,我用 Python

81120

len(x) 击败 x.len(),从内置函数看 Python 设计思想

len(x) 击败 x.len(),从内置函数看 Python 设计思想 ? 内置函数是 Python 一大特色,用极简语法实现很多常用操作。...它们预先定义在内置命名空间中,开箱即用,所见即所得。Python 被公认是一种新手友好型语言,这种说法能够成立,内置函数在其中起到了极关键作用。...举个例子,求字符串 x 长度,Python 写法是 len(x) ,而且这种写法对列表、元组和字典等对象也同样适用,只需要传入对应参数即可。len() 函数是共用。...它告诉我了两点:返回值是一个整数,参数是某种容器。但当读到 x.len() 时,我必须事先知道某种容器 x,它实现了一个接口,或者继承了一个拥有标准 len() 方法类。...从这个角度理解,我们能够明白,为什么 Python 要设计出内置函数? 内置函数其实是对世界本质一种捕捉。

50420

Python 3.x内置函数range()函数用法

range()是Python开发中非常常用一个内置函数,语法格式为range([start,] end [, step] ),有range(stop)、range(start, stop)和range...该函数返回具有惰性求值特点range对象,其中包含左闭右开区间[start,end)内以step为步长整数。参数start默认为0,step默认为1。...2)) #指定起始值和步长 [1, 3, 5, 7, 9] >>> list(range(9, 0, -2)) #步长为负数时,start应比end大 [9, 7, 5, 3, 1] >>> x,...y, z = range(3) #支持序列解包 >>> print(x, y, z) 0 1 2 >>> x = [1, 2, 3, 4, 5, 6] >>> x[::2] = range(3...print(3, end=' ') 3 3 3 3 当然,也可以使用range()函数来控制数值范围,例如下面的程序片段可以用来输出200以内能被17整除最大正整数。

1.6K40

0x3f3f3f3f常量在编程中妙用

0x3f3f3f3f十进制是1061109567,也就是10^9级别的(和0x7fffffff一个数量级),而一般场合下数据都是小于10^9,所以它可以作为无穷大使用而不致出现数据大于无穷大情形...另一方面,由于一般数据都不会大于10^9,所以当我们把无穷大加上一个数据时,它并不会溢出(这就满足了“无穷大加一个有穷数依然是无穷大”),事实上0x3f3f3f3f+0x3f3f3f3f=2122219134...,这非常大但却没有超过32-bit int表示范围,所以0x3f3f3f3f还满足了我们“无穷大加无穷大还是无穷大”需求。...最后,0x3f3f3f3f还能给我们带来一个意想不到额外好处:如果我们想要将某个数组清零,我们通常会使用memset(a,0,sizeof(a))这样代码来实现(方便而高效),但是当我们想将某个数组全部赋值为无穷大时...现在好了,如果我们将无穷大设为0x3f3f3f3f,那么奇迹就发生了,0x3f3f3f3f每个字节都是0x3f

89520

对于无穷大0x3f3f3f3f选择

一般会有两个选择:0x7fffffff和0x3f3f3f3f 比如对于int类型数,有的人会采用INT_MAX,即0x7fffffff作为无穷大。...0x3f3f3f3f 0x3f3f3f3f十进制为1061109567,和INT_MAX一个数量级,即10^9数量级, 而一般场合下数据都是小于10^9。...0x3f3f3f3f数值为1061109567,它两倍也只有2122219134,不会溢出。 这样就有一个好处,当两个无穷大相加时候可以使int型整数不溢出,并使数值仍为无穷大。...而使用0x3f3f3f3f在对于数组初始化时候也比较方便,一般数组批量赋值时会使用memset函数,如果想将一个数组全部定义为"无穷大"0x3f3f3f3f,因为memset函数是对字节进行操作,而...0x3f3f3f3f每个字节都是0x3f,所以可以直接定义为memset(array, 0x3f, sizeof(array)) 在java中使用Arrays.fill(arr,0x3f3f3f3f)

9210

聊聊 Python 内置电池

它们有的并不是 Python 所原创或独有,但是却因为它才广为人知,它们在 Python 中是代表性存在物。 (二) 这些内容都很有意思,本文唯独想聊聊它——内置电池 。 ?...Batteries Included 这个叫法是 Python 特有的,它指的是 Python 拥有“内置电池”,也就是自带丰富多样标准库,开箱即用,动力十足。...(四) 内置电池做不到无所不包,因此需要所谓第三方库,而 Python 也以三方库丰富而闻名。...就是说,Python 也拥有强大外置电池,所以其实它是 双驱动 。 (五) 双驱动本来相安无事,互为表里,但是,内置电池却遭到了越来越多指责。 ?...Python 内置电池也不例外,可是,这电池修理或替换,却不像物理世界电池那般容易。

52140

python内置函数sorted(x)作用是_Python代码中sorted()函数具有哪些功能呢?

参考链接: PythonSorted 摘要:  下文讲述Python代码中sorted()函数功能说明,如下所示:  sorted()函数功能说明  sorted()函数功能:  用于对所有可迭代对象进行排序操作... cmp:比较函数,这个具有两个参数参数值都是从可迭代对象中取出,此函数必须遵守规则为,大于则返回1,小于则返回-1,等于则返回0。  ...key:主要是用来进行比较元素,只有一个参数,具体函数参数就是取自于可迭代对象中,指定可迭代对象中一个元素来进行排序。  ...reverse:排序规则,reverse = True 降序 , reverse = False 升序(默认)  -------返回值说明----  重新排序列表  例:  Python sorted...x[1])  [('b', 8), ('a', 10), ('e', 100)]

98520

python常见内置函数

函数分为自定义函数和内置函数 python内置函数分类: 一、强制转换 int() / str() / bool() / list() / tuple() / dict() / set() 二、输入输出...65,90) data.append(chr(v)) return ''.join(data) code = get_random_code() print(code) 六、 内置函数高级...map(函数,可迭代对象):一起执行 循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行结果保存到新列表中,并返回 #示例: v1 = [11,22,33,44...] result = map(lambda x:x+100,v1) print(list(result)) filter(函数,可迭代对象):进行筛选 #示例: v1 = [11,22,33,...map / filter(python2与python3区别九) python2:返回列表,直接创建值,可以通过索引取值 python3:返回迭代器,不直接创建值,通过循环,边循环边创建 reduce

39520

python字典内置方法

1.fromkeys(seq[,value])      fromkeys()方法用于创建并返回一个新字典,它有两个参数,第一个参数时字典键,第二个参数时可选,是传入键对应值, 如果不提供,那么默认是...1,2,3),"number") {1: 'number', 2: 'number', 3: 'number'} 2.keys(),values(),items()      keys()用于返回字典中键...赞'), (27, '赞'), (28, '赞'), (29, '赞'), (30, '赞'), (31, '赞')]) 3.get(key[,default])     get()方法提供了更宽松方式去访问字典项...,当键不存才时候,get()方法并不会报错,只是默默返回了一个None,表示啥都没有 例: >>> dict3.get(32) >>> 4.clear()      如果需要清空一个字典,使用clear...} >>> dict5 {'dog': '狗狗', 'cat': '猫咪', 'lion': '狮子'} 6.pop(key[,value])和popitem()    pop()是给定键弹出对应

69310

Python常用内置函数

和一个list,这个函数 f 作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件元素,返回由符合条件元素组成新list def is_odd...如果有其他可迭代参数传进来,map函数则会把每一个参数都以相应处理函数进行迭代处理。...>>> L = [1,2,3,4,] >>> def pow2(x): ... return x*x ... >>> list(map(pow2,L)) [1, 4, 9, 16] 三 作用域相关...,默认为空格       end: 每一次打印结尾,默认为换行符       flush: 立即把内容输出到流文件,不作缓存     """     file() 和文件有关关键字     f...  12 dir dir(list) dir(a) dir(123) 内置函数官方文档        https://docs.python.org/3/library/functions.html#

61920

Python内置方法

本章介绍一下python类中一些内置方法。...内置方法有很多,有些内置方法在object类中已经定义,子类可以拿来直接使用,也可以重写,但是有些内置方法object类中没有,比如 __len__ 方法(len()方法会调用 对应类中 __len...但是此方法一般无须定义,因为Python解释器会来完成内存分配和释放工作,所以,析构方法调用是由解释器在进行垃圾回收时自动触发执行。...类实例化过程大致步骤如下: 1、p = Person('Kitty', 18) ,会调用 Person类 __new__ 方法,并传递 name 和 age 参数 2、__new__ 方法 会创建一个...Person类对象并返回 3、最后利用这个对象调用类 __init__ 方法 完成初始化,__init__ 方法第一个参数是self,对象在调用 __init__ 方法时会将自己当做参数传递给

1K10
领券