您的位置:首页 > 编程语言 > Python开发

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 基础笔记 入门