Python
的内置功能讲解
abs
第一个是
abs
print 'abs(-10):'
print abs(-10)
print 'abs(-2.3):'
print abs(-2.3)
print 'abs(1+1j):'
print abs(1+1j)
结果是:
abs(-10)
10
abs(-2.3)
2.3
abs(1+1j)
1.41421356237
这个体现了函数的多态啊。整数,浮点数,复数进行了不同的处理。功能强吧。
ord
和
chr
第二个是
ord
和
chr
print 'the ASCII code of Z'
print ord('Z')
print 'the ASCII code of 90'
print chr(90)
结果是
the ASCII code of Z
90
the ASCII code of 90
Z
如果给
ord
的是多于一个字符的字符串,那么会有异常给你看。如果给
chr
的参数不在
0
到
255
的范围内,也会有异常的。
str, dict, tuple
和
list
其实这些都不是内置函数了,如果从传统观点来说,应该是构造函数才对。
str
用来构造一个新的字符串,
dict
用来构造字典,
list
用来构在序列。
org_str = 'hello'
new_str = str(org_str)
print org_str, new_str
org_dict = {'phone':68942443, 'qq':81711392}
new_dict = dict(org_dict)
new_dict['qq']=0
print org_dict, new_dict
another_dict = org_dict
another_dict['qq']=0
print org_dict, another_dict
org_list = [1,2,3]
new_list = list(org_list)
new_list[0] = 4
print org_list, new_list
输出
hello hello
{'qq': 81711392, 'phone': 68942443} {'qq': 0, 'phone': 68942443}
{'qq': 0, 'phone': 68942443} {'qq': 0, 'phone': 68942443}
[1, 2, 3] [4, 2, 3]
可见,用构造函数产生新的对象然后在赋值是真正的拷贝,如果直接赋值就是同一个名称绑定到了同一个对象之上了。对于字符串,由于字符串是不可改变的,所以其实两个东西还是指向了一个对象,并没有发生想象中的拷贝过程。
cmp
print 'cmp(1,2)'
print cmp(1,2)
print 'cmp(1,1)'
print cmp(1,1)
print 'cmp(2,1)'
print cmp(2,1)
print 'cmp(1.2,2)'
print cmp(1.2,2)
print "cmp('a','b')"
print cmp('a','b')
print "cmp('ab','ac')"
print cmp('ab', 'ac')
结果是:
cmp(1,2)
-1
cmp(1,1)
0
cmp(2,1)
1
cmp(1.2,2)
-1
cmp('a','b')
-1
cmp('ab','ac')
-1
divmod
a = 10
b = 3
print a/b
print a%b
print divmod(a,b)
结果大家都猜得到:
3
1
(3, 1)
需要一个
divmod
我猜的原因是汇编中能够同时算出商和模,所以用一个这样的函数可以提高效率,免得同时需要商和模的时候算两次。充分体现了
python
能够返回两个返回值的好处啊,其实返回的是一个
tuple
hex
和
oct
val = int(raw_input('input a value in decimal:'))
print 'converted to hex'
print hex(val)
print 'converted to oct'
print oct(val)
运行结果是:
input a value in decimal:123
converted to hex
0x7b
converted to oct
0173
需要注意
hex
和
oct
返回的是字符串,而且
hex
返回的前缀是
0x
,而
oct
的前缀是
0
。在
python
中,如果你在数字前面加了
0
或者
0x
就表示了它们分别是
8
进制和十六进制表示的
int, long
和
float
a = '1'
a_val = int(a)
b = '1.1'
b_val = float(b)
print a_val+b_val
结果是
2.1
long
和
int
其实差不多,其实应该说
int
当数字太大的时候会调用
long
。用
int
就好了,无所谓。
int
还能把字符串解释为不同的进制来进行转换,比如
int('12', 16)
会得到
18
,但是你不能:
int('0x12')
,这个是不行的。
如果不用
int
和
float
把字符串编程数字,那么是无法作加法的。如果字符串是无法转换的那种,则会给出异常:
ValueError: invalid literal for int()
有可能会把
eval
也给扯进来,但是
eval
是把字符串当作
python
的源代码来看,尝试进行解释执行。和
int
和
float
单纯的类型转换的本意想去太远了。
input
和
raw_input
a = input('a string to eval:')
print a
a = raw_input('a string:')
print a
a = eval(raw_input('a string then eval:'))
print a
我给了几个输入,结果是:
a string to eval:1+2
3
a string:1+2
1+2
a string then eval:1+2
3
特别注意,
input
由于是调用了
eval
的
raw_input
,如果用于用户输入是不安全的。因为输入一句就会被当作源代码来执行,那就是很大的安全漏洞了。还是能用
raw_input
就用
raw_input
。
len, max
和
min
a_list = [1,3,4,6,7]
print a_list
print 'length:',len(a_list)
print 'max:', max(a_list)
print 'min:', min(a_list)
a_tuple = (1,2,3)
print a_tuple
print 'length:', len(a_tuple)
print 'max:', max(a_tuple)
print 'min:', min(a_tuple)
a_string = 'hello'
print 'length:', len(a_string)
print 'max:', max(a_string)
print 'min:', min(a_string)
a_dict = {'hello':'hello!', 'how are you':'fine'}
print 'length:', len(a_dict)
print 'max:', max(a_dict)
print 'min:', min(a_dict)
运行结果是:
[1, 3, 4, 6, 7]
length: 5
max: 7
min: 1
(1, 2, 3)
length: 3
max: 3
min: 1
length: 5
max: o
min: e
length: 2
max: how are you
min: hello
很明白的。只是对于
dict
来说,比较大小的只是
key
,
value
不参加的。
filter, map, sum, zip
和
reduce
这几个函数是很有名的:
def my_filter(val_in_list):
if val_in_list < 5:
return False
else:
return True
def my_map(val_in_list):
return val_in_list**2
print filter(my_filter, [1,2,3,6,7])
print map(my_map, [1,2,3])
结果是:
[6, 7]
[1, 4, 9]
就是定义一个自己的函数,接收从
list
中取出的每个值。然后
filter
是这样的:
如果希望这个值继续存在在过滤之后的
list
中,返回
"True
,否则返回
false
而
map
是返回一个新值来代替这个值,这里是用原值的平方来进行代替的。
sum([1,2,3])
结果是
6
很见的求和
zip([1,3,5],[2,4,6])
结果是
[(1, 2), (3, 4), (5, 6)]
解释配对成
tuple
,参数可以是多个的
list
。
def func(val1, val2):
return val1*val2
print reduce(func, [1,2,3,4])
结果是:
24
这个比较费解。其实是
func((func((func(1,2)),3)),4)
。
pow
print '2**3'
print 2**3
print 'pow(2,3)'
print pow(2,3)
print 'pow(2,3)%3'
print pow(2,3)%3
print 'pow(2,3,3)'
print pow(2,3,3)
结果是:
2**3
8
pow(2,3)
8
pow(2,3)%3
2
pow(2,3,3)
2
其实
**
运算就是
pow
,只不过
pow
还带一个可选的第三个参数来把乘方结果进行取模运算。
值得注意的是乘方的底数和幂都能够是整数,小数,甚至是复数。但是当有第三个参数的时候,由于取模运算的限制,只能把底数和幂都限制为整数。
range
print range(10)
print range(1,10)
print range(1,10,3)
结果是
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 4, 7]
可见
range
是左开右闭的。而且我们使用
for i in range(xxx)
的时候其实是遍历一个产生的
list
。
round
print round(0.5)
print round(-0.5)
print round(0.55, 1)
结果是:
1.0
-1.0
0.6
第二个参数是用来把浮点数变成指定小数位数的。一个规律是
round
的结果总是远离
0
的。
相关推荐
python内置函数讲解及函数说明,有关python中的数学计算,类型转换,和各种操作
本篇文章将详细讲解Python内置函数的一些关键知识点。 1. `len()`: 这个函数用于获取对象(如列表、元组、字符串等)的长度,即元素或字符的数量。例如,`len(['apple', 'banana'])` 返回2,因为列表中有两个元素。...
Python支持多种内置的数据类型,包括但不限于:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)以及集合(Set)等。 #### 数字(Number) 数字类型包括整数(int)、浮点数(float)以及复数...
1. **Python内置数据结构**:Python提供了多种内置数据结构,如列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)。列表是最常用的数据结构,它允许存储任意类型的元素,并支持动态增删改查。例如,...
5. **Web服务器构建**:使用Python内置的http.server模块或第三方的Flask、Django框架创建简单的HTTP服务器,处理HTTP请求。 6. **Web框架**:深入讲解Flask或Django的使用,包括路由设置、模板渲染、数据库交互、...
**Python内置数据结构详解** 在Python编程语言中,内置数据结构是学习和使用的基础,它们提供了高效地组织和操作数据的方式。本教程将深入讲解Python的四种主要内置数据结构:列表(List)、元组(Tuple)、集合...
**Python内置数据结构详解** Python是一种高级编程语言,以其简洁明了的语法和丰富的内置数据结构而备受青睐。本教程将深入讲解Python中的基础数据结构,包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)...
在Python的基础部分,我们将学习如何使用内置函数、语法特性以及各种数据结构。例如,`abs()`函数可以计算一个数或复数的绝对值,如`abs(-6)`返回6。`all()`函数用于检查列表等迭代器的所有元素是否都为真,如`all(...
在"python django基础讲解"的课程中,你可以期待学习以下核心知识点: 1. **Django安装与环境配置**:了解如何在你的计算机上安装Python和Django,设置虚拟环境,以及配置项目所需的依赖库。 2. **Django项目与...
5. **函数和模块**:理解函数的概念,如何定义、调用函数,以及如何导入和使用Python内置模块和第三方模块。 6. **面向对象编程**:Python是面向对象的语言,教程将介绍类的定义、对象的创建,继承、封装和多态等...
**Python内置数据结构详解** Python是一种高级编程语言,以其简洁的语法和强大的功能深受程序员喜爱。在Python中,内置的数据结构是学习和使用的基础,它们提供了高效存储和操作数据的能力。本教程将深入讲解Python...
本文将对 Python 的内置函数进行分类讲解,帮助开发者快速掌握 Python 的基础知识。 一、数学运算类 Python 提供了多种数学运算函数,包括: 1. `abs(x)`: 求绝对值 2. `complex([real[, imag]])`: 创建一个复数 ...
在Python内置数据结构部分,你将学习到: 1. **列表(List)**:列表是Python中最常用的数据结构,可以容纳不同类型的数据。你可以通过索引访问列表元素,使用`append()`方法添加元素,`pop()`方法删除指定位置的元素...
Python提供了多种内置函数,包括print()、type()等。用户也可以创建自己的函数。例如: >>> def greet(name): ... print("Hello, " + name + "!") >>> greet("John") Hello, John! 在本文中,我们对Python的基础...
在这个优质的Python基础入门教程中,你会接触到许多关键概念,包括Python的内置数据结构、控制语句、文件操作、函数、面向对象编程以及异常处理等。本段主要关注的是Python的基础数据结构——序列。 序列是Python中...
总的来说,Python Scrapy框架提供了丰富的功能,使爬虫开发变得容易上手且可扩展性强。无论你是新手还是有经验的开发者,都能从中受益。在探索和实践中,你会逐渐掌握这个强大的工具,实现高效的网页数据抓取和处理...
Python内置了许多内置函数,如print()用于输出信息,len()用于获取序列长度。同时,学习如何定义自定义函数,理解参数传递机制,对于编写复用性代码至关重要。 控制流程是任何编程语言的灵魂。Python提供了if......
Python的内置pdb模块提供了交互式调试功能,可以帮助你定位和修复程序中的错误。 总的来说,“python基础知识视频讲解.rar”将带你走进Python的世界,从基本语法到进阶特性,通过视频的形式让你更直观地学习和理解...
《Python结构:面向程序员的结构化Python》是一本以程序结构和数据结构为重点的Python编程书籍,旨在帮助...通过本书,读者可以学习到如何利用Python内置的数据结构和功能,以及如何设计和实现更加高效和复杂的程序。
通过学习这本书,你可以了解到如何有效地利用Python内置的功能,提高编程效率,同时理解Python设计哲学。 《Python核心编程(第二版)》由Wesley Chun撰写,是一本深入浅出的Python教程。书中不仅讲解了Python的...