python三内置函数,基础知识

只要你是小白,提出1旦安装官方网址的python-三.七.0-amd6四.exe

1.简介

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

廖雪峰网址:   

下载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

 

 

python3常用内置函数:

接下来在Computercmd命令提示符
 输入检查是还是不是早已设置pip,壹般安装了python都会有个别。

2.表达式

除法:

私下认可情形下,3个平头除以另三个整数,结果依旧为整数:2/四 =0

假诺中间3个数是浮点数,那么结果就是浮点数。

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

>pip            (有的话会提醒一大串表达,未有的话会提醒未有)

3.函数

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

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

四舍伍入:round(0.4)=>0.0      round(0.陆)=>一.0

数学生运动算

abs(-5)                         # 取相对值,约等于5

round(number, ndigits=None)                      #
四舍5入取整,大概小数保留ndigits位小数,round(贰.六)  也便是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=12345陆七, y=456767陆, z=5陆 的时候笔者的Computer足足跑了 6四 秒!

不要用 ** 和 % 了,使用
pow(x,y,z) 吧!那几个事例能够写成pow(12345陆7,4567676,5陆) ,只用了 0.03四秒就出了结果!

 

 

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’:三,’two’:2,’one’:1}

dict([(‘one’,1),(‘two’,2),(‘three’,3)])       #
可迭代对象格局来组织字典{‘three’:三,’two’:2,’one’:一}

>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 + 玖i

 

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

chr(65)                          # 数值6五应和的字符

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

 

bool(0)                          #
调换为对应的真假值,在Python中,0一定于False

在Python中,下列对象都也正是False:[], (),{},0, None,0.0,”

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

hex(56)                         # 重回一个字符串,表示5陆的十陆进制数

oct(56)                         # 再次回到2个字符串,表示5陆的捌进制数

 

python三内置函数,基础知识。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会把输入作为原有数据,然后将其放入到字符串中。

1般情况下,提出选取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起首,原始字符串不会把反斜线作为特殊字符处理,在原始字符串输入的种种字符都会平素保持1致输出,然则原始字符串不能够以反斜线结尾。

c:\program files
>>> print r’c:\newfile’
c:\newfile

字符串编码

ASCII编码是二个字节,而Unicode编码日常是二个字节。

UTF-八编码:可变长编码。把三个Unicode字符依据不一样的数字大小编码成一-5个字节,常用的英文字母被编码成一个字节,汉字平时是叁个字节,只有很目生的字符才会被编码成四-五个字节

在处理器内部存款和储蓄器中,统一行使Unicode编码,当需求保留到硬盘恐怕须求传输的时候,就改换为UTF-8编码。

Python援助ASCII编码,通过ord()和chr()函数,能够把字母和相应的数字互相转换。

print ord(‘A’) >>>65
print chr(65) >>>A

Python在新兴增加了对Unicode的支持,以Unicode表示的字符串用u'...'表示

u’测试’

想改动为utf-8须求encode(‘utf-八’)方法

u’测试’.encode(‘utf-8’)

澳门葡京备用网址 1

字符串格式化

澳门葡京备用网址 2

还足以内定是还是不是补位0,以及小数位数

澳门葡京备用网址 3

借使字符串中包罗%,则动用多个百分号替代%%

澳门葡京备用网址 4

 

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

x=”There are %d books.”%10

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进制,暗许转变为10进制整型

>>> 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

率先基础,我们都精通数据、字符串、肆则运算啊,重点要明了什么是变量,那几个不做表达

捌.年华和日期

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()等同的值。许多品类,诸如数值或链表、字典那样的布局,针对各函数都具有统1的解读情势。字符串和浮点数,有着独特的解读情势。

>>> 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([“”, 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,存在1个为空的要素

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)

假如可迭代的对象中其他2个要素为 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进制整数调换来1陆进制整数。

语法

hex(x)

参数表明:

x — 十进制整数

以下实例浮现了 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]]])]。

py第22中学该函数原型为:sorted(iterable,cmp,key,reverse)

参数解释:

iterable钦定要排序的list或许iterable;

cmp为带七个参数的可比函数,钦点排序时开始展览比较的函数,能够钦定一个函数只怕lambda函数;(从地点看cmp应该是在py3中弃用了)

key 是带3个参数的相比函数;

reverse升降序接纳,为False只怕True(降序);

axis:钦点轴进行排序;

Note: 

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

二对dict对象排序sorted(dict)重回的只是dict.keys()的排序结果,也正是sorted(dict)也就是sorted(dict.keys()),dict.keys()是可迭代对象,重返列表。sorted(dict({一:
二})) 重临 [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”获得3个回去的列表。因为大家运用内置的“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(一)     
//定义函数b,获取对象的第2个域的值
>>> b(a) 

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

 

next()重返迭代器的下三个类型。

语法

next 语法:

next(iterator[,default])

参数表明:

iterator — 可迭代对象

default —
可选,用于安装在未曾下2个要素时重回该默许值,如若不安装,又从未下3个成分则会触发
StopIteration 非凡。

实例

澳门葡京备用网址 6

见到分歧没?3个回去的商数,二个是正规总结,三个回去的余数

类,对象,属性

# 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类生成的目的(1个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

那是四舍伍入,取的二位小数点,但意识怎么不是一.235啊?那不是BUG,归根结底那是浮点数中的10进制转化为二进制惹的祸(假如有乐趣自身去查资料)

对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() 函数   把   除数 和   余数运算结果
 结合起来,再次回到1个富含  商  和    余数的元组(a // b, a % b)。

在 python 贰.三 版本在此之前不允许处理复数。

函数语法

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中的2个模块:Math

此外常用函数

13.id()函数

id()函数用于获取对象的内部存款和储蓄器地址

语法

id([object])

回到对象的内部存款和储蓄器地址

>>> import math

输入输出

input(“Please input:”)           # 等待输入

print(“Hello World!)

 

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

 

实例

>>>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 —
相比较的函数,那几个装有七个参数,参数的值都以从可迭代对象中抽出,此函数必须遵守的条条框框为,大于则赶回一,小于则赶回-一,等于则重返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 编码的字符。 生成字符串类似 Python贰 版本中 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.壹)来生成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()
,它希望能够读取1个法定的 python
表明式,即你输入字符串的时候必须接纳引号将它括起来,不然它会吸引3个SyntaxError 。

除非对 input() 有特意要求,不然一般情状下大家都以援引使用 raw_input()
来与用户交互。

注意:python叁 里 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()函数将3个平头调换成八进制字符串。

语法

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 重临函数的静态方法。

该措施不强制供给传递参数,如下宣示1个静态方法:

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 —
变量成效域,全局命名空间,若是被提供,则必须是3个字典对象。

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() 函数用于将3个字符串会数字调换为整型。

语法

classint(x,base=10)

参数

x — 字符串或数字。

base — 进制数,暗中同意拾进制。

实例

>>>int()                    # 不传播参数时,拿到结果0

0

>>>int(3)

3

>>>int(3.6)

3

>>>int(’12’,16)#
借使是带参数base的话,1二要以字符串的方式进行输入,1贰 为 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()
函数用于张开二个文本,创建1个file对象,相关的情势才得以调用它举办读写。

语法

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

澳门葡京备用网址 15

file 对象方法

file.read([size])size未内定则赶回整个文件,假若文件大小>贰倍内部存款和储蓄器则十分.f.read()读到文件尾时重临””(空字串)

file.readline()再次来到一行

file.readline([size])回来包涵size行的列表,size 未钦赐则赶回全体行

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

f.write(“hello\n”)#设若要写入字符串以外的数据,先将他转移为字符串.

f.tell()再次来到一个平头,表示近来文件指针的职位(正是到文件头的比特数).

f.seek(偏移量,[开局地点])用来移动文件指针.

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

开场地点:0-文本头,暗中同意值;一-当前地方;2-文件尾

f.close()关门文件

实例:

>>>f=open(‘test.txt’)

>>>f.read()

‘RUNOOB1\nRUNOOB2\n’

>>>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

如此会为运营2个服务器。

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() 函数来判别三个对象是不是是1个已知的项目,类似 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() 函数(对于六人的ASCII字符串)或 unichr()
函数(对于Unicode对象)的配对函数,它以三个字符(长度为①的字符串)作为参数,再次来到对应的
ASCII 数值,也许 Unicode 数值,即使所给的 Unicode 字符赶上了您的 Python
定义范围,则会抓住三个 TypeError 的异常。

语法:ord(c)

重回值是呼应的10进制整数

实例:

>>>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”         1种办法          
                   
  

30.bytearray() 函数

bytearray()形式再次来到多个新字节数组。那些数组里的因素是可变的,并且种种成分的值范围:
0 <= x < 25六。

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

参数

设若 source 为整数,则赶回三个尺寸为 source 的伊始化数组;

如若 source 为字符串,则遵照钦命的 encoding 将字符串调换为字节连串;

若是 source 为可迭代类型,则成分必须为[0 ,255] 中的整数;

1经 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内置函数(二)。

‘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(str壹,str二)
:相比1个连串值是还是不是壹律

3个字符串中,各个字符在微型Computer内都以有编码的,也正是对应着1个数字,min()max()正是基于这几个数字里获得最小值和最大值,然后对应出相应的字符。

关于那种编号是有个别?能够用ord()是1个内建函数,能够回来某些字符(注意,是一个字符,不是五个字符组成的串)所对叁个的ASCII值(是10进制的),字符a在ASCII中的值是97,空格在ASCII中也有值,是32。顺便表达,反过来,依照整数值获得相应字符,能够利用chr()

>>> ord(‘a’)

97

>>> ord(‘ ‘)

32

>>> chr(97)

‘a’

>>> cmp(str1, str2)

-1

多少个字符串相比较,也是第三将字符串中的符号转化为相应编码的数字,然后相比较。假若回到的数值低于零,表明第多少个低于第二个,等于0,则五个至极,大于0,第贰个高于第二个

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

澳门葡京备用网址 22

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website