[Python笔记]Python学习笔记一
输入输出
print 'life is short','only','use python'
print语句可以打印多个字符串,其中每个字符串使用逗号进行分割,而在屏幕上显示时会以空格隔开。
name = raw_input()
通过raw_input()取得键盘输入的值,并保存在name变量中,注意输入的值都是字符串类型。
也可以传入参数从而使得输入前会有相应的提示信息
name = raw_input('please enter your name:') print 'hello,', name
注释与语句
Python语句以冒号结尾时,后面缩进的内容表示为代码块
建议以4个空格作为缩进标准
Python的注释可以使用#符号,也可以使用"""三个双引号来包裹
基本数据类型:整数,浮点数,字符串,布尔值,空值。
常量建议使用全部大写的变量名来表示
整数:以0开头表示八进制,以0x开头表示十六进制
浮点数:小数点之后可能最大是14位 (mac平台测试)
字符串:使用单引号或双引号包裹的一系列字符,如果想在引号中包含相同的引号,就需要使用转义字符 \
如 \\ \" \' \t \n \r
原始字符串:在字符串前面加上r前缀,表示字符串内部符号默认不转义
多行字符串:使用 ''' 三个单引号包裹的多行内容,省去\n字符
布尔值与逻辑运算:在Python中布尔值需要注意大小写,只有True和False 逻辑运算包括 and or not
空值:Python里面的空值表示为None
Python运算符
/ 和 //都表示整除,10/3 10//3都会得到3
如果需要得到小数,可以将某一个数转换为小数 10/3.0 10.0/3
也可以使用第三方模块division
字符编码
chr() 获取指定ASCII编码的字符
ord() 获取字符的ASCII编码
字符串加前缀u表明该字符串是以unicode编码格式表示的
使用encode()方法可以将unicode编码格式的字符串转换为指定编码参数的字符串
name = u'小明' name # u'\u5c0f\u660e' name.encode('utf-8') # '\xe5\xb0\x8f\xe6\x98\x8e' name.encode('gbk') # '\xd0\xa1\xc3\x7'
len()函数可以获得字符串长度
字符串加前缀b表明该字符串是以字节形式表示的
将其他编码格式的字符串转换为unicode编码格式的字符串需要使用decode()方法
'\xe5\xb0\x8f\xe6\x98\x8e'.decode('utf-8') print '\xe5\xb0\x8f\xe6\x98\x8e'.decode('utf-8')
在编写.py文件时,需要注意将文件保存为utf-8格式,同时首行使用 # -*- coding:utf-8 -*- 来限定文件编码格式。最后就是文件中的中文字符最好使用unicode编码格式,即字符串前面加上u前缀。
格式化字符串输出
使用%运算符来格式化字符串,%s表示字符串 %d表示整数 %f表示浮点数 %x十六进制整数 %o八进制
%d前面可以通过指定数字来进行位数补齐和补齐的数字
%f可以通过数字来进行小数点前后的位数截取, 如果不指定小数点后位数,默认显示小数点后6位数字。 位数不够使用0补齐。位数超出则进行四舍五入。
%s会将所有的数据类型都转换为字符串
%%表示%本身
数据类型:list tuple
集合类型的公共方法: len()
list 有序集合 可变数据类型 可以通过索引进行访问 append() insert() pop([i]) 元素类型可以不同 []
tuple 有序集合 不可变数据类型 可以通过索引进行访问 () (1,) 元组的不可变是指每个元素的指向不能变,指向整数就是整数,指向列表就是列表。但是列表自身内容可以变。
dict字典 无序集合 key必须是不可变对象,所以列表不能作为Key
get(key) pop(key)
d = {'Michael' : 95, 'Tracy' : 85} d['Michael']
通过键名来访问键值,为了避免错误,可以使用 in 操作符
建议使用get(key[, defaultval] )方法来访问值,这样当key不存在时会返回None,也可以返回给定值
set 不重复的不可变对象的无序集合,用于存储Key的集合 add()添加元素 remove()删除元素
set([1,2,3])
set('abc') 会得到 set(['a', 'b', 'c'])
两个set之间可以进行 - & | 操作 注意两个集合之间不能进行+操作
add() update()方法用于添加元素 但是传入的字符串会被分解 不能传浮点数
逻辑控制:条件判断,循环
if statement:
elif statement:
else:
for循环,循环的是list和tuple的每个元素
for x in range(10)
range()函数获取整数列表,Return a list containing an arithmetic progression of integers. range(i,j) return [i, i+1, i+2,... , j-1];
start(!) defaults to 0. when step is given, it specifies the increment or decrement. For example, range(4) returns [0,1,2,3]. The end point is omitted! These are exactly the valid indices for a list of 4 elements.
range(stop)
range(start, stop [,step])