《跟孩子学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 安装并启动 ...
随机推荐
- Java 公历转农历,然后农历减一年(或者几天或者任意天),再把这个日期转成公历
由于系统的提醒有可能是农历的今天或指定时间要用quartz 实现定时任务 公历转农历,然后农历减一年(或者几天或者任意天),再把这个日期转成公历. 网上很多农历转公历的程序都有问题,QQ.百度的也有 ...
- UICollectionViewFlowLayout使用示例
UICollectionViewFlowLayout使用示例 效果 源码 https://github.com/YouXianMing/iOS-Project-Examples // // ViewC ...
- 增加定时检测linux占用内存,及时清理功能
centos为了提高效率,把部分使用过的文件缓存到了内存里. 如果是这样的话,我又不需要这样的文件性能,那就可以释放.如下两个命令就可以: #sync #echo 3 > /proc/sys/v ...
- Mac下使用XLD转换无损音乐Ape
最近想要给音乐库增加一些音乐,下载了一些Ape格式的无损音乐,但是无法直接导入到iTunes中,必须经过其他工具转换成苹果的无损格式,XLD就是这样一款工具.XLD的下载和安装非常方便,直接将APP拖 ...
- redis 负载均衡 集群配置
redis 官网 http://redis.io/ 中文网站 http://redis.cn/ 谷歌代码的redis项目 https://code.google.com/p/redis/ http:/ ...
- Tomcat访问(access)日志配置
在tomcat的access中打印出请求的情况可以帮助我们分析问题,通常比较关注的有访问IP.线程号.访问url.返回状态码.访问时间.持续时间. 最近在跟一个图片请求超时的问题,需要在项目的acce ...
- SQL Server 数据库项目
ylbtech-.NET Framework: SQL Server 数据库项目 SQL Server 数据库项目 类型:SQL Server 用于创建 SQL Server 数据库的项目 1. 新建 ...
- 5.数字拆分成4段,怎样使得4段的乘积最小【dp】
题目是:给出一个数字(10,000-100,000,000),把这个数字拆分成4段,怎样使得4段的乘积最小.比如12345拆分成1*2*3*45=270, 10000=1*00*0*0=0. 解题分析 ...
- 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇(转)
.net 框架号称永远不会发生内存泄漏,原因是其引入了内存回收的机制.但实际应用中,往往我们分配了对象但没有释放指向该对象的引用,导致对象永远无法释放.最 常见的情况就是给对象添加了事件处理函数,但当 ...
- [leetcode]Symmetric Tree @ Python
原题地址:https://oj.leetcode.com/problems/symmetric-tree/ 题意:判断二叉树是否为对称的. Given a binary tree, check whe ...