python复制函数_Python-Day3知识点——深浅拷贝、函数基本定义、内置函数

一.深浅拷贝import copy

#浅拷贝

n1={'k1':'wu','k2':123,'k3':['carl',852]}

n2=n1

n3=copy.copy(n1)

print(id(n1))

print(id(n2))

print(id(n3))

print(id(n1['k3']))

print(id(n3['k3']))

#深拷贝

n4=copy.deepcopy(n1)

print(id(n4))

print(id(n1['k3']))

print(id(n4['k3']))

返回值:

10787656

10787656

11532848

20277688

20277688

11455064

20277688

20276328

二.函数的基本定义

1.默认参数:def mail():

def func(name, age = 18):

# 指定参数

print"%s:%s" %(name,age)

# 使用默认参数func('alex')

func('wupeiqi', 19)

2.动态参数序列:def func(*args):

print args

# 执行方式一

func(11,33,4,4454,5)

# 执行方式二

li = [11,2,2,3,3,4,54]

func(*li)

3.动态参数字典:def func(**kwargs):

print args

# 执行方式一

func(name='wupeiqi',age=18)

# 执行方式二

li = {'name':'wupeiqi', age:18, 'gender':'male'}

func(**li)

4.序列和字典:def show(*arg,**kwargs):

print(arg,type(arg))

print(kwargs,type(kwargs))

show(64,56,99,w=76,p=33)

5.使用动态参数对字符串格式化:s1 ="{0} is {1}"

l=['alex','sb']

result=s1.format(*l)

print(result)

s1 = "{name} is {a}"

result=s1.format(name='helen',a=19)

print(result)

s1 = "{name} is {a}"

d={"name":"helen",'a':19}

#result=s1.format(name='helen',a=19)

result=s1.format(**d)

print(result)

6.lambda表达

6.lambda表达式:lambda表达式等于简单函数表达方式

def func(a):

b=a+1

return b

等于

func=lambda a:a+1

ret=func(5)

print(ret)

三.内置函数

wKioL1cXYUvwwoHxAACw79ePA-s673.pngabs()绝对值

all()如果传入的对象元素为真(不为空)则为真

any()一真则真

ascii()当遇到非ASCII码时,就会输出\x,\u或\U等字符来表示example:

print(ascii(10), ascii(9000000), ascii('b\31'), ascii('0x\1000'))

返回结果:

10 9000000 'b\x19' '0x@0'

bin()二进制转化

bytearray()字符串转换数组

callable()判断对象是否可被调用

chr()数字转为ascii

ord()ascii转化为数字,写验证码用

compile()字符串转换为Python代码#!usr/bin/env python

#coding:utf-8

namespace = {'name':'wupeiqi','data':[18,73,84]}

code = '''def hellocute():return "name %s ,age %d" %(name,data[0],) '''

func = compile(code, '', "exec")

exec func in namespace

result = namespace['hellocute']()

print result

complex()负数

delattr/getattr/setattr/hasattr()反射用

dictionary()创建字典

divmod()

中文说明:

divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数

返回结果类型为tuple

参数:

a,b可以为数字(包括复数)

版本:

在python2.3版本之前不允许处理复数,这个大家要注意一下

英文说明:

Take two (non complex) numbers as arguments and return a pair of numbers consisting of their quotient and remainder when using long division. With mixed operand types, the rules for binary arithmetic operators apply. For plain and long integers, the result is the same as (a // b, a % b). For floating point numbers the result is (q, a % b), where q is usually math.floor(a / b) but may be 1 less than that. In any case q * b + a % b is very close to a, if a % b is non-zero it has the same sign as b, and 0 <= abs(a % b) < abs(b).

Changed in version 2.3: Using divmod() with complex numbers is deprecated.

enumerate()用于遍历序列中的元素以及它们的下标

map()第一个参数接收一个函数名,第二个参数接收一个可迭代对象

filter()过滤

float()

format()

frozenset()冻结集合

globals()全局变量

hash()字典键哈希

hex()计算十六进制

locals()本地变量

memoryview()

oct()八进制转换

pow()幂运算

range()迭代器

round()四舍五入

slice()切片

sorted()排序

str()

sum()求和

super()执行父类

dir()返回key

vars()返回键值对

zip()列表压缩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值