今天是周末,继续学习python,在看一本《Python核心编程(第二版)》的pdf电子书。看了前面6章,总结下看到的一些知识
一、python对象:
1.python里的标准类型:
python中的标准类型有五个,分别是:数字,字符串,元组,列表,字典。其中这几个标准类型中,数字,字符串,元组是不可变类型,列表,字典是可变类型。通过使用id()函数可以很容易地验证以上内容。如:
a = u"abcdef";
first_id = id(a);
a = u"abcde";
second_id = id(a);
print first_id == second_id;# False
2.python里的type()函数和isinstance()函数
type()函数的返回结果是一个tpye类型对象(注意:type也是一种类型),可以使用tpye方法来判断两个对象是否是同一个类型的对象
isinstance()函数接受两个参数,第一个是要判断的对象obj,第二个参数是类型名称,可以使一个元组,返回值是布尔值
在代码中,我们可以使用以下的方式对变量的类型进行判断
# type()函数
print type(10);#输入的内容是<type 'int'>
print type(type(10););#输入的内容是<type 'type'>
# 判断一个对象是否我们需要的类型
def useType(obj):
# 这里除了使用type(0)的做比较,也可以引入tpyes模块,使用types.IntType代替
# 同理,type(0.0)也可以用types.FloatType代替,其它类型不在累述
if type(obj) == type(0) or type(obj) == type(0.0):
return True;
else:
return False;
# 使用isinstance方法完成同样的操作
def useIstance(obj):
if isinstance(obj,(int,float)):
return True;
else:
return False;
二、数字和字符串
1.数字
在python中,整形包括int型和long型,但是我们不需要考虑溢出的问题,在整形数据大小超出范围以后,python会帮我们转换成长整型。如果想声明一个长整行类型的数,只需要加上L即可。
python的浮点型数float是双精度浮点型,即类似于java中的double类型。
python中还有一种类型就是复数,a+bj,a是实数,b是虚数
python中支持两个以上表达式的大小比较,比较顺序是从左到右,各个条件用and连起来
print 1<2<3!=4<5;# True
# 等价于
print 1<2 and 2<3 and 3!=4 and 4<5;
**两个乘号是幂运算,2**3就是2的三次方。进制转换函数oct()用于把一个整数转换为八进制数,八进制整数以0开头,hex()把一个整数转换为十六进制数,十六进制整数是0x或者是0X开头。
2.字符串
可以通过索引找到对应的字符,索引值可以使正向索引,从0开始到len-1,也可以是反向索引,从-1到-(len-1)。我们可以通过索引取得某个位置的字符串,但是因为字符串是不可改变类型,我们不能改变字符串中某个位置的值,否则会出错。
截取某部分字符串的时候使用切片操作符[start:stop:step],当只有第一个参数时就表示获取单个下标的字符串。
判断一个字符串是不是另一个字符串的子串,可以使用in 和not in或者是find()和rfind()函数来进行判断(找不到返回-1)。
v = u"abcdefg";
print v[0];# 输出a
# 试着改变某个字符串某个位置的值
v[2] = "a";# 出错
print v[0:4];# abcd
print v[0:4:2]; # ac
字符串的格式化输出,可以使用%来完成,常用的有:%s表示是字符串,%d表示是整型,%f表示是浮点型,%e表示输出科学计数法表示的数,%%表示输出一个%号。在使用的时候可以用元组参数或者是字典参数做转换。
# 元组
print "string : %s,int : %d,float : %f,e : %e,100 percent : 100%%" %("ss",1,1.0,1231235.34235);
# 字典
print "string : %(s_key)s,int : %(i_key)d,float : %(f_key)f,e : %(e_key)e,100 percent : 100%%" %{"s_key":"ss","i_key":1,"f_key":1.0,"e_key":13123.121};
除了使用%号完成格式化输出,还有更简单的方式,就是使用字符串模板。使用字符串模板要引入string的Template类
# 使用模板类
v = Template("This is a template model,${h} ${w}!!");
print v.substitute(h="hello",w="world");
在python中如果你想输出"\n"这些的字符串,直接输出是不行的,它会变成一个换行符,"\t"会变成一个Tab符,要输出它们,只需要在字符串的开始位置加上r或者是R就能输出原始字符而不会进行转义。
string模块中,可以很容易的获取由字母组成的字符串,有大写形式的string.uppercase,小写形式的string.lowercase,大小写都包含的string.letters以及数字string.digits四种字符串。chr()函数接收一个整型数,返回一个对应的字符,ord()是与之配对的函数,接收一个字符串参数,返回该字符串对应的ASCII值或者是Unicode编码值。另外字符串复制可以使用*运算符, "x"*3得到的结果就是"xxx"
分享到:
相关推荐
看python做的一些小笔记,具体内容是自己的笔记,怎么办没话说了,为什么描述要那么多字,但是发射点发射点v反对豆腐干豆腐干发士大夫v倒是方便
14.6_None|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
14.2_用字典映射代替switch_case语句|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原
14.11_Python_3.8_新增海象运算符|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生
14.13_Python_3.7_新增数据类dataclass装饰器|Pythonic与Python杂记|Python3.8入门
14.1_导言|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
14.5_iterator与generator|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬
14.10_论编程能力|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
14.9_装饰器的副作用|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
14.12_f关键字做字符串拼接|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
14.4_字典如何编写列表推导式|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
14.7_对象存在并不一定是True|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原生爬虫实战完全
第十四章“Pythonic与Python杂记”则探讨Python的编程风格,如PEP8编码规范,以及一些Python特有的习惯用法和小技巧,提升你的编程素养。 通过这个全面的Python3入门视频教程,你将掌握从基础到高级的Python编程...
14.8___len__与__bool__内置方法|Pythonic与Python杂记|Python3.8入门_&_进阶_&_原
14. **Pythonic与Python杂记**:探讨Python编程的最佳实践,例如PEP8编码规范,以及Python社区的一些习惯用法和库的使用技巧。 视频教程结合源代码学习,能帮助学习者更好地理解和应用所学知识,逐步成为一名熟练的...
在Python中,我们可以利用OpenCV库来处理图像和视频,包括调用摄像头、捕获视频帧、进行图像处理以及进行机器学习相关的图像识别任务。 【Python OpenCV调用摄像头】 在Python中使用OpenCV调用摄像头,首先需要...
### 第14章 Pythonic与Python杂记 最后,这一章节会总结一些实用的小技巧和最佳实践,比如列表推导式、字典推导式等。同时也会分享一些关于Python语言本身的趣闻轶事,增加学习乐趣。 综上所述,这门课程覆盖了从...
### 第14章 Pythonic与Python杂记 - **课程目标**:提高Python编程水平的小技巧与最佳实践。 - **核心知识点**: - Pythonic编程风格 - 常见问题解答 - 提高效率的编程技巧 - 实用工具与库的推荐 通过以上详细...
- Python杂记:学习过程中的笔记和心得。 2. **原生爬虫实战**: - 使用Python标准库实现网页抓取。 - 数据解析:使用BeautifulSoup、lxml等工具。 - 数据存储:CSV、JSON、数据库等。 通过以上知识点的学习,...
通过分析和理解这个五子棋游戏的源码,不仅可以提升Python编程技能,还能了解到游戏开发的基本流程,对AI策略和图形界面设计有初步认识,对于想要从事游戏开发或软件工程的学生来说,这是一个很好的学习资源。