文件头加入如下内容
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
申明了UTF-8编码并不意味着你的.py
文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码
#20160202#
print() 双引号单引号均可,字符串之间用逗号分隔会自动加入空格
直接写变量名回车可以打印出变量值(类似matlab)
name=input(‘please input your name…’)
if结构
if a>1: print a else: print -a
python强制缩进,大小写敏感
#20160204#
Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言
ord()函数 字符–》编码
chr()函数 编码–》字符
>>> '\u4e2d\u6587'
'中文'
python默认字符串类型为str,一个字符对应若干字节;传输或者保存为byte类型,以字节为单位。
x=b’xxx’
字节码转回ASCII或utf-8 (decode方法)
>>>b’abc’.decode(‘ascii’)
‘abc’
取字符串长度函数 len()
中文经过utf-8编码后占3个字节,英文仅占1个字节
>>>len(‘我们’.encode(‘utf-8’))
6
格式化输出
>>>‘hi, %s, you have %d’ % (‘xxx’, 100)
‘hi, xxx, you have 100’
%%用于转义
【lists】
>>>classmates=[‘Alice’,’Bob’]
>>>classmates
[‘Alice’,’Bob’]
>>>len(classmates)
2
若取用最后一个元素,用-1做索引;-2,-3类推
追加元素,append方法
>>>classmates.append(‘Adam’)
删除最后一个元素,pop方法
>>>classmates.pop
指定位置
>>>classmates.pop(i)
加入到指定位置,比如,index=1的位置
>>>classmates.insert(1,’Alex’)
替换指定位置元素,直接赋值即可
>>>classmates[1]=’Frank’
list可以放入不同的数据类型,甚至可以list套list,例如
>>>language=[‘VB’,’C++’,[‘php’,’asp’]]
引用’asp’
>>>language[2][1]
有序列别tuple,不可更改,小括号
>>>classmates=(‘Bob’,’Jane’,’Dennis’)
引用依然用中括号。
若定义只有一个元素的tuple,不能用 test=(1)的形式,小括号被解释为数学运算符,加入逗号消除歧义test=(1,)
tuple指的是指向不变
IF
强制缩进代表块语句
if xxx: xxxx elif xxx: xxxx else: xxxx
input输入的是str()类型,必须通过int()函数转换才能与数值类型进行比较。
FOR
遍历list
names=['Bob','Steve','John'] for name in names: print name
range(n)函数用于生成小于整数n的序列
如0-100的序列求和
num=range(101) sum=0 for x in num: sum=sum+x print(sum)
WHILE
s=100 sum=0 while s>0: sum=sum+s s=s-1
DICT和SET
dictionary,key-value对
dic={‘Mike’:100,’Alice’:90}
dic[‘Mike’]
dic[‘Mike’]=10
判断key是否存在,用in
>>>‘Tom’ in dic
False
get方法
>>>dic.get(‘Tom’,-999)
-999
pop方法删除字典元素
dic.pop(‘Mike’)
和list比较,dict有以下几个特点:
而list相反:
key是不可变对象,做Hash运算后确定value地址
SET
只保存key,用list初始化
>>>s=set([1,2,3])
>>>s
{1,2,3}
无重复,无序,集合,可以交集并集等
>>>s1=set([1,2,3])
>>>s2=set([2,3,4])
>>>s1 & s2
{2,3}
>>>s1 | s2 |
{1,2,3,4}
注意了解不可变对象的概念,最后一部分
对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
DOS下文件系统操作与Linux下有区别也有相同,比如切换目录都是cd命令,但在dos下切换驱动器,需要加上 /d选项,这个略坑。或者直接输入盘符F:
ls在dos下用dir替代。