Python入门学习记录
2017-09-20 17:10
489 查看
Python入门学习记录from廖雪峰官网
前言:目标了解python,并能写简单的脚本,持续学习中。
整数除法结果只去整数部分,想让结果变得精确就把一个数改为浮点数即可
在字符串内部
%s表示字符串替换,
%d表示用整数替换,
%%可以转义后面的
list一种有序集合,
classmates = [‘Michael’, ‘Bob’, ‘Tracy’],
用这个len(classmates)可以得出列表长度。
classmates[0] 利用索引来访问对应位置的元素
classmates[-1] 获取最后一个位置的元素,也可以用size-1来获得最后一个元素(小心索引越界);classmates[-2]可以倒推获取元素。
classmates.append(‘Adam’) 可以追加元素
classmates.insert(1, ‘Jack’) 插入到指定位置的元素
classmates.pop() 删除末尾元素;classmates.pop(1)删除指定位置上的元素
classmates[1] = ‘Sarah’ 直接替换某个位置上的元素
L = [‘Apple’, 123, True] list里面的元素也可以类型不一样
list里面也可以有另外的list 数据获取list[2][2]
list=[] 空列表 长度为0
tuple 一种有序列表,一点初始化就不能修改了。
tuple定义的时候,元素就必须被初始化,t=(1,2)。(也可以定义一个空的如:t=())
定义一个元素的话t=(1) 输出为自然数1;定义一个元素的tuple的话就要加一个逗号来区分,t=(1,)
t=(‘a’,’b’,[‘a’,’b’]) 改变元素 t[2][0]=’x’ t[2][1]=’y’ 打印结果为 (‘a’,’b’,[‘x’,’y’]) 结论:不变指的是指向不变,上面改变的是list里面的元素,并不会影响list在内存中的地址。
条件判断和循环
if语句的使用:
age=20 if age>=18 print 'your age is',age print 'adult'
加上else的写法:
age=20 if age>=18 print 'your age is',age print 'adult'else:
print 'your age is',age
print 'teenager'
上面的写法可以用elif替换:
age = 3 if age >= 18: print 'adult' elif age >= 6: print 'teenager' else: print 'kid'
if语句简写:
if x: print 'True'
只要
x是非零数值、非空字符串、非空list等,就判断为
True,否则为
False。
循环有两种:1.for…in 依次把list tuple中每个元素迭代出来
names = ['Michael', 'Bob', 'Tracy'] for name in names: print name
循环来计算1-100的和:
sum =0 for x in range(101): sum=sum+x print sum
另外一种循环是while循环,满足条件就不断循环,不满足就退出。(和java里类似)例如计算出100以内的所有奇数和:
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print sum
不断自减,直到-1不满足条件时退出。
raw_input读取用户输入
raw_input读取的内容总是已字符串返回,所以字符串自然是不能和整数比较的。
可以用int转换,如下:
birth = int(raw_input('birth: '))
使用ditc和set
1.ditc相当于其他语言中的map
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95
把数据放入dict的方法,除了初始化时指定外,可以根据key放入
>>> d['Adam'] = 67 >>> d['Adam'] 67
一个key只能对应一个value所以后面重复放入,会把以前的value覆盖,如果查找的key不存在就会报错,为了防止报错,进行如下判断
>>> 'Thomas' in d False
或者通过ditc自身的方法
>>> d.get('Thomas') >>> d.get('Thomas', -1) -1
注意:返回
None的时候Python的交互式命令行不显示结果。
删除一个key的时候,使用pop(key),value也回随之消失
请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
注意和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
特别注意的是dict的key必须是不可变的对象。
整数和字符串都是不可变的,可以放心做key,而list是可变的就不能做key了。
2.set类似于java中的set系类,key不可以重复
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
创建set需要提供一个list作为输入集合,显示的顺序不表示set是有序的,还有就是重复元素会被过滤
>>> s = set([1, 2, 3,3]) >>> s {1, 2, 3}
通过add(key)添加,不过并没有效果,所以也没啥用。
>>> s = set([1, 2, 3,3]) >>> s {1, 2, 3}
>>> s.add(3)
>>> s
{1, 2, 3}
通过remove(key)可以移除元素
>>> s.remove(4) >>> s {1, 2, 3}
两个set可以做数学上的集合操作
>>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 & s2 {2, 3} >>> s1 | s2 {1, 2, 3, 4}
set和dict一样不能放入可变对象作为key。
所以,对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
使用key-value存储结构的dict在Python中非常有用,选择不可变对象作为key很重要,最常用的key是字符串。
总结
和其他的后台语言有些类似,但是更灵活,值得学习,作为第二门语言。相关文章推荐
- Python Logging 日志记录入门学习
- Python3.5入门学习记录-列表、元组、字典
- Python3.5入门学习记录-File
- Python学习记录,入门篇
- python入门学习记录(win7+python3.6)
- Python3.5入门学习记录-函数
- Python入门学习记录——List(列表)
- Python入门学习记录—元组(tuple)
- Python3.5入门学习记录-条件控制
- python入门学习记录
- Python3.5入门学习记录-模块
- Python学习入门基础教程(learning Python)--5.7 Python文件数据记录存储与处理
- python第十一天学习记录
- Python学习记录-socket编程
- Python Web开发 之Django框架入门学习笔记(一)——安装和初步使用
- Python学习记录概述
- Python 学习记录(二)
- 分享记录我的Linux系统入门学习经验
- 分享记录我的Linux系统入门学习经验
- python学习记录(1)