码迷,mamicode.com
首页 > 编程语言 > 详细

python基础回顾

时间:2016-06-02 11:44:52      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:python   c语言   十进制   数学   

Python的内置对象

技术分享

Python支持基本的数学运算,值得一提的是乘方运算 **,例如2**100表示2的100次方。还有一些内置的数学模块可以使用,例如math和random。


[python] view plain copy

import math  

print math.pi  

print math.sqrt(96)  

  

import random  

print random.random()  

print random.choice([1,2,3,4]) 


模块re支持字符串的模式匹配。例如:


import re  

match = re.match(‘/(.*)/(.*)/(.*)‘‘/usr/home/bin‘)  

print match.group(1)  

print match.groups()  

输出结果为:



[python] view plain copy

usr  

(‘usr‘‘home‘‘bin‘)  

 

Python支持复数类型、无穷精度整数类型、固定精度十进制类型。

在Python中,整数一般以C语言中的长整型表示(注意:不是Python中的长整型),当一个整数超过32位时会自动转换为长整型。复数在内部是通过一对浮点数来表示的。

技术分享


Python表达式操作符

技术分享


赋值语句建立对象引用值,变量名在首次赋值时会被创建,变量名在引用前必须先赋值。Python中赋值语句的形式如下表:

技术分享


def中还可以使用lambda表达式。例如:


func():
    x = action = (n: x**n)
    action

f = func()
f()


输出结果为:

[python] view plain copy

64  


Python函数中,不可变参数(例如数字和字符串)是“通过值”进行传递的,可变对象(例如列表和字典)是通过“指针”进行传递的。例如:


func(,b):
    = b.append()

x = y = []
func(x,y)
x,y

结果为:

[python] view plain copy

0 [01]  


Python函数的返回值可以有多个变量,相当于返回的是一个元组,只是圆括号()被省略了。例如:


set(,):
    a = b = [,,]
    a,b

x = y = [,,]
x,y = set(x,y)
x
y

输出结果为:

[python] view plain copy

3.14  

[123]  


Python支持关键字参数,所有基于位置的参数将首先按照从左到右的顺序匹配头部的参数,之后再进行基于变量名的关键字匹配。


fun(a,b,c):
    a,b,c

fun(,=,=)
fun(=,=,=)

输出结果为:

[python] view plain copy

1 2 3  

1 2 3  


默认参数和关键字参数可以一起使用。


fun(a,b=,c=):
    a,b,c

fun(,=)

输出结果为:

[python] view plain copy

1 2 4  


Python还支持函数的任意参数。第一种方法是在元组中收集不匹配的任意参数。第二种方法是在字典中收集不匹配的关键字参数。


func(a, *, **kargs):
    a
    
    kargs

func(,,,=,=)

输出结果为:

[python] view plain copy

1  

(23)  

{‘y‘2‘x‘1}  



在函数调用时也可以使用*语法,来分解参数的集合。

func(a,b,c,d):
    a,b,c,d

func(*(,,,))
func(,*(,),**{:})
func(,=,*(,),**{:})

输出结果为:

[python] view plain copy

1 2 3 4  

1 2 3 4  

1 2 3 4  


f = x,y,z : x+y+z
f(,,)

g = x,y=,z=: x+y+z
g(,=,=)

结果:

6

10


L = [(x: x**),
    (x: x**),
    (x: x**)]
L[](),L[](),L[]()

D = {:(: +),
    :(: *),
    :(: **)}
D[](),D[](),D[]()

结果:

4 8 16

5 6 8


lambda表达式可以嵌套使用,但是从可读性的角度来说,应尽量避免使用嵌套的lambda表达式。


inc(x):
    x+L = [,,,]
(inc,L)

((x: x+),L)

结果:

[11, 12, 13, 14]

[11, 12, 13, 14]


[x**x ()]
((x: x**), ())

结果:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


[x+y x () x%== y () y%==]

结果:[1, 3, 5, 7, 9, 3, 5, 7, 9, 11, 5, 7, 9, 11, 13]



gensquares(N):
    i (N):
        i**i gensquares():
    i,

结果:

0 1 4 9 16


saver(x=[]):
    x.append()
    x

saver([])
saver()
saver()
saver()

结果:

[2, 1]

[1]

[1, 1]

[1, 1, 1]


本文出自 “晴空” 博客,谢绝转载!

python基础回顾

标签:python   c语言   十进制   数学   

原文地址:http://hexudong.blog.51cto.com/7169867/1785380

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!