1:Python对象之间的赋值是内容赋值而不是引用赋值

a = ["aaa","bbb","ccc"]
b = a
print a
print b a = ["ddd"] print a
print b >>>>>>>>>>
['aaa', 'bbb', 'ccc']
['aaa', 'bbb', 'ccc']
['ddd']
['aaa', 'bbb', 'ccc']

也就是说,赋值之后,二者内容相互独立。

2:Python的自增自减

Python没有 ++ -- 这两个符号,但可以用 +=  -=  来进行加减运算的简写。

3:E记数法

Python中会把  10的n次方  表示为  en

如: 2.72e5 = 2.72x10^5

4:列表操作

增加一个:append(一个元素)

增加多个:extend([多个元素])

插入一个:insert(下标,元素)

删除具体元素:remove(具体元素)

根据索引删除:del list[下标]

弹出并返回元素:pop()弹出最后一个元素、pop(i)弹出下标i对应元素。

检查元素是否存在: 元素 in list

查找元素对应索引:list.index(元素)

列表排序:list.sort()【改变原列表】、newList = sorted(list)【不改变原列表】

列表倒转:list.reverse()、list.sort(reverse=True)

列表切片与赋值的区别:

one = ["Tom","James","Sara","Fred"]
new = one[:]
new.sort()
print "slice one:",one
print "slice new:",new two = ["Tom","James","Sara","Fred"]
newTwo = two
newTwo.sort()
print "copy two:",two
print "copy new:",newTwo ===================
slice one: ['Tom', 'James', 'Sara', 'Fred'] #切片赋值的话,改变new不会影响原来的数组
slice new: ['Fred', 'James', 'Sara', 'Tom']
copy two: ['Fred', 'James', 'Sara', 'Tom'] #直接赋值的话,改变newTwo会影响原来的数组
copy new: ['Fred', 'James', 'Sara', 'Tom']

5:全局变量

全局变量(相当于静态变量):使用global修饰(global相当于static),整个程序文件中该名的变量唯一,无论在哪都可以访问、修改同一个变量。

#coding = utf-8
outer_var = 0 def func():
print outer_var
global outer_var #将outer_var声明为global全局变量
outer_var = 1000
print outer_var func()
print outer_var #===========
0
1000
1000

【只有global修饰的是全局变量,可以在函数内外访问、修改。用变量名声明的变量,在哪声明,作用域就在哪——函数内定义的变量就是在函数内访问,函数外定义的就只能在函数外的同级代码行中访问,函数内不能访问到!】

#coding = utf-8

outer_var = 0

def func():
print outer_var #此句报错:访问不到该变量 outer_var = 1000 #此处是定义了一个同名的局部变量,并不是修改了函数外变量
print outer_var func()
print outer_var #这里访问的是外部定义的变量

6:字符串操作

分解字符串:list = str.split(分割标记)

连接字符串

拼接:newStr = str1 + str2

使用连接符连接:newStr = 连接符.join(strList)  #把字符串列表strList连接起来,并且在每个字符串之间插入连接符。

strList = ["I","love","python","!"]
newStr = " ".join(strList) #使用空格作为连接符,把strList中的元素连接起来
print newStr #===========
I love python !

匹配字符串

开头、结尾匹配检索:startswith、endswith

包含检索:检索内容 in str

下标检索:pos = str.index("检索内容")

裁剪字符串

裁剪末尾内容:str.strip("裁剪内容")  #如果不输入内容,则裁剪字符串末尾的所有空格

大小写转换:str.lower()、str.upper()

7:使用print写入文件内容:  print >> file,"内容"

8:对象持久化

python的pickle模块提供了对象持久化的方法:

pickle.dump(对象,文件):把对象持久化到文件中。

obj = pickle.load(file):从文件中加载对象。

9:

《跟孩子学Python》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. dwz 分页 bug (选回 combox 第一个值时不执行 onchange)

    先看一下官方的测试: 官方的演示有两个 bug 一个是combox数字一直不变,二是当选回第一个值时不执行 onchange 事件. 经过firebug调试,这是一个bug,传到后台的参数没有得到及时 ...

  2. 删除数据库字段一样的row, 并增加唯一索引

    DELETE FROM `groups` WHERE name IN (select a.name from ( SELECT name FROM `groups` GROUP BY name HAV ...

  3. Android之Activity与fragment完整生命周期图

    转自:https://github.com/xxv/android-lifecycle

  4. Library drmframework_jni not found

    http://piotrbuda.eu/2012/06/trying-to-solve-error-491-in-play-store-on-android-emulator.html http:// ...

  5. Mac环境下配置Tomcat+Eclipse

    下载Tomcat 首先在 Tomcat官方网站 找到自己合适的版本,下载 tar.gz 版本的,下载完成后解压缩到一个目录,进入这个目录下的 bin 执行 startup.sh,如果看到下面的界面,表 ...

  6. .Net Standard简介

    .NET Standard 是一套正式的 .NET API 规范,有望在所有 .NET 运行时中推出. 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性. ECMA ...

  7. 第三方IDC性能测评主要指标

    弹性计算性能弹性计费模式就是 "即用即付 ",最小单位可以按小时来计算.随着云计算负载的增长,企业购买服务器带宽时的资源.   1.弹性计算性能   弹性计费模式就是"即 ...

  8. java8 快速入门 lambda表达式 Java8 lambda表达式10个示例

    本文由 ImportNew - lemeilleur 翻译自 javarevisited.欢迎加入翻译小组.转载请见文末要求. Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发 ...

  9. Xilinx FFT IP v9.0 使用

    该ip用于实现N=2**m(m=3~16)点FFT的变换, 实现的数学类型包含: A)      定点全精度 B)      定点缩减位宽 C)      块浮点 每一级蝶型运算后舍入或者取整.对于N ...

  10. iOS: 获取UITableViewCell上添加的子控件对应的cell

    一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...