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

Python基本知识点备忘

2016-11-20 13:51 330 查看
查看原文:http://www.wyblog.cn/2016/11/20/python%e5%9f%ba%e6%9c%ac%e7%9f%a5%e8%af%86%e7%82%b9%e5%a4%87%e5%bf%98/
注:本篇博文内容总结自廖雪峰老师的python教程:
http://www.liaoxuefeng.com/
1.如果想直接执行py文件,应该在文本开头加入
#!/usr/bin/env python3
,然后赋予权限
chomod a+x hello.py


2.
print()
函数里可以输出多个字符串,用逗号隔开,输出时,逗号被替换成空格。

3.python大小写敏感!且缩进最好使用4个空格,最好在文本编辑器里将Tab自动换为4个空格。

4.转义字符\:
pint(' I\'m ok.')
,如果需要的转义字符比较多,可以用
r` `
表示''内部字符串默认不转义。

5.
a='ABC'
,此语句首先在内存里创建了'ABC'字符串,然后创建了一个名为a的变量,并指向'ABC'。

6.除法有两种,一是/,而是//。/结果是浮点数,//结果是整数。

7.ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。为了节约空间,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。可以看出,ASCII实际上可以被看成是UTF-8的一部分,实现了向下兼容功能。





可见,以Unicode或者UTF-8编码时,可以支持多语言,而后者可实现空间压缩,更适合于传输。读到内存里的数据一般以Unicode编码,而存在磁盘里的数据一般以UTF-8编码。

8.为了保证中文不乱码,在开头应加入
# -*- coding: utf-8 -*-
,统一以UTF-8格式进行编码。

9.list列表,符号[],内容可增可减,索引号从0开始,索引号-1表示最后一个元素,类似可倒推-2、-3等,常用方法:
append()、pop()、insert()
,并且,元素的数据类型也可以不同,甚至包含另一个list。

10.tuple元组,符号(),内容不可更改,其它的跟list的方法一样。要注意的是,当定义只有一个元素的tuple时,必须
t=(1,)
,逗号不能少,不然t会被赋值整数1。特殊情况:当tuple有list元素时,这个list里的元素是可变的。

11.
input()
输入进来的始终是字符串,可以使用
int(str)
方法将字符串转为整数。

12.
for...in...
循环可以依次把list或者turple里的每一个元素给迭代出来。
range(n)
生成的是从0到n-1的数,
list(range(n))
可将生成的序列转为list。

13.print打印语句要注意,引用变量打印,用的是%,例如
print("Hello,%s!" % name)


14.python内置字典dict,其他语言也叫map,使用键值对(key-value)形式存储,它是根据key计算出value的内存地址,可以直接取得value,所以速度非常快。要往dict里加数据,可以直接
d[key]=value
这种形式自动插入。但如果读取
d[key]
时,key不存在,那么就会报错,这时可以通过get方法返回一个默认值,
d.get(key,-1)
。要注意的是,key必须是一个不可变对象,用list做key就会报错。另外,dict内部存放的顺序和key放入顺序是没有关系的。缺点是,内存占用过多。

15.set与dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集&、并集|等操作。

16.对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。例如对str对象进行方法操作,其不会改变本身str,而是返回一个新的被操作后的str。查看原文:http://www.wyblog.cn/2016/11/20/python%e5%9f%ba%e6%9c%ac%e7%9f%a5%e8%af%86%e7%82%b9%e5%a4%87%e5%bf%98/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: