Python头部 #!/usr/bin/python和 #!/usr/bin/env python 的区别
#!/usr/bin/env python
这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。
#!/usr/bin/python
表示写死了就是要 /usr/bin/python 这个目录下 python 来执行你的脚本。这样写程序的可移植性就差了,如果此路径下python命令不存在就会报错。
所以一般情况还是用第一种写法。
Python中文编码
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
print "Hello,world";
Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
Python 标识符
- 在 Python 里,标识符由字母、数字、下划线组成。
- 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
- Python 中的标识符是区分大小写的。
- 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
- 以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
- Python 可以同一行显示多条语句,方法是用分号 ; 分开。
多行语句
Python语句中一般以新行作为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下:
#! /usr/bin/evn python
my_name = "duan" + \
"mu" + \
"xu"
print my_name
# 输出
duanmuxu
标准数据类型
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
四种数字类型
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
字符串(string)截取
使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
#! /usr/bin/evn python
# -*- coding: UTF-8 -*-
str = 'abcdefghijklmn'
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第六个之间的字符串
print str[2:-2] # 输出字符串中第三个至倒数第三个的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
print str[2::3] # 输出从第三个字符开始,以3为截取步长的字符串
# 执行结果
abcdefghijklmn
a
cde
cdefghijkl
cdefghijklmn
abcdefghijklmnabcdefghijklmn
abcdefghijklmnTEST
cfil
Python列表
- 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
- 列表用 [ ] 标识,是 python 最通用的复合数据类型。
- 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
Python 元组
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
Python 字典
-
列表是有序的对象集合,字典是无序的对象集合。
-
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
-
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
int() 函数
int() 函数用于将一个字符串或数字转换为整型。
class int(x, base=10)
- x – 字符串或数字。
- base – 进制数,默认十进制。
- 返回整型数据。
long(x, base)函数也一样
tuple() 函数
将列表转换为元组
>>>tuple([1,2,3,4])
(1, 2, 3, 4)
>>> tuple({1:2,3:4}) #针对字典 会返回字典的key组成的tuple
(1, 3)
>>> tuple((1,2,3,4)) #元组会返回元组自身
(1, 2, 3, 4)
set() 函数
- set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
- 返回新的集合对象
>>> x=set('1234312')
>>> x
{'1', '3', '2', '4'}
>>> y=set('4567657')
>>> y
{'4', '5', '7', '6'}
>>> x & y # 交集
{'4'}
>>> x | y # 并集
{'4', '7', '6', '2', '1', '3', '5'}
>>> x - y # 差集
{'1', '3', '2'}
chr() 函数、ord() 函数
- chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
- ord() 函数以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
>>> chr(48)
'0'
>>> ord('c')
99
hex() 函数
hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
>>> hex(12)
'0xc'
>>> type(hex(12))
<class 'str'>
oct() 函数
oct() 函数将一个整数转换成8进制字符串。
>>> oct(15)
'017'