Python入门学习记录
来源:互联网 发布:复杂网络社区发现研究 编辑:程序博客网 时间:2024/06/08 19:50
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=20if age>=18print 'your age is',age print 'adult'
加上else的写法:
age=20if age>=18print 'your age is',age print 'adult'else: print 'your age is',age print 'teenager'
上面的写法可以用elif替换:
age = 3if 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 =0for x in range(101):sum=sum+xprint sum
另外一种循环是while循环,满足条件就不断循环,不满足就退出。(和java里类似)例如计算出100以内的所有奇数和:
sum = 0n = 99while n > 0: sum = sum + n n = n - 2print 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 dFalse
或者通过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入门学习记录
- Python入门学习记录
- Python学习记录,入门篇
- Python入门记录
- Python入门记录
- Python入门记录
- Python入门学习记录——List(列表)
- Python入门学习记录—元组(tuple)
- Python入门学习记录1--《简明Python教程》学习笔记(1)
- IBATIS入门学习记录
- dll入门学习记录
- MySql入门学习记录
- Git入门学习记录
- GCC 入门学习记录
- C#入门学习记录
- casperjs学习入门记录
- IOS 入门学习记录
- JQuery 入门学习记录
- 不定宽高的水平垂直居中
- 在一个空的Eclipse中安装Android开发的ADT和SDK
- Axure游戏原型设计实例应用(四)——Einsphoton
- Android图片保存到本地,并再从本地获取图片
- Problems & Solutions --8 SMTP in flask_mail
- Python入门学习记录
- 机器学习2:开始Tensorflow之旅
- Jfreechart-Jfreechart的使用(图表绘制)[线图]
- cmd中运行程序后print中文乱码
- LR中html和url录制方式的区别
- emWin界面刷新
- python的迭代器理解
- Jfreechart-Jfreechart的使用(图表绘制)[饼图]
- 浏览器兼容性问题解决方案之CSS