四舍六入五成偶 不是四舍五入
什么是五成偶?
五成偶的意思是,当下一个数字是偶数的时候实行四舍五入,当下一个数字是奇数的时候四舍六入
>>> print(round(5.1))
5
>>> print(round(5.5))
6
>>> print(round(4.5))
4
取绝对值
在python中自带了一个math的类,我们可以使用这个类来调用很多的计算方法。
import math #调用math类
ceil是用来向上取整用的
floor和ceil相反,是向下取整用的
pow是用来计算x的y次方 (x,y)
>>> print(pow(4,4))
256
bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。
>>> print(bool(3 > 2))
True
>>> print(bool(3 == 9/3))
True
>>> print(bool(3 > 9/3))
False
>>> print(bool(""))
False
bool只是用来判断指定的值是否为真,也就是说只要数字不是0就为真
对于字符串、列表、元组、字典而言,只要非空它就是True
None永远表示False
字符串是python中最常用的数据类型之一
字符串是不可变的序列数据类型
定义字符串
s1 = "hello world"
s2 = ‘hello world‘
s3 = "{‘name‘:‘age‘}"
那么如果我们现在想要换行怎么办呢
我们可以使用"\n"来换行,也可以通过三个 双/单 引号来保留原本字符串的格式:
>>> s4 = """hello
... world"""
>>> print(s4)
hello
world
整型在内存中占一个字节,字符串不管中间有多少内容都要单独存储,而且是有序排列存储
在上述的存储方式中提到,字符串都是有序排列存储的。第一个字节的索引为0,第二个索引为1,第三个为2,一次排序。在字符串中空格也占一个字节。
>>> juzi = "hello python"
>>> juzi[0]
‘h‘
>>> juzi[1]
‘e‘
>>> juzi[-1]
‘n‘
len方法可以获取字符串的长度
>>> juzi[len(juzi)-1]
‘n‘
那么我们执行以下代码的时候能够更改指定的字符串吗
>>> juzi[2] = "1"
答案是不能的,因为字符串是不可变的序列数据类型
在python中可以用切片的方法来指定多个字节。
>>> juzi[6:12]
‘python‘
注意这个范围是左闭右开结构的
也就是说包含7-12字节的东西
同时如果冒号后面不写数字那就是默认取到最后面
如果冒号前后都不写,那就是取全部的值
>>> juzi[::2]
‘hlopto‘
>>> juzi[::-1]
‘nohtyp olleh‘
int()将10进制字符串整数转为整数
str()将整数转换为字符串
>>> name = "jerry"
>>> age = 19
>>> print("%s年龄是%d"%(name,age))
jerry年龄是19
>>> print("{}年龄是{}".format(name,age))
jerry年龄是19
>>> print("{}年龄是{}".format(age,name))
19年龄是jerry
>>> print("{1}年龄是{0}".format(age,name))
jerry年龄是19
从上面的内容中,我们可以知道。可以使用%来占位,也可以使用{}表示索引。
如果format前面的花括号中没有指定索引,那就默认为0,1,2,3,......
还有一种更方便的写法,但是只适合python3.6以上的版本
>>> print(f‘{name}的年龄是{age}‘)
jerry的年龄是19
find用于在字符串中查找内容,并返回内容在字符串中的索引
>>> s1 = ‘hello Python‘
>>> print(s1.find(‘P‘))
6
>>> print(s1.find(‘l‘))
2
>>> print(s1.find(‘1‘))
-1
当查找的内容在字符串中重复出现,那他就会返还最先找到的那个的位置
当查找的内容在字符串中没有找到,那他就会返还-1
和find的功能差不多,但是是从右边开始查找内容
和find的功能一样,但是如果查找的内容在字符串中没有找到,那他就会报错
replace就是替换的意思,但是不改变原有的数据(浅复制)
>>> print(s1.replace("Python","Human"))
hello Human
那如果要指定替换的次数呢
>>> s2 = "你是谁 你是谁 你是谁"
>>> print(s2.replace("你是谁","请问"))
请问 请问 请问
>>> print(s2.replace("你是谁","请问",2))
请问 请问 你是谁
可以发现,我们可以在后面指定替换的次数
分割字符串
>>> print(s2.split(" "))
[‘你是谁‘, ‘你是谁‘, ‘你是谁‘]
startswith是用来判断字符串开头是否为指定的内容
>>> s3 = "Hello my bigmax"
>>> print(s3.startswith("Hello"))
True
>>> print(s3.startswith("H"))
True
>>> print(s3.startswith("h"))
False
endswith是用来判断字符串最后是否为指定的内容
非常的常用,可以用来判断文件的类型(.exe .jpg)
将字符串全部转为大写
将字符串全部转为小写
用来去字符串头尾的空格不可以去掉字符串中间的空格
判断字符串是否是全字母
判断字符串是否全部是数字
判断是否是全数字或字母
将序列中的元素以指定的字符连接生成一个新的字符串
>>> li = [‘1‘,‘2‘,‘3‘,‘4‘]
>>> s = ‘‘.join(li)
>>> print(s)
1234
>>> ss = "hello"
>>> ss1 = ‘ ‘.join(ss)
>>> print(ss1)
h e l l o
join参数只能传入可迭代的对象,数字类型不是可迭代的对象
原文:https://blog.51cto.com/14784139/2668722