Python学习笔记

本文详细介绍了Python编程的基础知识,包括如何创建和编写PyDev Module,使用内置和外部包,如os和requests,以及Python的核心数据类型如数字、字符串、列表、字典和元组。还讲解了Python中的数字运算、字符串操作、变量命名、动态类型、格式化输出、文件操作、字典和列表操作,以及递归、匿名函数、函数注解和函数式编程工具如map和filter。此外,文章还介绍了模块导入、类和对象的概念,以及异常处理的基本用法。
摘要由CSDN通过智能技术生成
eclipse中配置PyDev:
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__', 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值