Help-->Install New Software-->Add-->起名如:PyDev,网址:http://www.pydev.org/updates -->选择PyDev-->一路Next
安装完之后创建新项目时,如果没有PyDev选项,则是安装的版本跟eclipse、jdk不匹配,需要卸载重新安装。
卸载:Help-->About Eclipse-->Installation Details-->选中并Uninstall
重新安装网址:https://dl.bintray.com/fabioz/pydev/old/
安装完成后需要配置PyDev的解释器,即Python:
Window-->Preferences-->Pydev-->Interpreters-->New-->起名如:Python3,关联刚安装的python.exe文件
创建Pydev Project时,语法版本Grammar Version选择3.0,Interpreter选择刚配置的Python3
项目创建好后,右键New选择PyDev Module创建模块,创建好后即可编写。
一、package和数据类型
自带package如os的使用:
打印当前工作目录current working directory:
import os
# Python每行代码末尾不需要加分号
print(os.getcwd())
外部package需要使用Python自带的包管理工具easy_install或者pip来安装,首先需要配置他们的环境变量,
添加E:\Python3\Scripts到系统环境变量中的Path中即可。
如使用pip安装抓取网页相关功能的requests包,在DOS终端窗口中输入:
pip install requests
安装完外部包后即可使用,如输出百度的网页内容:
import requests
print(requests.get("http://www.baidu.com").text)
核心数据类型:
对象类型 例子 常量/创建
数字 1234, 3.1415, 3 + 4j, Decimal, Fraction
字符串 'spam', "guido's", b'a\xolc'
列表 [1, [2, 'three'], 4]
字典 {'food':'spam', 'taste':'yum'}
元组 (1, 'spam', 4, 'U')
文件 myfile = open('eggs', 'r')
集合 set('abc'), {'a', 'b', 'c'}
其他类型 类型、None、布尔型
编程单元类型 函数、模块、类
与实现相关的类型 编译的代码堆栈跟踪
注:这里的常量是指其语法会生成对象的表达式。
Python中没有类型声明,运行的表达式的语法决定了创建和使用的对象的类型。
数字
Python中的数字支持一般的数学运算,如加法(+)、乘法(*)、乘方(**)等。
print(123 + 234)
print(2 * 123)
print(2 ** 10)
除了表达式外,还可以导入一些额外的工具包来进行其他运算,如:
import math
print(math.pi)
print(math.sqrt(36))
Python还包括一些较为少见的数字对象,如复数、固定精度十进制数、有理数、集合和布尔值等。
十六进制表示法:0x或0X开头
八进制表示法:0o或0O开头
二进制表示法:0b或0B开头
内置函数hex(I)、oct(I)和bin(I)可以把一个整数转换成这3种进制表示的字符串。
复数表示法:实部+虚部,虚部以j或J结尾。也可以通过内置函数complex(real,imag)来创建复数。
表达式操作符:
操作符 描述
lambda args : expression 生成匿名函数
x if y else z 三元选择表达式,如果y为真则执行x,否则执行z
x or y 逻辑或
x and y 逻辑与
not x 逻辑非
x in y, x not in y 成员关系(可迭代对象、集合)
x is y, x is not y 对象实体测试,is相当于Java中的equals判断
x ** y 幂运算
字符串
常见字符串常量和表达式
操作 解释
s = '' 空字符串
s = "spam's"
s = 'spam"s' 双引号和单引号相同
s = '''...''' 三重引号字符串块
s = 's\np\ta\x00m' 转义序列
s = r'\temp\spam Raw字符串
s = b'spam' 字节字符串
s1 + s2 合并
s * 3 重复
s[i] 索引
s[i:j] 切割,左闭右开的
len(s) 求长度
"a {0} parrot".format('kind') 字符串格式化表达式
s.find('pa') 查找字符串第一次出现的角标,没有则返回-1
s.rstrip() 移除字符串末尾的空格
s.replace('pa', 'xx') 将字符串中第一个参数的值全部替换成第二个参数值
s.split(',') 用占位符将字符串分隔成列表
s.isdigit() 判断s是否为数字
s.lower() 字母大写转小写
s.endswith('spam') 判断字符串是否以参数结尾
'spam'.join('ABC') 给字符串ABC插入自定义分隔符spam,即AspamBspamC
'ab' in s ab是否是s的成员
for i in 'ABC' : print(i) 循环打印字符串中的字符
[c * 2 for c in s] 将字符串s转换成列表
字符串支持假设其中各个元素包含位置顺序的操作。如:
s = 'spam'
print(len(s))
print(s[0])
print(s[-1]) # python支持反向索引,-1表示最后一个
变量的命名:如上面把字符串赋值给变量s一样,python变量不需要提前声明。
当给一个变量赋值的时候就创建了它,可能赋的是任何类型的对象,并且当变量出现在一个表达式中的时候,就会用表达式的值替换该变量。
在使用变量的值之前必须对其赋值。
动态类型
动态类型以及由它提供的多态性是python语言简洁性和灵活性的基础。
类型属于对象,而不是变量。如:
a = 3
a = 'spam'
a = 1.23
在python中,变量名没有类型。类型属于对象,而不是变量名。我们只是把a修改为对不同对象的引用。
对象有两个头部信息,类型标志符和引用计数器。
类型标志符:标记了这个对象的类型。
引用计数器:记录当前指向该对象的引用的数目。一旦这个计数器被设置为0,则这个对象的内存空间就会自动回收。
格式限定符
format格式化有着丰富的“格式限定符”,语法是大括号中带冒号,即:{:}
比如":"、"填充与对齐"、"填充常跟对齐一起使用"。
^、<、>分别是居中、左对齐、右对齐,后面跟“限定宽度”.
注意:“:”冒号后面紧跟填充的字符,只能是一个字符,默认是用空格填充.
左对齐、居中、右对齐例子:
print('&{:<8}&'.format('abcd')) # &abcd &
print('&{:^8}&'.format('abcd')) # & abcd &
print('&{:>8}&'.format('abcd')) # & abcd&
使用字符‘+’填充的例子:
print('&{:+<8}&'.format('abcd')) # &abcd++++&
print('&{:+^8}&'.format('abcd')) # &++abcd++&
print('&{:+>8}&'.format('abcd')) # &++++abcd&
精度与类型f结合使用:
print('{:.3f}'.format(3.1415926)) # 3.142
其中.3表示长度为3的精度,f表示float类型。
用逗号“,”作为金额的千位分隔符的格式化:
print('{:,}'.format(1000000)) # 1,000,000
s = 'spam'
print(s[1:3]) #输出的是pa
切割的左边界默认是0,右边界默认是字符串的长度,故写法还有一些变体:
s = 'spam'
print(s[1:]) # pam
print(s[:3]) # spa
print(s[:-1]) # spa
print(s[:]) # spam 拷贝整个字符串
寻求帮助
可以组合使用内置的dir方法与help方法结合使用以寻求帮助。
dir函数将会返回一个包含了对象的所有属性的列表。由于方法是函数属性,故也会出现在这个列表中。
获取模块文件中所有可用的变量名列表方法:dir(对象/文件名)或者dir()来获取对象/文件内的变量名列表
如:print(dir())
输出结果:
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 's']
其中以下划线开始和结束的变量名是预定义的内置变量名。
s = 'spam'
print(dir(s))
输出结果:
['__add__', '__class__',