《跟孩子学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 安装并启动 ...
随机推荐
- maven 阿里仓库
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3. ...
- 开源项目MultiChoiceAdapter详解(五)——可扩展的MultiChoiceBaseAdapter
上次写到了开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用,其实我们仍旧可以不使用ActionMode的,所以这里就写一个自己扩展的方法. ...
- Java 集合细节(二):asList 的缺陷
在实际开发过程中我们经常使用 asList 讲数组转换为 List,这个方法使用起来非常方便,但是 asList 方法存在几个缺陷: 一.避免使用基本数据类型数组转换为列表 使用 8 个基本类型数组转 ...
- 访问修饰符(C# 编程指南)
所有类型和类型成员都具有可访问性级别,该级别可以控制是否可以从你的程序集或其他程序集中的其他代码中使用它们. 可以使用以下访问修饰符在进行声明时指定类型或成员的可访问性: public同一程序集中的任 ...
- iOS蓝牙空中升级(固件升级)
空中升级又叫固件升级,指你手机从服务器下载下来的包或者数据,通过蓝牙传输给你的外设升级固件.如果你能把蓝牙的基础搞懂,其实也并不是很难,我在这里只不过提供一下思路. 空中升级略难的地方在于数据处理和交 ...
- [PowerShell Utils] Create a list of virtual machines based on configuration read from a CSV file in Hyper-V
Hello everyone, this is the third post of the series. . Background =============== In my solution, ...
- Permutation Sequence leetcode java
题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...
- RxJava 操作符 on和doOn 线程切换 调度 Schedulers 线程池 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- iOS中的多线程 NSOperation
在ios中,使用多线程有三种方式,分别是:NSThread.NSOperation和NSOperationQueue.GCD,在本节,主要讲解一下NSOperation的使用. NSOperation ...
- 双数组Trie的一种实现
An Implementation of Double-Array Trie 双数组Trie的一种实现 原文:http://linux.thai.net/~thep/datrie/datrie.htm ...