您的位置:首页 > 编程语言 > Python开发

人工智能之Python03 数字(Number)与字符串(str)

2018-02-06 09:37 471 查看
前篇介绍了选择python的必要条件以及怎么去获得并开始使用python,接下来讲解python最基本也是最常用的语法-字符串。

数字(Number)

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

对象在被赋值时被创建,可以使用del方法删除对象,释放内存空间

a = 1
b = 2
print("a=%d,b=%d" % (a,b))
del(a)
del(b)
print("a=%d,b=%d" % (a,b))
# 第二个print会报错,表示变量对象a,b已经被删除,无法输出




Python 支持三种不同的数值类型:

整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 - Python2 的 Long 类型。

浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

数学函数

函数返回值 ( 描述 )
abs(x)返回数字的绝对值,如abs(-10) 返回 10
ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y)如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃 。使用 使用 (x>y)-(x
exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…)返回给定参数的最大值,参数可以为序列。
min(x1, x2,…)返回给定参数的最小值,参数可以为序列。
modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)x**y 运算后的值。
round(x [,n])返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)返回数字x的平方根

随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

函数描述
choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step])从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
random()随机生成下一个实数,它在[0,1)范围内。
seed([x])改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)将序列的所有元素随机排序
uniform(x, y)随机生成下一个实数,它在[x,y]范围内。

三角函数

Python包括以下三角函数:

函数描述
acos(x)返回x的反余弦弧度值。
asin(x)返回x的反正弦弧度值。
atan(x)返回x的反正切弧度值。
atan2(y, x)返回给定的 X 及 Y 坐标值的反正切值。
cos(x)返回x的弧度的余弦值。
hypot(x, y)返回欧几里德范数 sqrt(x*x + y*y)。
sin(x)返回的x弧度的正弦值。
tan(x)返回x弧度的正切值。
degrees(x)将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)将角度转换为弧度

数学常量

常量描述
pi数学常量 pi(圆周率,一般以π来表示)
e数学常量 e,e即自然常数(自然常数)。

变量

当把一个值赋给一个变量时,它会存在内存中,把这块内存成为变量。在大多数的语言中,都把这种行为称为“给变量赋值”或“把值存储再变量中”。

不过,python与其他语言稍有不同,它并不把值存储在变量中,而更像是把名字“贴”在值的上边。所以有些Python程序员会说Python没有变量,只有名字。变量就是一个名字,通过这个名字,可以找到我们想要的东西。

x=1
y=2
z=x+y
print(z)




变量注意点:

在使用变量之前必须对其先赋值

变量名可以包涵字母、下划线、数字,但变量名不可以数字开头

字母可以是大写或者是小写,但大小写是不同的

等号(=)是赋值的意思,左边是名字,右边是值,不可写反了。

变量的命名理论上可以取任何合法的名字,但作为一个优秀的程序员,请尽量给变量取一个专业一点儿的名字。

开胃菜

试想 print(10+10) 跟 print(‘10’+’10’) 是否一样?为什么?



看一下下面一个神奇的现象:



打印的结果并不是我们预期的,原因是反斜杠(\)和后边的(n)结合之后构成了换行符(\n),但是反斜杠也可以被转义,如下



长字符串

为了方便长字符串的输出,python针对这种场景特别提供了三重引号(“”“内容”“”)解决这种问题。

print("""
满江红-岳飞
怒发冲冠,凭栏处、潇潇雨歇。
抬望眼,仰天长啸,壮怀激烈。
三十功名尘与土,八千里路云和月。
莫等闲、白了少年头,空悲切!
靖康耻,犹未雪。
臣子恨,何时灭!
驾长车,踏破贺兰山缺。
壮志饥餐胡虏肉,笑谈渴饮匈奴血。
待从头、收拾旧山河,朝天阙。
""")
# 此处有掌声


这样的书写方式好过逐行添加换行符,java暂未提供此情景解决方案
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 人工智能