欢迎光临散文网 会员登陆 & 注册

小白自学笔记之Python入门-第三章 内置函数 & 算法-1

2023-06-30 08:50 作者:wangyanhpa  | 我要投稿

学习完了数据类型、变量名和基本运算符,我们再来看看Python自带的一些数学函数、字符函数、格式函数和输入输出函数,下面只是列出一些常用的内置函数22个,按照字母顺序排列。

表 常用的内置函数

看完了?回去再认真看2遍!

看完3遍了?ok,但是光看怎么行呢,一定要上机练习啊!所有的函数都练习三次,而且是各种不同形式的,然后才能继续往下看!

input()、format()和print()练习写的是啥?估计就是贼简单的类似print("俺叫魏淑芬、女、29岁、至今未婚!")。还是重点学习一下吧!

input() 接受一个标准输入数据,返回为 string 类型,返回为 string,返回string,string,字符串。

a = input("input:")

print(type(a))

input:123

<class 'str'>

但是如何实现输入数值呢?别说不会,好好想一想,前面表格了已经介绍过相关函数了,看了三遍还不记得,跟记忆时间只有7秒钟的鱼比赛dementia呢(为了帮助你学习英语单词,提高记忆力,这个单词的意思是痴呆,音标[dɪˈmenʃə],both American accent and British accent is the same.)?回去再看看内置函数表没准就有思路了。

考虑我们想编程实现输入两个整数,输出他们的四则运算(这个应该知道是加减乘除吧)结果。写代码吧,至少可以写出下面的。

a=input("a:")

b=input("b:")

print(a+b)

print(a-b)

print(a*b)

print(a/b)

运行程序试一下,结果为:

a:3

b:4

Traceback (most recent call last):

  File "F:/教学/2019秋/Python code/Test.py", line 4, in <module>

    print(a-b)

TypeError: unsupported operand type(s) for -: 'str' and 'str'

34

Process finished with exit code 1

这是什么鬼?

输入3和4,都是string 类型,字符串的“3”和字符串的“4”加“+”在一起是“34”。因为+对字符串来说是连接的意思。但是字符串没有“-”操作,所以后面print(a-b)会提示TypeError: unsupported operand type(s) for -: 'str' and 'str',表示类型错误,对于字符串来说不支持“-”运算。所以后面有Process finished with exit code 1表示程序代码错误(code 0的意思是运行成功)。然后咋办呢?

“-”运算符要求是数值,而input得到的是字符串,那就字符串转换数值呗,前面哪个函数能实现这个功能呢?int、float都可以啊,还有一个eval也行!但是一般来讲,数值不一定就是整数,所以我们用后面两个,改吧!

a=float(input("a:"))

b=float(input("b:"))

print(a+b)

print(a-b)

print(a*b)

print(a/b)

 运行程序结果为:

a:3

b:4

7.0

-1.0

12.0

0.75

 Process finished with exit code 0

噢耶,成功! ,起来跑两圈庆祝一下!

不过说实在的,我一直以为这个图是粽子呢(话说今天真是端午节呢。Believe it or not,现在时刻2020年6月25日星期四10时50分1秒),这就是吃货的脑洞!

format()

语法:format(value, format),其中value为任何格式的值,format是格式串,说明如下。

'<' - 左对齐结果(在可用空间内)

'>' - 右对齐结果(在可用空间内)

'^' - 居中对齐结果(在可用空间内)

'=' - 将符号置于最左侧

'+' - 使用加号来指示结果是正还是负

'-' - 负号仅用于负值

' ' - 在正数前使用空格

',' - 使用逗号作为千位分隔符

'_' - 使用下划线作为千位分隔符

'b' - 二进制格式

'c' - 将值转换为相应的 unicode 字符

'd' - 十进制格式

'e' - 科学格式,使用小写字母 e

'E' - 科学格式,使用大写字母 E

'f' - 定点编号格式

'F' - 定点编号格式,大写

'g' - 通用格式

'G' - 通用格式(将大写 E 用作科学计数法)

'o' - 八进制格式

'x' - 十六进制格式,小写

'X' - 十六进制格式,大写

'n' - 数字格式

'%' - 百分百格式

 

算了,估计看两眼就不看了,还是举例子吧,其它的如果以后用到再试吧。

#指定3.1415926右对齐,显示正号10位,小数部分占2位的方式(小数点占1位),

print(format(3.1415926, '>+10.2f'))

下面的代码可以直接复制,分析一下运行结果。

print("1234567890")               #显示对应第几列值,参考用

print(format(3.1415926, '>+10.2f'))   #指定3.1415926右对齐占10位,小数占2位(小数点占1位)

print(format(25, 'd'))                #10进制形式输出25  25

print(format(25, '>5x'))              #16进制形式输出25 右对齐占5位  19

print(format(25, 'o'))                #8进制形式输出25  31

print(format(25, '>8b'))              #2进制形式输出25  右对齐占8位   11001

 运行程序结果为:

1234567890

     +3.14

25

   19

31

   11001

 前面介绍的是format内置函数,还有一个字符串 format() 方法,一起讲解方便比较。

format() 方法格式化指定的值,并将其插入字符串的占位符内。占位符使用大括号 {} 定义,占位符 可以使用命名索引 {price}、编号索引{0}、甚至空的占位符 {} 来标识占位符。举例如下:

#named indexes:

txt1 = "My name is {fname}, I'm {age}".format(fname = "AJ", age = 9)

#numbered indexes:

txt2 = "My name is {0}, I'm {1}".format("AJ",8)

#empty placeholders:

txt3 = "My name is {}, I'm {}".format("AJ",7)

print(txt1)

print(txt2)

print(txt3)

 运行程序结果为:

My name is AJ, I'm 9

My name is AJ, I'm 8

My name is AJ, I'm 7

 

print()用于打印输出,直接上例子。

print("aaa""bbb")

print("aaa","bbb")

print("aaa", "bbb", sep=" ---")

print("aaa", end='this is the end')

print("bbb")

运行程序结果为:

aaabbb

aaa bbb

aaa ---bbb

aaathis is the endbbb

这是最后一个函数了,自己对照程序分析一下运行结果吧,我不想写了,因为现在是2020年端午节11时35分3秒。

To be continued. 

小白自学笔记之Python入门-第三章 内置函数 & 算法-1的评论 (共 条)

分享到微博请遵守国家法律