《跟孩子学Python》
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》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- 使用DDMS中的内存监测工具Heap来优化内存
最近在做一个照片墙的应用,涉及到很多知识,其中难点在于如何应对数量庞大的图片,这就涉及到内存管理的知识了.今天介绍的工具是DDMS中自带的Heap,它可以显示出当前引用占用的内存,剩余的内存等信息.下 ...
- Unexpected identifier in composer-common/lib/cardstore/businessnetworkcardstore.js:54
c错误描述 Unexpected identifier in composer-common/lib/cardstore/businessnetworkcardstore.js:54 yo hyper ...
- 《UNIX环境高级编程》笔记--环境变量
ISO C定义了一个函数getenv,可以用其取环境变量值. #include <stdlib.h> char* getenv(const char* name); //返回与name关联 ...
- vRealize 7中部署blueprint如果失败,如何不让已经被provision的虚机被删掉?
正解为: _debug_deployment 哪里用: 参考资料 ========= Custom Properties for Naming and Analyzing Deployments ht ...
- MySql 5.7安装(随机密码,修改默认密码)两个坑
MySql 5.7安装(随机密码,修改默认密 下载了MySql 最新版本,安装的过程中,发现了很多新特性 1.data目录不见了 在进行my-default.ini配置的时候 (需要配置 # base ...
- 【转载】神奇的css属性pointer-events
绝对定位元素盖住链接或添加某事件handle的元素后,那么该链接的默认行为(页面跳转)或元素事件将不会被触发.现在Firefox3.6+/Safari4+/Chrome支持一个称为pointer-ev ...
- jquery 控制css样式
一.CSS 1.css(name) 访问第一个匹配元素的样式属性. 返回值 String 参数 name (String) : 要访问的属性名称 示例: $("p").css(&q ...
- 使用nginx反向代理到不同服务器(共享同一端口)配置文件
使用nginx反向代理到不同服务器(共享同一端口)配置文件 https://blog.csdn.net/wang_k_123/article/details/72779443 https://www. ...
- 转:android root tcpdump抓包强烈推荐
转:http://www.cnblogs.com/findyou/p/3491035.html 写的相当详细且完整,业界良心. adb push d:\tcpdump /data/local/ adb ...
- 全国第二届Revit开发实战训练营在北京圆满落幕
由北京橄榄山软件公司与筑城网校中国BIM培训网共同举办的"全国第二届Revit开发实战训练营于1月1日在筑城网校培训教室如期开班. 參加此次培训的有上海同济大学建筑设计研究院(集团)有限公司 ...