澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:python3内置函数,零基础

如果你是小白,建议只要安装官网的python-3.7.0-amd64.exe

1.简介

python是一种解释性的、面向对象的、带有动态语义的高级程序设计语言。

廖雪峰网站:   

下载python:

交互式python解释器:IDLE

python是通过缩进来组织代码段的,而不像c#中的大括号。一般推荐使用四个空格作为缩进。

python内置函数

知识图集:

Python内置(built-in)函数随着python解释器的运行而创建。在Python的程序中,你可以随时调用这些函数,不需要定义。

 

Built-in Functions    
abs() dict() help()
all() dir() hex()
any() divmod() id()
ascii() enumerate() input()
bin() eval() int()
bool() exec() isinstance()
bytearray() filter() issubclass()
bytes() float() iter()
callable() format() len()
chr() frozenset() list()
classmethod() getattr() locals()
compile() globals() map()
complex() hasattr() max()
delattr() hash() memoryview()

[python build-in functions - https://docs.python.org/release/3.4.2/library/functions.html]

 

[https://docs.python.org/release/2.7.2/library/functions.html]

[定位Python built-in函数的源码实现]

皮皮blog

 

 

Python字符和字符值(ASCII或Unicode码值)转换方法,pythonunicode

目的

将一个字符转化为相应的ASCII或Unicode码,或相反的操作。

方法

对于ASCII码(0~255范围)
复制代码 代码如下:
>>> print ord('A')
65
>>> print chr(65)
A

对于Unicode字符,注意仅接收长度为1的Unicode字符
复制代码 代码如下:
>>> print ord(u'u54c8')
21704
>>> print unichr(21704)

>>> print repr(unichr(21704))
u'u54c8'

chr()和str()区别,一个仅接收0~255的数值返回对应于ASCII值的字符,一个接受任何类型返回字符串格式
复制代码 代码如下:
>>> chr(97)
'a'
>>> str(97)
'97'

使用map和以上函数,来获得包含字符值或者码值的列表
复制代码 代码如下:
>>> print map(ord,(u'u54c8',u'u54c9'))
[21704, 21705]

>>> print map(unichr,range(21704,21707))
[u'u54c8', u'u54c9', u'u54ca']

目的 将一个字符转化为相应的ASCII或Unicode码,或相反的操作。 方法 对于ASCII码(...

python3常用内置函数:

然后在电脑cmd命令提示符  输入检查是否已经安装pip,一般安装了python都会有的。

2.表达式

除法:

默认情况下,一个整数除以另一个整数,结果仍然为整数:1/2 =0

如果其中一个数是浮点数,那么结果就是浮点数。

1.0/2 =>0.5

1/2.0=>0.5

1/2. =>0.5

双斜线:使用双斜线即使参数是浮点数,结果也会是整除。

1.0//2=》0.0

幂运算:

2**3=>8

-2**3=>-8

获取用户输入:input(str)方法。

>>> x=input('x=')
x=5
>>> y=input('y=')
y=6
>>> print x*y
30

python常用内置函数

1.abs()函数

abs函数是返回数字的绝对值

基本语法:

abs(x)        x:数值表达式,可以是整数、浮点数、复数

实例:

print("abs(-10)":abs(-10)

输出结果为:abs(-10):10

>pip            (有的话会提示一大串说明,没有的话会提示没有)

3.函数

幂函数:pow(2,3)=>8

绝对值:abs(-10)=>10

四舍五入:round(0.4)=>0.0      round(0.6)=>1.0

数学运算

abs(-5)                         # 取绝对值,也就是5

round(number, ndigits=None)                      # 四舍五入取整,或者小数保留ndigits位小数,round(2.6)  也就是3.0

pow(2, 3)                        # 相当于2**3,如果是pow(2, 3, 5),相当于2**3 % 5

cmp(2.3, 3.2)                   # 比较两个数的大小

divmod(9,2)                      # 返回除法结果和余数

max([1,5,2,9])                   # 求最大值

min([9,2,-4,2])                  # 求最小值

sum([2,-1,9,12])                 # 求和

 

假设有了pip,下面来用pip 来安装pygame   

4.模块

可以使用import命令导入特殊的模块来增强功能。

例如:

import math

math.floor(1.9)

=>1.0

cmath和复数:

>>> import cmath
>>> cmath.sqrt(-1)
1j

python本身是支持复数计算的:

>>> (1 2j) (3 4j)
(4 6j)
>>> (1 2j)-(3 4j)
(-2-2j)
>>> (1 2j)*(3 4j)
(-5 10j)

pow(x,y[,z])

返回 x 的 y 次幂(如果 z 存在的话则以z 为模)。

如果你想计算 x 的 y 次方,以 z 为模,那么你可以这么写:

mod = (x ** y) % z

但是当 x=1234567, y=4567676, z=56 的时候我的电脑足足跑了 64 秒!

不要用 ** 和 % 了,使用 pow(x,y,z) 吧!这个例子可以写成pow(1234567,4567676,56) ,只用了 0.034 秒就出了结果!

 

 

2.dict()函数

dict函数用于创建一个字典

dict 语法:

classdict(** kwarg)

classdict(mapping,**kwarg)

classdict(iterable,**kwarg)

参数说明:

**kwargs -- 关键字

mapping -- 元素的容器。

iterable -- 可迭代对象。

实例

dict()                                                    # 创建空字典{}

dict(a='a',b='b',t='t')                             # 传入关键字{'a':'a','b':'b','t':'t'}

dict(zip(['one','two','three'],[1,2,3]))     # 映射函数方式来构造字典{'three':3,'two':2,'one':1}

dict([('one',1),('two',2),('three',3)])       # 可迭代对象方式来构造字典{'three':3,'two':2,'one':1}

>pip install pygame           (执行这条命令会自动链接pygame下载并安装)

5.保存和执行

python保存为.py为后缀的文件

cmp(x,y)

比较两个对象 x 和 y 。 x<y 的时候返回负数,x==y 的时候返回 0,x>y 的时候返回正数。

def compare(x,y):
    if x < y:
        return -1
    elif x == y:
        return 0
    else:
        return 1

你完全可以使用一句 cmp(x, y) 来替代。

 

 

这样你的轻量环境就具备了,本人就读于刘大拿的教学下,其教学方式是安装anaconda 和  pycharm 两个软件

6.注释

用#井号表示注释,井号右侧的内容不会被解释。

类型转换

int("5")                        # 转换为整数 integer

float(2)                         # 转换为浮点数 float

 

float(str)

Note: python ValueError: could not convert string to float.原因:数据中存在空字符串'',导致无法转换成float。

long("23")                      # 转换为长整数 long integer

str(2.3)                        # 转换为字符串 string

complex(3, 9)                   # 返回复数 3 9i

 

ord("A")                        # "A"字符对应的数值

chr(65)                          # 数值65对应的字符

unichr(65)                       # 数值65对应的unicode字符

 

bool(0)                          # 转换为相应的真假值,在Python中,0相当于False

在Python中,下列对象都相当于False:[], (),{},0, None,0.0,''

bin(56)                         # 返回一个字符串,表示56的二进制数

hex(56)                         # 返回一个字符串,表示56的十六进制数

oct(56)                         # 返回一个字符串,表示56的八进制数

 

list((1,2,3))                   # 转换为表 list

tuple([2,3,4])                  # 转换为定值表 tuple

slice(5,2,-1)                    # 构建下标对象 slice

dict(a=1,b="hello",c=[1,2,3])   # 构建词典 dictionary

3.help()函数

help()函数用于查看函数或模块用途的详细说明。

help 语法:

help([object])

以下实例展示了 help 的使用方法:

>>>help(sys)            # 查看 sys 模块的帮助

……显示帮助信息……

>>>help(str)                # 查看 str 数据类型的帮助

……显示帮助信息……

>>>a=[1,2,3]>>>help(a)# 查看列表 list 帮助信息

……显示帮助信息……

>>>help(a.append)# 显示list的append方法的帮助

……显示帮助信息……

申明:本文仅零星知识点回顾(就是想到哪里就写哪里)如小白偶遇可能知识点说的不细,请谅解!

7.字符串

字符串可以使用单引号或者双引号,如果中间字符串内容也包括引号,那么可以使用转义字符。

>>> "let's say "hello world""
'let's say "hello world"'

拼接字符串使用加号:

>>> x='a'
>>> y='b'
>>> x y
'ab'

字符串表示:str和repr

  • str:把值转换为合理的字符串形式,便于用户理解;
  • repr:把值转换为合理的python表达式的形式。

>>> x="hello world";
>>> print str(x)
hello world
>>> print repr(x)
'hello world'
>>> y=10000L
>>> print str(y)
10000
>>> print repr(y)
10000L

input 与raw_input

  • input 会假设用户输入的是合法的python表达式,在下面的例子中只有输入字符串时才会执行成功。
  • raw_input会把输入作为原始数据,然后将其放入到字符串中。

一般情况下,建议使用raw_input.

#使用Input

>>> name=input('your name?')
your name?chenjing
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    name=input('your name?')
  File "<string>", line 1, in <module>
NameError: name 'chenjing' is not defined
>>> name=input('your name?')
your name?'chenjing'
>>> print 'hello' name
hellochenjing

#使用raw_input

>>> name=raw_input('your name?')
your name?chenjing
>>> print 'hello ' name
hello chenjing

注意raw_input是以字符串形式返回,如果想要整型需要使用int()进行类型转换。例如:

birth=int(raw_input('your birth'))
if(birth<2000):
  print 'before 00'
else:
  print 'after 00'

长字符串

如果比较长的字符串需要跨行,那么可以使用三个引号,而且其中的引号也不必再使用转义字符了。

>>> str='''hello world
hello 'cathy'
hello chenjing'''
>>> print str
hello world
hello 'cathy'
hello chenjing

原始字符串

原始字符串以r开头,原始字符串不会把反斜线作为特殊字符处理,在原始字符串输入的每个字符都会直接保持一致输出,不过原始字符串不能以反斜线结尾。

c:program files
>>> print r'c:newfile'
c:newfile

字符串编码

ASCII编码是1个字节,而Unicode编码通常是2个字节。

UTF-8编码:可变长编码。把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

Python支持ASCII编码,通过ord()和chr()函数,可以把字母和对应的数字相互转换。

print ord('A') >>>65
print chr(65) >>>A

Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示

u'测试'

想转换为utf-8需要encode('utf-8')方法

u'测试'.encode('utf-8')

澳门新浦京娱乐场网站 1

字符串格式化

澳门新浦京娱乐场网站 2

还可以指定是否补位0,以及小数位数

澳门新浦京娱乐场网站 3

如果字符串中包含%,则使用两个百分号代替%%

澳门新浦京娱乐场网站 4

 

%s和%r:%s等同于调用str()函数,%r等同于调用repr()。例如:

x="There are %d books."

print x

print "I said %r"%x

print "I said %s"%x

print str(x)

print repr(x)

 

运行结果:

There are 10 books.

I said 'There are 10 books.'

I said There are 10 books.

There are 10 books.

'There are 10 books.'

类型转换

int(str,base) :str为base进制,默认转换为十进制整型

>>> int('11',2)    3

 

4.min()函数

min() 方法返回给定参数的最小值,参数可以为序列。

以下是 min() 方法的语法:

min(x,y,z,....)

参数

x -- 数值表达式。

y -- 数值表达式。

z -- 数值表达式。

返回值

返回给定参数的最小值

实例

print("min(80, 100, 1000) : ",min(80,100,1000))

print("min(-20, 100, 400) : ",min(-20,100,400))

以上实例运行后输出结果为:

min(80,100,1000):80

min(-20,100,400):-20

首先基础,我们都知道数据、字符串、四则运算啊,重点要知道啥是变量,这个不做解释

8.时间和日期

Python内置的datetime模块提供了datetime,date,time等常用时间类型。

  • date()和time()方法可以分别提取日期和时间;
  • strftime()方法用于将时间格式化为字符串;
  • strptime()方法用于将字符串转换为日期格式;
  • 两个时间相减可以获得delta类型的时间差。

# -*- coding: cp936 -*-

from datetime import datetime,date,time

dt=datetime(2016,5,23,14,40,0)

print(dt.day)#23

print(dt.hour)#14

print(dt.date())#2016-05-23

print(dt.time())#14:40:00

#格式化字符串

print(dt.strftime("%Y-%m-%d %H:%M"))#2016-05-23 14:40

#字符串转换为时间

dt=datetime.strptime('201605231440','%Y%m%d%H%M')

print(dt) #2016-05-23 14:40:00

#时间差

dt1=datetime(2016,5,23,14,40)

dt2=datetime(2016,5,1)

delta=dt1-dt2

print(type(delta))#<type 'datetime.timedelta'>

print(delta)#22 days, 14:40:00

print(dt delta)#2016-06-15 05:20:00

python repr() str() 函数

将任意值转为字符串:将它传入repr() 或str() 函数。

函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError 异常) 

某对象没有适于人阅读的解释形式的话, str() 会返回与repr()等同的值。很多类型,诸如数值或链表、字典这样的结构,针对各函数都有着统一的解读方式。字符串和浮点数,有着独特的解读方式。

>>> s = 'Hello, world.'
>>> str(s)
'Hello, world.'
>>> repr(s)
"'Hello, world.'"     # The repr() of a string adds string quotes and backslashes

 

 

5.setattr()函数

setattr函数对应函数getatt(),用于设置属性值,该属性必须存在。

语法

setattr(object,name,value)

该函数无返回值

实例

classA(object):

                      bar=1

a=A()

getattr(a,'bar')                            # 获取属性 bar 值

1

>>>setattr(a,'bar',5)                    # 设置属性 bar 值

>>>a.bar

5

在Python中,有这样一句话是非常重要的:对象有类型,变量无类型          type()函数来检验其类型

序列操作

all([True, 1, "hello!"])        # 是否所有的元素都相当于True值

any([澳门新浦京娱乐场网站:python3内置函数,零基础Python知识点回想。"", 0, False, [], None])   # 是否有任意一个元素相当于True值

sorted([1,5,3])                  # 返回正序的序列,也就是[1,3,5]

reversed([1,5,3])               # 返回反序的序列,也就是[3,5,1]

6.all函数

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否不为 0、''、False 或者 iterable 为空,如果是返回 True,否则返回 False。

函数等价于:

def    all(iterable):

            for    element    in    iterable:

                        if    not    element:

                                return False

            return True

Python 2.5 以上版本可用。

以下是 all() 方法的语法:

all(iterable)

iterable可以是列表和元组

实例

all(['a','b','c','d'])# 列表list,元素都不为空或0

True

all([0,1,2,3])# 列表list,存在一个为0的元素

False

all(('a','b','c','d'))# 元组tuple,元素都不为空或0

True

all(('a','b','','d'))# 元组tuple,存在一个为空的元素

False

all([])        # 空列表

True

all(())        # 空元组        

True

另外知道啥是“整数溢出”其他语言有这个问题   参考

all(iterable)

 

如果可迭代的对象(数组,字符串,列表等,下同)中的元素都是 true (或者为空)的话返回 True 。

_all = True
for item in iterable:
    if not item:
        _all = False
        break
if _all:
    # do stuff

更简便的写法是:

if all(iterable):
    # do stuff

7.dir()函数

dir()函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

语法

dir([object])

以下实例展示了 dir 的使用方法:

dir()                #  获得当前模块的属性列表['__builtins__','__doc__','__name__','__package__','arr','myslice']

但是python不存在这个问题  参考

any(iterable)

如果可迭代的对象中任何一个元素为 true 的话返回 True 。如果可迭代的对象为空则返回False 。

_any = False
for item in iterable:
    if item:
        _any = True
        break
if _any:
    # do stuff

更简便的写法是:

if any(iterable):
    # do stuff

 

8.hex()函数

hex()函数用于将10进制整数转换成16进制整数。

语法

hex(x)

参数说明:

x -- 10进制整数

以下实例展示了 hex 的使用方法:

hex(255)            结果为:    '0xff'

hex(-42)             结果为:   '-0x2a'

hex(1L)              结果为:    '0x1L'

>>> 5 // 2
2
>>> 5 / 2
2.5

sorted(iterable,key,reverse)

Python内置的排序函数sorted可以对iterable对象进行排序,Return a new sorted list from the items in iterable.,官网文档 [py3: sorted(iterable[, key][, reverse])] [py2: sorted(iterable[, cmp[, key[, reverse]]])]。

py2中该函数原型为:sorted(iterable,cmp,key,reverse)

参数解释:

iterable指定要排序的list或者iterable;

cmp为带两个参数的比较函数,指定排序时进行比较的函数,可以指定一个函数或者lambda函数;(从上面看cmp应该是在py3中弃用了)

key 是带一个参数的比较函数;

reverse升降序选择,为False或者True(降序);

axis:指定轴进行排序;

Note: 

1 list直接排序的通常用法:list.sort(axis = None, key=lambdax:x[1],reverse = True)

2 对dict对象排序sorted(dict)返回的只是dict.keys()的排序结果,也就是sorted(dict)相当于sorted(dict.keys()),dict.keys()是可迭代对象,返回列表。sorted(dict({1: 2})) 返回 [1]。

例子:
(1)用cmp函数排序
>>> list1 = [('david', 90), ('mary',90), ('sara',80),('lily',95)] 

>>> sorted(list1,cmp = lambda x,y: cmp(x[1],y[1])) 

[('sara', 80), ('david', 90), ('mary', 90), ('lily', 95)]

(2)用key函数排序
>>> list1 = [('david', 90), ('mary',90), ('sara',80),('lily',95)] 

>>> sorted(list1,key = lambda list1: list1[1]) 

[('sara', 80), ('david', 90), ('mary', 90), ('lily', 95)]

(3)用reverse排序
>>> sorted(list1,reverse = True) 

[('sara', 80), ('mary', 90), ('lily', 95), ('david', 90)]

(4)用operator.itemgetter函数排序
>>> from operator import itemgetter 

>>> sorted(list1, key=itemgetter(1))

[('sara', 80), ('david', 90), ('mary', 90), ('lily', 95)]

>>> sorted(list1, key=itemgetter(0)) 

[('david', 90), ('lily', 95), ('mary', 90), ('sara', 80)]

(5)多级排序
>>> sorted(list1, key=itemgetter(0,1)) 

[('david', 90), ('lily', 95), ('mary', 90), ('sara', 80)]

[由 sort 中 key 的用法浅谈 python]

[]

[Python中的sorted函数以及operator.itemgetter函数]

示例

通过内建函数“sorted”来实现:让其通过序列长度来从小到大排序

澳门新浦京娱乐场网站 5

创建一个新的元组(s,t),并把它作为“sorted”的第一个参数。我们将从“sorted”得到一个返回的列表。因为我们使用内置的“len”函数作为“key”参数,如果s更短,“sorted”将返回[s,t], 如果t更短,将返回 [t,s]。

9.next()函数

>>> 5 % 2
1

operator.itemgetter函数

operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号)。
a = [1,2,3] 
>>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值
>>> b(a) 

>>> b=operator.itemgetter(1,0)   //定义函数b,获取对象的第1个域和第0个的值
>>> b(a) 
(2, 1) 
Note:operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

 

next()返回迭代器的下一个项目。

语法

next 语法:

next(iterator[,default])

参数说明:

iterator -- 可迭代对象

default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。

澳门新浦京娱乐场网站,实例

澳门新浦京娱乐场网站 6

看出不同没?一个返回的商数,一个是正常计算,一个返回的余数

类,对象,属性

# define class
class Me(object):
    def test(self):
        print "Hello!"

def new_test():
    print "New Hello!"

me = Me()

hasattr(me, "test")              # 检查me对象是否有test属性

getattr(me, "test")              # 返回test属性

setattr(me, "test", new_test)    # 将test属性设置为new_test

delattr(me, "test")              # 删除test属性

isinstance(me, Me)               # me对象是否为Me类生成的对象 (一个instance)

issubclass(Me, object)           # Me类是否为object类的子类

 

>>> round(1.234567,3)

isinstance(object, classinfo)

如果 object 参数是 classinfo 参数的一个实例或者子类(直接或者间接)的话返回 True 。

当你想检验一个对象的类型的时候,第一个想到的应该是使用 type() 函数。

if type(obj) == type(dict):
    # do stuff
elif type(obj) == type(list):
    # do other stuff
...

或者你可以这么写:

if isinstance(obj, dict):
    # do stuff
elif isinstance(obj, list):
    # do other stuff
...

 

 

10.slice()函数

slice()函数实现切片对象,主要用在切片操作函数里的参数传递。

slice 语法:

classslice  (stop)  classslice (start,stop[,step])

参数说明:

start -- 起始位置

stop -- 结束位置

step -- 间距

实例

澳门新浦京娱乐场网站 7

1.234

编译,执行

repr(me)                         # 返回对象的字符串表达

compile("print('Hello')",'test.py','exec')       # 编译字符串成为code对象

eval("1 1")                     # 解释字符串表达式。参数也可以是compile()返回的code对象

exec("print('Hello')")            # 解释并执行字符串,print('Hello')。参数也可以是compile()返回的code对象

 

11.any()函数

any() 函数用于判断给定的可迭代参数 iterable 是否全部为空对象,如果都为空、0、false,则返回 False,如果不都为空、0、false,则返回 True。

函数等价于:

澳门新浦京娱乐场网站 8

基本语法(参数iterable:元组或列表)

any(iterable)

实例:

澳门新浦京娱乐场网站 9

这是四舍五入,取的2位小数点,但发现为何不是1.235呢?这不是BUG,归根到底这是浮点数中的十进制转化为二进制惹的祸(如果有兴趣自己去查资料)

对Python表达式求值eval和literal_eval

 

我们都知道eval函数,但是我们知道literal_eval函数么?

import ast

my_list = ast.literal_eval(expr)

来代替以下这种操作:

expr = "[1, 2, 3]"

my_list = eval(expr)

皮皮blog

 

 

12.divmod()函数

python divmod() 函数   把   除数 和   余数运算结果  结合起来,返回一个包含  商  和    余数的元组(a // b, a % b)。

在 python 2.3 版本之前不允许处理复数。

函数语法

divmod(a, b)

参数说明:

a: 数字                 b: 数字

实例

divmod(7,2)

结果:(3,1)

divmod(8,2)

结果:(4,0)

divmod(1 2j,1 0.5j)

结果:((1 0j),1.5j)

比如乘方、开方、对数运算等等,要实现这些运算,需要用到python中的一个模块:Math

其它常用函数

13.id()函数

id()函数用于获取对象的内存地址

语法

id([object])

返回对象的内存地址

>>> import math

输入输出

input("Please input:")           # 等待输入

print("Hello World!)

 

文本文件的输入输出 open()

 

澳门新浦京娱乐场网站:python3内置函数,零基础Python知识点回想。实例

>>>a='runoob'

>>>id(a)

4531887632

>>>b=1

>>>id(b)

140588731085608

>>> math.pi                           (圆周率)

变量

globals()                         # 返回全局命名空间,比如全局变量名,全局函数名

locals()                          # 返回局部命名空间

 

14.sorted()函数

sorted()函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

基本语法

sorted(iterable[,cmp[,key[,reverse]]])

参数说明:

iterable -- 可迭代对象。

cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

3.141592653589793

Local函数

 

想让代码看起来更加简明,可以利用 Python 的内建函数 locals() 。它返回的字典对所有局部变量的名称与值进行映射。

def test(c):
    a = {}
    a[0] = 3
    b = 4
    print(locals())

if __name__ == '__main__':
    test(8)

{'c': 8, 'b': 4, 'a': {0: 3}}

Note:使用 locals() 时要注意是它将包括 所有 的局部变量,它们可能比你想访问的要多。也包括传入函数的参数。

 

实例

澳门新浦京娱乐场网站 10

pow函数和x**y是等效的,都是计算x的y次方

基本数据类型

type() dir() len()

 

15.ascii()函数

ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 x, u 或 U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。

语法

ascii(object)

结果返回字符串。

>>> math.pow(4,2)

对象自检dir()

 

在Python 中你可以通过dir() 函数来检查对象。正如下面这个例子:

>>> foo = [1, 2, 3, 4]

>>> dir(foo)

['__add__', '__class__', '__contains__',

'__delattr__', '__delitem__', '__delslice__', ... ,

'extend', 'index', 'insert', 'pop', 'remove',

'reverse', 'sort']

[python模块导入及属性]

 

实例

>>> ascii('runoob')

"'runoob'"

16.0

循环设计

range() enumerate() zip()

16.enumerate()函数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

语法

enumerate(sequence,[start=0])

参数:

sequence -- 一个序列、迭代器或其他支持迭代对象。

start -- 下标起始位置。

返回 enumerate(枚举) 对象。

开平方

range()

range好像只能生成整数类型的range,但是可以使用np.arange(0,1,0.1)来生成float类型的range。

 

实例:

澳门新浦京娱乐场网站 11

>>> math.sqrt(9)

枚举函数enumerate(iterable [,start=0])

如果你以前写过 C 语言,那么你可能会这么写:

for i in range(len(list)):
    # do stuff with list[i], for example, print it
    print i, list[i]

噢,不用那么麻烦!你可以使用 enumerate() 来提高可读性。

for i, item in enumerate(list):
    # so stuff with item, for example print it
    print i, item

利用enumerate()函数,可以在每次循环中同时得到下标和元素

S = 'abcdef'
for (index,char) in enumerate(S):
    print index
    print char

实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char

 

enumerate函数还可以接收第二个参数。

>>> list(enumerate('abc', 1))

[(1, 'a'), (2, 'b'), (3, 'c')]

 

17.input()函数

python input() 相等于eval(raw_input(prompt)),用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

注意:python3 里 input() 默认接收到的是 str 类型。

3.0

zip([iterable,])

这个函数返回一个含元组的列表,具体请看例子。

l1 = ('You gotta', 'the')
l2 = ('love', 'built-in')
out = []
if len(l1) == len(l2):
    for i in range(len(l1)):
        out.append((l1[i], l2[i]))
# out = [('You gotta', 'love'), ('the', 'built-in)]

或者这么写:

l1 = ['You gotta', 'the']
l2 = ['love', 'built-in']
out = zip(l1, l2) # [('You gotta', 'love'), ('the', 'built-in)]

如果你想得到倒序的话加上 * 操作符就可以了。

print zip(*out)
# [('You gotta', 'the'), ('love', 'built-in')]

 

Note: zip函数中的参数len不同,则只取len短的为准

实例

澳门新浦京娱乐场网站 12

求绝对值

用列表解析实现zip

 

澳门新浦京娱乐场网站 13

[用列表解析实现‘zip" ]

18.oct() 函数

oct()函数将一个整数转换成8进制字符串。

语法

oct(x)     ---x:整形

实例

>>>oct(10)

'012'

>>>oct(20)

'024'

>>> abs(-10)

Zipping and unzipping lists and iterables

>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> z = zip(a, b)
>>> z
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> zip(*z)
[(1, 2, 3), ('a', 'b', 'c')]

19.staticmethod() 函数

python staticmethod 返回函数的静态方法。

该方法不强制要求传递参数,如下声明一个静态方法:

classC(object):

            @staticmethoddeff

             (arg1,arg2,...):...

以上实例声明了静态方法 f,类可以不用实例化就可以调用该方法 C.f(),当然也可以实例化后调用 C().f()。

函数语法

staticmethod(function)

实例:

澳门新浦京娱乐场网站 14

10

多个序列的zip

如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:

ta = [1,2,3]
tb = [9,8,7]
tc = ['a','b','c']
for (a,b,c) in zip(ta,tb,tc):
    print(a,b,c)

每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c

zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能。

x = [1,23,45]
print(x)
y = [8,43,74]
print(y)
z = [3,34,39]
print(z)
print(list(zip(x,y,z)))
[(1, 8, 3), (23, 43, 34), (45, 74, 39)]

20.bin()函数

bin()返回一个整数 int 或者长整数 long int 的二进制表示。返回字符串

语法

bin(x)     ------x: int 或 long int 数字

实例

>>>bin(10)

'0b1010'

>>>bin(20)

'0b10100'

最常用是print() 其就是显示出来内容,常用这个主要是为了在知识理解上方便,代替一些复杂的代码作为返回值。

使用zip分组相邻列表项

>>> a ``=``[``1``,``2``,``3``,``4``,``5``,``6``]

>>> ``# Using iterators

>>> group_adjacent``=``lambda``a, k:``zip``(``*``([``iter``(a)]``*``k))

>>> group_adjacent(a,``3``)

[(``1``,``2``,``3``), (``4``,``5``,``6``)]

>>> group_adjacent(a,``2``)

[(``1``,``2``), (``3``,``4``), (``5``,``6``)]

>>> group_adjacent(a,``1``)

[(``1``,), (``2``,), (``3``,), (``4``,), (``5``,), (``6``,)]

>>> ``# Using slices

>>> ``from``itertools``import``islice

>>> group_adjacent``=``lambda``a, k:``zip``(``*``(islice(a, i,``None``, k)``for``i ``in``range``(k)))

>>> group_adjacent(a,``3``)

[(``1``,``2``,``3``), (``4``,``5``,``6``)]

>>> group_adjacent(a,``2``)

[(``1``,``2``), (``3``,``4``), (``5``,``6``)]

>>> group_adjacent(a,``1``)

[(``1``,), (``2``,), (``3``,), (``4``,), (``5``,), (``6``,)]

21.eval() 函数

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

语法

eval(expression[,globals[,locals]])

参数

expression -- 表达式。

globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

实例

>>>x=7

>>>eval('3 * x')

21

>>>eval('pow(2,2)')

4

特别要提醒的是,print()默认是以n结尾的,所以,会看到每个输出语句之后,输出内容后面自动带上了n,于是就换行了

使用zip & iterators实现推拉窗(n-grams)

>>> ``from``itertools``import``islice

>>> ``def``n_grams(a, n):

... z ``=``(islice(a, i,``None``)``for``i``in range``(n))

... ``return``zip``(``*``z)

...

>>> a ``=``[``1``,``2``,``3``,``4``,``5``,``6``]

>>> n_grams(a, ``3``)

[(``1``,``2``,``3``), (``2``,``3``,``4``), (``3``,``4``,``5``), (``4``,``5``,``6``)]

>>> n_grams(a, ``2``)

[(``1``,``2``), (``2``,``3``), (``3``,``4``), (``4``,``5``), (``5``,``6``)]

>>> n_grams(a,``4``)

[(``1``,``2``,``3``,``4``), (``2``,``3``,``4``,``5``), (``3``,``4``,``5``,``6``)]

22.int() 函数

int() 函数用于将一个字符串会数字转换为整型。

语法

classint(x,base=10)

参数

x -- 字符串或数字。

base -- 进制数,默认十进制。

实例

>>>int()                    # 不传入参数时,得到结果0

0

>>>int(3)

3

>>>int(3.6)

3

>>>int('12',16)# 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制

18

# 是单行注释    三引号 是多行注释      在python中的字符串是一种对象类型,这种类型用str表示,通常单引号''或者双引号""包裹起来

使用zip反相字典对象

>>> m ``=``{``"a"``:``1``,``"b"``:``2``,``"c"``:``3``,``"d"``:``4``}

>>> ``zip``(m.values(), m.keys())

[(``1``,``"a"``), (``3``,``"c"``), (``2``,``"b"``), (``4``,``"d"``)]

>>> mi ``=``dict``(``zip``(m.values(), m.keys()))

>>> mi

{``1``:``"a"``,``2``:``"b"``,``3``:``"c"``,``4``:``"d"``}

23.open() 函数

python open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

语法

open(name[,mode[,buffering]])

澳门新浦京娱乐场网站 15

file 对象方法

file.read([size])size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)

file.readline()返回一行

file.readline([size])返回包含size行的列表,size 未指定则返回全部行

for line in f: print line#通过迭代器访问

f.write("hellon")#如果要写入字符串以外的数据,先将他转换为字符串.

f.tell()返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).

f.seek(偏移量,[起始位置])用来移动文件指针.

偏移量:单位:比特,可正可负

起始位置:0-文件头,默认值;1-当前位置;2-文件尾

f.close()关闭文件

实例:

>>>f=open('test.txt')

>>>f.read()

'RUNOOB1nRUNOOB2n'

>>>f.close()

在python中,用作为转义符,能转译些字母或符号。

循环对象

iter()

 

24.str()函数

str() 函数将对象转化为适于人阅读的形式。

语法:    class    str(object='')

实例

>>>s='RUNOOB'

>>>str(s)

'RUNOOB'

>>>dict= {'runoob':'runoob.com','google':'google.com'};

>>>str(dict)

"{'google': 'google.com', 'runoob': 'runoob.com'}"

>>> dos = "c:news"

函数对象

map() filter() reduce()

皮皮blog

 

 

 

25.bool() 函数

bool()函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。

bool 是 int 的子类。

语法:    classbool([x])

实例

>>>bool()

False

>>>bool(0)

False

>>>bool(1)

True

>>>issubclass(bool,int)        # bool 是 int 子类

True

>>> dos

简单服务器

你是否想要快速方便的共享某个目录下的文件呢?

# Python2 python -m SimpleHTTPServer # Python 3 python3 -m http.server

这样会为启动一个服务器。

26.exec 函数

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。

语法:exec(object[,globals[,locals]])

exec 返回值永远为 None。

实例

澳门新浦京娱乐场网站 16

'c:news'                  #这里貌似没有什么问题

使用C风格的大括号代替Python缩进来表示作用域

from __future__ import braces

27.isinstance() 函数

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

isinstance() 与 type() 区别:

type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

语法:isinstance(object,classinfo)

实例:

澳门新浦京娱乐场网站 17

>>> print dos           #当用print来打印这个字符串的时候,就出问题了。

三元运算

三元运算是if-else 语句的快捷操作,也被称为条件运算。这里有几个例子可以供你参考,它们可以让你的代码更加紧凑,更加美观。

[on_true] if [expression] else [on_false]

x, y = 50, 25

small = x if x < y else y

from:

ref: [Python build-in functions]

Nifty Python tricks

Python built-in functions are awesome. Use them!

Python: Tips, Tricks and Idioms

30 Python Language Features and Tricks You May Not Know About

 

28.ord() 函数

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

语法:ord(c)

返回值是对应的十进制整数

实例:

>>>ord('a')

97

>>>ord('b')

98

>>>ord('c')

99

c: ews

29.sum() 函数

sum()方法对系列进行求和计算

语法:sum(iterable[,start])

实例

>>>sum([0,1,2])

3

>>>sum((2,3,4),1)# 元组计算总和后再加

 110

>>>sum([0,1,2,3,4],2)# 列表计算总和后再加

 212

>>> dos = "c:\news"         一种方法                                 

30.bytearray() 函数

bytearray()方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

语法:classbytearray([source[,encoding[,errors]]])

参数

如果 source 为整数,则返回一个长度为 source 的初始化数组;

如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

如果没有输入任何参数,默认就是初始化数组为0个元素。

>>> print dos

实例:

澳门新浦京娱乐场网站 18

c:news

31.filter() 函数

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法:filter(function,iterable)

function -- 判断函数。

iterable -- 可迭代对象。

实例:

澳门新浦京娱乐场网站 19

>>> dos = r"c:news"        另一种方法(由r开头引起的字符串,就是原始字符串)

32.issubclass() 函数

issubclass()方法用于判断参数 class 是否是类型参数 classinfo 的子类。

语法:issubclass(class,classinfo)

class -- 类。

classinfo -- 类。

>>> print dos

实例:

澳门新浦京娱乐场网站 20

c:news

33.pow() 函数

pow()方法返回 xy(x的y次方) 的值。

以下是 math 模块 pow() 方法的语法:

importmath

math.pow(x,y)

内置的 pow() 方法

pow(x,y[,z])

 

函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

 str() 转字符串     int()转整数    repr()和``是一致的,也是转字符串,区别嘛,自己百度喽      拼接字符     

实例:

print("pow(100, 2) : ",pow(100,2))

pow(100,2):10000

>>> "py" "thon"

34.super() 函数

super()函数用于调用下一个父类(超类)并返回该父类实例的方法。

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

语法:super(type[, object-or-type])

参数

type -- 类。

object-or-type -- 类,一般是 self

实例:

澳门新浦京娱乐场网站 21

剩余内置函数请看python内置函数(2)。

'python'

写到这发现好难写哦!抱歉本人知识还未系统化,说下 python的内建函数(built-in function)

|abs() | divmod() | input()| open()| staticmethod()|

|all() | enumerate() | int() | ord() | str()|

|any() | eval() | isinstance()| pow()| sum()|

|basestring() | execfile() | issubclass() | print() | super()|

|bin() | file() | iter()| property()| tuple()|

|bool() | filter() | len() | range() | type()|

|bytearray() | float()| list() | raw_input()| unichr()|

|callable() | format() | locals() | reduce() | unicode()|

|chr() | frozenset() | long() | reload() | vars()|

|classmethod()| getattr()| map() | repr() | xrange()|

|cmp() | globals()| max()| reversed()| zip()|

|compile() |hasattr() | memoryview()| round() | import()|

|complex() |hash() | min()| set() | apply()|

|delattr() |help()| next()| setattr()| buffer()|

|dict() | hex() |object() |slice() | coerce()|

|dir() | id() |oct() |sorted() |intern()|

我擦这么多,不过别怕,他们人多,我们有办法,不用死记,只要像这样 help(raw_input)  就可以让他们现出原形

好了,现在说下,索引和切片,其实有多个字符串放在一起,他们有排列的循序的,我们可以根据这个去定义个概念,就取名叫索引吧!

>>> lang = "study python"

>>> lang[0]

's'

>>> lang[1]

't'

0 1 2 3 4 5 6 7 8 9 10 11
s t u d y   p y t h o n

注意空白符也占个坑哦,嘿嘿,上面是通过位置找出对应字符串,我们也可以通过字符串找出其对应位置(如果有重复的,抱歉就返回第一字符串位置)

>>> lang.index("t")

1

>>> lang.index("p")
6

  --- --- --- --- --- --- 
 | P | y | t | h | o | n |
  --- --- --- --- --- --- 
 0   1   2   3   4   5   6
 -7 -6  -5  -4  -3  -2  -1      [:]、[:7]、[-8:]、[2:5]、[-6:-2]、[5:2]、[-2:-6]都切出啥片段,自己去练习。 

id()的作用就是查看该对象在内存地址(就是在内存中的位置编号)

“ ”连接字符串 好像说了,额~~~ in用来判断某个字符串是不是在另外一个字符串内,或者说判断某个字符串内是否包含某个字符串,如果包含,就返回True,否则返回False

还有字符串能比较最大值和最小值么?或者能对比么?先说下 cmp(str1,str2) :比较2个序列值是否相同

一个字符串中,每个字符在计算机内都是有编码的,也就是对应着一个数字,min()max()就是根据这个数字里获得最小值和最大值,然后对应出相应的字符。

关于这种编号是多少?可以用ord()是一个内建函数,能够返回某个字符(注意,是一个字符,不是多个字符组成的串)所对一个的ASCII值(是十进制的),字符a在ASCII中的值是97,空格在ASCII中也有值,是32。顺便说明,反过来,根据整数值得到相应字符,可以使用chr()

>>> ord('a')

97

>>> ord(' ')

32

>>> chr(97)

'a'

>>> cmp(str1, str2)

-1

两个字符串比较,也是首先将字符串中的符号转化为对应编码的数字,然后比较。如果返回的数值小于零,说明第一个小于第二个,等于0,则两个相等,大于0,第一个大于第二个

字符串长度 len() 千万别忘记空白符(空格)也算一个字符哦,好了,休息下,下面晒一张之前写的总结图片,后边继续装逼回顾,哈哈

澳门新浦京娱乐场网站 22

 

本文由澳门新浦京娱乐场网站发布于www.146.net,转载请注明出处:澳门新浦京娱乐场网站:python3内置函数,零基础