Python核心笔记(二)

快速入门

输入:raw_input
输出:print
列表元素:[] 类似数组
列表切片操作[from:to] 截取from 到to的列表元素(左闭右开)
字典元素:{} 键值对
代码缩进:四个空格
打开文件:
handle=open(file_name,access_mode='r)
handle.close()
函数定义:
def dunction_name([arguments]):
“optional documentatiom string”
function_suite
类中的__init__()方法:
完成对象初始化工作,当一个类被创建时,init()方法会自动被执行,类似构造器
self参数:
类实例自身引用,相当于面向对象编程语言中的this

Python基础

#:注释
\n:换行
\:继续上一行
; :两个语句连接在一行
: :将代码块的头和体分开
不同缩进深度代表不同的代码块
python文件以模块化的形式组织
多元赋值:x,y,z=1,2,3
变量名必须由字母跟下划线组成,且区分大小写
__name__系统变量:
1.模块化被导入:__name__的值为模块的名字
2.模块被直接执行:__name__的值为’main

内存管理:
变量无须事先申明
变量无须指定类型
程序员不用担心内存管理
变量名会被“回收”
del语句能够直接释放资源

Python对象

Python对象的三个特性:身份,类型,值
type():获取对象的类型
None: Python的NULL对象
切片对象:sequence[起始索引:结素索引:步进值]

标准类型内建函数:
cmp(obj1, obj2) 比较 obj1 和 obj2,返回整形 i(>0;=0;<0)
repr(obj)或obj 返回 obj 的字符串表示
str(obj)返回 obj 适合可读性好的字符串表示
type(obj)返回 obj 的类型

str(),repr(),’’ 三者的比较:
str():生成一个对象的可读性比较好的字符串表示,对用户友好
repr():对 Python 比较友好
‘’:效果跟 repr()一样,建议不再使用

type()和 isinstance():
type(obj):返回 obj 的类型
isinstance(obj,obj_type):判断 obj 是否为 obj_type 类型,返回布尔值
可变类型:列表、字典
不可变类型:数字、字符串、元组
不支持的类型:
char 或 byte:无
指针:无
int VS short VS long : 无区别
float VS double :无区别

数字

长整型:用大写的“L”表示

复数:
虚数不能单独存在。必须加上 0.0 的实数部分
由实数+虚数两部分构成
实数跟虚数部分都是浮点型
虚数部分后缀是 j 或 J
复数属性:
num.real 该复数的实数部分
num.imag 该复数的虚数部分
num.conjugate() 返回该复数的共轭复数
混合模式优先级(转化): complex > float > long > int

幂运算(**):
比左侧操作数的一元运算符优先级低,比右侧操作数的一元运算符优先级高。
eg: -3 ** 2 = -9 4.0 ** -1.0 = 0.25

位操作符:
只适用于整型
取反(~),安位与(&),或(|),异或(^),左移(<<),右移(>>)
负数当做正数的 2 进制补码处理
num <<( 或 >> )N = num * ( 或 / )2 ** N
int(obj, base) : 返回 obj 数字的 base 进制数
pow() 和 **:虽然能完成相同的作用
pow() : 内建函数
** : 操作符

数值运算内建函数:
abs(num) num 的绝对值
coerce(num1, num2)转化为同一类型,返回一个元组
divmod(num1, num2)返回元组(num1/num2, num1%num2)
pow(num1, num2, mod=1) 取 num1 的 num2 次方,若有 mod,则对其再取余
round(flt, ndig=1)对浮点型 flt 进行四舍五入,保留 ndig 位小数

仅适用于整型的内建函数:
hex(num)将 num 转化为十六进制,并以字符串返回
otc(num)将 num 转化为八进制,并以字符串返回
chr(num)返回 num 的 ASCII 值,范围:0 <= num <= 255
“True”和“False”严格区分大小写!且分别对应“1”和“0”。

序列:字符串、列表和元组

字符串类型同样也是不可变的,当你要改变一个字符串的时候就必须通过创建一个新的同名的字符串来取代它。
三引号(’’’或者”””):
允许一个字符串跨多行,字符串中可以包含换行符,制表符及其他特殊字符。

ASCII 码:每个英文字符都是以 7 位二进制数的方式存放在计算机内,范围是 32~126。
Unicode 通过使用一个或多个字节来表示一个字符的方法突破了 ASCII 的限制,可以表示超过90000 个字符。
ASCII 字符串 – StringType 类型
Unicode 字符串 – UnicodeType 类型
默认所有字面上的字符串都是 ASCII 编码,’u’前缀声明 Unicode 编码。
codec 是 Coder/DECoder 的首写字母组合。

Unicode 应用的规则:
程序中出现字符串时前面一定要加个’u’
不要用 str()函数,用 unicode()代替
不要用过时的 string 模块
不到必须时不要在你的程序里编解码 Unicode 字符。只在你写入文件或者数据库或者网络时,才调用 encode()编码,相应地,只在你需要把数据读回来的时候才调用 decode()函数解码

Python 标准库中绝大部分模块都是兼容 Unicode 的,除了 pickle 模块只支持ASCII。
Python 字符串不是通过 NUL 或者’\0’来结束的,它除了你定义的东西,没有别的。
并非调用一个方法就会返回一个值。
那些可以改变对象值的可变对象的方法是没有返回值的。如:sort(),extend()等。
列表跟元组是两个非常相似的序列类型,之所以要保留二者是因为在某些情况下,其中一种类型要优于使用另一种类型。
list()跟 tuple()函数可以用一个列表来创建一个元组,反之亦然。

映射和集合类型

字典是 Python 中唯一的映射类型。
字典:
dict1 = ,‘name’:’earth’,’port’:80-
for key in dict1.keys():
… print ‘key=%s, value=%s’% (key,dict1*key+)

映射类型内建函数:
dict.clear() 删除字典中的所有元素
dict.fromkeys(seq, val=None) 返回一个新字典,seq 为键,val 为值
dict.get(key, default=None)返回字典中 key 的值,若无此键则返default
dict.has_key(key)是否存在 key 键,返回布尔值
dict.items() 返回一个包括字典中键值对元组的列表
dict.keys() 返回一个字典中的键的列表
dict.values() 返回一个包含字典中所有值的列表
dict.update(dict2) 将字典 dict2 的键值对添加到字典 dict 中去
不允许一个键对应多个值。键必须是可哈希的对象。像列表和字典这样的可变类型,由于它们不是可哈希的,所以不能作为键

集合类型:现已成为 Python 的基本数据类型
两种类型:可变集合(set)和不可变集合(frozenset)
可用 set()和 frozenset()来分别创建可变集合跟不可变集合

适用于所以集合类型的内建方法:
s.issubset(t) 判断 s 是否是 t 的子集,返回布尔值
s.issuperset(t) 判断 s 是否是 t 的超集,返回布尔值
s.union(t) 返回新集合,s 跟 t 的并集
s.intersetion(t) 返回新集合,s 跟 t 的交集
s.difference(t) 返回新集合,其成员是 s 的成员,但不是 t 的成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值