python基础随学笔记

1、python字符串输出有很多种。a=‘‘‘name:{0},age:{1},sex:{2}‘‘‘.format(name,age,sex)第一种

name="lijiaxiang"

age=12

sex="male"

a=‘‘‘name:{_name},age:{_age},sex:{_sex}‘‘‘.format(_name=name,_age=age,_sex=sex)第二种

字符串还有一种+号拼接。这种是最不推荐的。因为上面的两种都是在内存中开辟特定的内存,但是+号是开很多段内存。所以这一点是最不推荐的。所以忘记这种拼接方式

2、深复制与浅复制区别:之前学习java也看过深复制和浅复制,但是当时一直也没有搞明白到底什么是深复制,什么是浅复制,昨天听老男孩课程,alex老师讲了一个例子,我觉得特别容易理解。所谓浅复制,就是只复制了最外一层。而深复制,可以说是整个内容的完全复制(这才是我们想象中的复制)。那么什么叫复制最外一层呢?举个简单例子:

#encoding:utf-8

import copy

a=["kalson",[15,25],"male"]

b=copy.copy(a)

print a

print b

a[0]="kangkang"

a[1][0]=18

b[0]="mike"

print a

print b

===========================结果如下===========

[‘kalson‘, [15, 25], ‘male‘]

[‘kalson‘, [15, 25], ‘male‘]

[‘kangkang‘, [18, 25], ‘male‘]

[‘mike‘, [18, 25], ‘male‘]

大家看到,对于最外层,复制后各自不相关,a中kalson-->kangkang,b中kalson-->mike.但是只在a中修改了15-->18,b中却也是修改了。这就是说对于[18,25],因为这已经不是基本数据类型了,实际上a中是存储了[15,25]的地址。所以这已经算是另外一层了。而这一层,用简单的copy浅复制已经不行了。


一下图片不知道是否可以让大家更好的理解?反正对我来说是比较明确的理解了。第一次写博文,有表述不清楚的还请各位朋友见谅。

时间: 2024-10-26 03:29:25

python基础随学笔记的相关文章

<<Python基础教程>>学习笔记之|第01章|基础知识

本学习笔记主要用要记录下学习<<Python基础教程>>过程中的一些Key Point,或自己没怎么搞明白的内容,可能有点杂乱,但比较实用,查找起来也方便. 第01章:基础知识 ------ Jython:      Python的Java实现,运行在JVM中,相对稳定,但落后于Python,当前版本2.5,在TA(Python+Robot)会用到 IronPython:  Python的C#实现,运行在Common Language Runtime,速度比Python要快 >

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第09章 | 魔法方法、属性和迭代器

这一章,有点抽象,看着有点蛋疼! 双下划线__future__或单下划线有特殊含义,在Python中,这些名字的集合称为魔法方法:最重要的是__init__和一些处理访问对象的方法,这些方法允许你创建自己的序列或者是映射. ------ 准备工作: 将__metaclass__=type放在模块的最开始位置,以确保类时最新式的.考虑下面两个类 class NewStyle(object): more_code_here class OldStyle: more_code_here 如果文件以__

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第13章 | 数据库支持

备注:这章内容相对介绍的比较简单,不过例子比较使用,主要是要掌握如果连接,使用数据库,并以SQLite做示例 ------ Python数据库API 为了解决Python中各种数据库模块间的兼容问题,现在已经通过了一个标准的DB API.目前的API版本(2.0)定义在PEP249中的Python Database API Specification v2.0中. 异常 为了尽可能准确地处理错误,API中定义了一些异常.它们被定义在一种层次结构中,所以可以通过一个except块捕捉多种异常. 连

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第10章 | 充电时刻

第10章 | 充电时刻 本章主要介绍模块及其工作机制 ------ 模块 >>> import math >>> math.sin(0) 0.0 模块是程序 一个简单的模块 #hello.py print ("Hello,World!") >>> import hello Traceback (most recent call last): File "<pyshell#56>", line 1, i

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第14章 | 网络编程

Python是个很强大的网络编程工具,原因有二: 1. Python内有很多针对常见网络协议的库 2. Python在处理字节流方面的优势 本章主要内容: 探讨Python标准库中的一些网络模块,探讨SocketServer类,最后是Twisted框架. ------ 相关模块 Socket模块 基本组件,用于两个程序之间的信息通道.套接字包括两个: 服务器套接字和客户端套接字.创建一个服务器套接字后,让它等待连接,这样它就在某个网络地址处监听.客户端套接字负责:简单的连接,完成事务,断开连接.

python基础教程学习笔记---(1)基础语法

1.两个整数相除,计算结果的小数部分被截除,结果仍然是一个整数: 如:1/2=0 2.整数和浮点数相除.或者浮点数之间相除,结果有小数部分,仍然是一个浮点数: 如:1/2.0=0.5  1.0/2=0.5  1.0/2.0=0.5  1/2.=0.5 3.双斜线(//)定义整除运算 如:1.0//2.0=0.0  1//2=0 4.%定义取余运算(求模运算) 如:10%3=1  2.75%0.5=0.25 5.**定义幂运算(乘方运算) 如:2**3=8  -3**2=-9 6.输入16进制表达

&lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第04章 | 字典

第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中,键可以使字符,数字,或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每个键都是由坐标值组成的元祖 存储文件修改的次数,文件名作为键 数字电话/地址薄 函数传递值def func(x,*args,**args): 如果要建公司员工与座机号的列表,如果要获得Alice的座机只能这么找 >>> names   = ['Alice','Bob','Tom'] >>> n

《python基础教程》笔记之 基础知识

数字相关 在Python程序前加上 from __future__ import division 或者在解释器里面直接执行它,或者通过命令行运行Python时使用命令开关-Qnew,会使单斜线不再整除,如 >>> 1/20.5 而双斜线实现整除,如 >>> 1//20 输入 >>> x = input('x:') 模块 用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数,如 >>> import math>

python基础教程学习笔记---(6)文件读写

1.open函数语法: python通过open函数打开文件,建立程序与文件之间的连接. open函数语法:open(filename[,mode[,buffering]]) 其中filename是指要进行操作的文件名称,由文件名称和路径组成,需要加引号. mode为操作模式参数,包括读.写.追加等. buffering是缓冲参数,控制着文件的缓冲.当buffering=0或者False时,I/O就是无缓冲的,所有的读写操作都是直接针对硬盘的,如果是1或者True,I/O就是有缓冲的,pytho