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

python基础

时间:2016-05-07 13:26:17      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

三元运算

三元运算,又称三目运算,主要作用是减少代码量,是对简单的条件语句的缩写。

1 书写格式:
2 result = 值1 if 条件 else 值2
3 即如果条件成立,则将值1赋给result变量,如果不成立,将值2赋给result变量
4 eg:name = "tina" if 1==1 else "fei"
name = "tina" if 1!=1 else "fei"
print(name)
执行结果如下:
fei 
小练习:
a = 1 if True else 0
print(a)
b=1 if False else 0
print(b)
c = "Fire" if True else "Water"
print(c)
d = "Fire" if False else "Water"
print(d)

执行结果如下:
1
0
Fire
Water 

深浅拷贝

1、对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址
只要是拷贝,不管是深拷贝还是浅拷贝以及赋值,其地址id都是一样的。
 
import copy
#数字类型
n1 = 222
print(id(n1))
#赋值
n2 = n1
print(id(n2))
#字符串类型
n1 = "tina is a beauty"
n2 = n1
print(id(n1),id(n2))
###执行结果如下:
1638075088
1638075088
948823211080 948823211080
###由此可以看出字符串和数字类型的赋值,其内存指向的是同一块内存###
#浅拷贝
n1 = 22
n2 = "asdf"
n3 = copy.copy(n1)
n4 = copy.copy(n2)
print(id(n1),id(n3))
print(id(n2),id(n4))
执行结果如下:
1638068688 1638068688
168374752680 168374752680
###由此可以看出字符串和数字类型的浅拷贝,其内存指向的是同一块内存###
#深拷贝
n3 = copy.deepcopy(n1)
n4 = copy.deepcopy(n2)
print(id(n1),id(n3))
print(id(n2),id(n4))
执行结果如下:
1638068688 1638068688
778961474984 778961474984 
###由此可以看出字符串和数字类型的深拷贝,其内存指向的是同一块内存###

画图说明:

技术分享

2、对于列表、元组、字典而言,浅拷贝只拷贝最外层,深拷贝是全部拷贝,除了最底层的值(数字、字符串)不变。
值是拷贝的索引
#赋值
n1 = {"k1":"222","k2":"tina",k3:[beauty,123]}
n2 = n1
print(id(n1),id(n2))
执行结果如下:
1003839407944 1003839407944

# ###结合上面数字字符串的内容可以看出任何类型的赋值,其内存指向的是同一块内存###

 技术分享

#浅拷贝(在内存中开创一块空间,创建第一层数据,相当于只拷贝了索引)
import copy
n1 = {"k1":"222","k2":"tina",k3:[beau,123]}
n2 = copy.copy(n1)
print(id(n1),id(n2))
执行结果如下:
715111778248 712964936072
#内存地址是不一样的

 

技术分享

#深拷贝(在内存中将与所有的数据重新创建一份,但由于python内部对数字和字符串的优化:永远指向同一块内存,所以最后一层不改变)
import copy
n1 = {"k1":"222","k2":"tina",k3:[beau,123]}
n2 = copy.deepcopy(n1)
print(id(n1),id(n2))
执行代码如下:
205036701640 205037113416

技术分享

函数

 1、概念:

  • 面向过程编程:

        根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处

  • 函数式编程:

        将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可,函数式编程最重要的是增强代码的重用性和可读性

  • 面向对象编程:

        对函数进行分类和封装,让开发“更快更好更强...”

 2、函数的定义及使用:

1 def  函数名(参数):
2       ......
3       函数体
4       ......
5       返回值
 
函数定义的关键点:
  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888]中的最大数等
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据

 

python基础

标签:

原文地址:http://www.cnblogs.com/tina-python/p/5467730.html

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