由于一直以来对于Python有着很浓的兴趣,所有这几天就打算接触一下Python。看了网上的推荐,看了廖雪峰老师的Python教程,记录一下学习的笔记。
输入和输出:
print()输出
input() 输入
数据类型
整型 可以有任一大小的整数,十六进制加前缀0x
浮点型 小数对于很大或很小的小数用科学计数法表示,如1.23e-9
字符串 以' ' , " "括起来的任意文本
布尔值 True False (注意大小写)可以使用 and or not 来计算
空值 None
变量
变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
常量
通常使用全部大写的变量名来表示常量,python里没有机制保证值不被修改,约定俗成。
字符串
ord() 获取字符的整数表示
chr() 将编码转换成对应的字符
bytes类型用b前缀的单引号或双引号表示 b'ABC'
将bytes转换为str使用decode() b'ABC'.decode('ascii;)
len() 计算字符或字节的个数
# -*- coding: utf-8 -*-
replace('a','A') 原来的字符串并没有发生改变,而是创建了一个新的字符串
格式化
%表示格式化字符串
'Hello, %s' % 'world'
%d |
整数 |
%f |
浮点数 |
%s |
字符串 |
%x |
十六进制整数 |
%% |
% |
list
列表,是python内置的一个数据类型,list是一种有序的集合,可以随时添加和删除其中的元素,可变。
如:classmate=['Adam','Tom','Tracy']
len() 返回长度
classmate[0]用索引来访问list里的每一个元素 不要越界
classmate[-1]直接获取末尾最后一个元素
append('tom') 追加一个元素到末尾
insert(1,'tom') 把元素插入到指定的位置
pop() 删除list末尾的元素
pop(1) 删除指定位置的元素
sort() 排序
classmate[1]='Tracy' 直接赋值
list可以是另一个list的元素
空的list的长度为0
tuple
元组,tuple与list非常相似,tuple一旦初始化就不能再修改,不可变。
如:L(1,2,3)
当定义一个tuple时,tuple里的元素就必须被确定下来。
定义一个空tuple时,写成()
定义一个只有一个元素的tuple时应写成:t=(1,)
()既可以表示tuple,又可以表示数学公式中的小括号 t=(1) 等价 t=1
”可变的“tuple tuple每个元素不可变,但是tuple里的list里的元素是可变的,tuple的每一个元素指向是不变的。
t = ('a', 'b', ['A', 'B'])
条件判断
If条件:
语句
else:
语句
if条件:
语句
elif条件:
语句
else:
语句
强制类型转换
s=input("please enter a number:")
t=int(s)
循环
for…in…:
将list或tuple里的每个元素迭代出来
names=['Tom','Jack','Lucy']
for name in names:
print(name)
range(i)
生成0到小于i的数
range(101)就是0到100的整数序列
while条件:
只要条件满足就一直循环,直到条件不满足
break
跳出循环
continue
结束本轮循环开始下一轮循环
dict
字典,全称dictionary,在其他语言里叫做map,使用键值对存储(key-value),具有极快的查找速度。
d={'Michael':85,'Bob':67,'Adam':89}
d['Michael']=60
通过key来计算value的存储位置,取的时候就根据key直接拿到value,一个key对应一个value,多次对一个key放入value会冲掉之前的value
判断key是否存在
通过in来判断key是否存在
'Thomas' in d False
通过dict的get()方法
d.get('Thomas') None
d.get('Thomas',-1) -1 返回自己指定的value
返回None时Python的交互式命令行不会显示结果
pop(key) 删除一个key
dict内部存放的顺序与key放入的顺序是没有关系的
和list相比,dict有以下几个特点:
1.查找和插入的速度极快,不会随着key的增加而变慢
2.需要占用大量的内存,内存浪费多
list则相反
1.查找和插入的时间随着元素的增加而增加
2.占有空间小,浪费空间很少
dict的key必须是不可变对象
set
一组key的集合,但是不存储value,由于key不能重复,所以没有重复的key
创建一个set,需要创建一个list
s=set([1,2,3,4,5])
重复的元素会被自动过滤掉
add(key)添加key到set中
remove(key)删除key元素
set可以看做数学意义上的无序的无意义的集合,两个set可以进行交集、并集等操作
s1 | s2 s1 & s2
set里不能放入可变对象