1.python 的整型
编程过程中,经常会要和一些数字打交道,最多有时候求一下他们的绝对值,如下所示:
a = 100
b = -20
print (a)
print (b.__abs__()) ##这种以下划线开头的很少用
print (abs(a) + abs(b)) ##这种函数形式经常用
而在我们获得变量的时候,特别是×××和字符串之间,最容易发生字符串和整型变量之间类型转化的问题
整型在运算的时候,经常会遇到小数点精度的问题,比如:a = 1/2,那 a 等于多少呢?0.5 吗?
不对,a = 0,python的选择是去一法,不管小数点后面是什么,全部舍弃
如果想要保留小数点后面几位,就涉及到浮点数。
2. python 的浮点型
round()内置方法
用round(float)只包含数字的时候,默认保留1位小数,采用四舍五入的方式。
举例:
round(2.5)
3.0
round(1.5)
2.0
当 round(float,ndigits),包含数字和精度的时候,float代表数字,ndigits代表需要保留的精度。
一般情况也是四舍五入,但是碰到 .5 这种情况的时候,如果要取舍的位数前的小数是偶数,
则直接舍弃,如果是奇数,则向上进一。
总的来说,小数点精度最后一位只能是偶数。
举例:
roude(2.555, 2) #奇数
2.56
roude(2.545, 2) #偶数
2.54
6和4 都是小数点精度最后一位,都是偶数。
总结:先进行四舍五入的运算,如果小数点精度的最后一位是偶数,符合条件;
如果小数点精度的最后一位四舍五入完以后为奇数,则舍弃原小数点精度以后的所有数字,
及保证小数点精度的最后一位必须为偶数。
3.python 的布尔型
布尔型就两个值,一个是False,一个是True
一般在赋值的时候,是一个最终判断的一个返回值,然后再拿这个值进行操作。
4.python 字符串
字符串是我们经常用到的,我们用 ' '," ",""" """,都可以定义字符串,
但是最终(print)输出的结果都默认为 ' '(单引号)的字符串。[python默认]
所以,最规范的方法是定义字符串的时候用' '(单引号)
对于字符串,有很多操作字符串的方法
a = 'sssss'
print (dir(a))
函数 dir() 就是用来查看python数据类型都有哪些方法,打印出来很多方法,但我们
只用最常用的方法,以后用到其他的方法,我们可以再通过这个方法查询。
字符串最常用的方法
字符串默认是有下标的,默认从[0]开始,如下所示:
s = 'hello'
print (s[0], s[1], s[2])
find 方法:
查找字符串,如果找到返回字符串首字母匹配的下标信息,如果不匹配,则返回-1
举例:
a = 'asdf1234ccasdfasdffkjlaklsjljlksjf'
print (a.find('1234'))
得到4,4是字符串'1'的下标
如果不存在呢?
print (a.find('q1234'))
得到 -1
补充:find 里还有rfind方法,从右侧开始查找
replace 方法:
a = 'asdf1234ccasdfasdffkjlaklsjljlksjf'
print (a.replace('1234', '4321'))
得到:'asdf4321ccasdfasdffkjlaklsjljlksjf'
split 方法:
a = 'asdf1234ccasdfasdffkjlaklsjljlksjf'
print (a.split('d'))
将字符串,以字符串'a'为分隔符,切割成列表。
['as', 'f1234ccas', 'fas', 'ffkjlaklsjljlksjf']
join 方法:
将上例生成的列表用'hello'连接
c = ['as', 'f1234ccas', 'fas', 'ffkjlaklsjljlksjf']
print ('hello' .join(c))
得到 : 'ashellof1234ccashellofashelloffkjlaklsjljlksjf'
strip 方法:
b = ' asdf kjhgfd weryui mnbvc '
(左右两边有空格,这个情况工作中经常会遇到,需要去掉两头空格后,在提取字符串的情况)
想要把左边的空格去掉
print (b.strip())
得到 'asdf kjhgfd weryui mnbvc'
另外:
print (b.lstrip()) 去掉字符串最左边的空格
print (b.rstrip()) 去掉字符串最右边的空格
这样更能使编写代码更规范,如果不需要空格,我会把字符串取出来,把空格移除
养成习惯,以后会避免很多问题。
format 方法:
name = 'lounan'
print ('hello' + name)
print ('hello %s' % name ) #%s代表的是字符串 %d 代表××× %f 代表浮点型
print ('hello {0}'.format(name))
以上三种执行起来,format方法 的执行效率是最高的
多个变量,使用format方法
变量:
name = 'lounan'
age = '20'
输出样式1:
print ('hello {0}, my age is:{1}'.format(name, age))
输出样式2:
print ('hello {name}, my age is:{age}'.format(name = 'along', age = '30')) ##更换了原变量的值
5. 字符串的注释:
在python中用 # 注释,#号后面的内容都会被解释器忽略
一般都会在 "预设头文字" 后面添加(""" """)字符串来解释项目或者文件作用或解释说明等。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2017/10/21 7:52
# @Author : nan
# @File : aa.py
"""This is test file!"""
# test file