1.python的字符串中format函数用法
format 函数可以接受不限个参数,位置可以不按顺序。
In [2]:
"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
Out[2]:
In [3]:
"{0} {1}".format("hello", "world") # 设置指定位置
Out[3]:
In [4]:
"{1} {0} {1}".format("hello", "world") # 设置指定位置
Out[4]:
也可以设置参数:
In [5]:
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
In [6]:
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
In [7]:
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
In [8]:
class AssignValue(object):
def __init__(self, value):
self.value = value
my_value = AssignValue(6)
print('value 为: {0.value}'.format(my_value)) # "0" 是可选的
2.数字格式化下表展示了 format() 格式化数字的多种方法:
In [9]:
print("{:.2f}".format(3.1415926)) # 保留小数点后两位
3.输出当前计算机系统的日期和时间
In [13]:
from datetime import datetime # 引用datetime 库
now = datetime.now() # 获得当前日期和时间信息
print(now)
In [14]:
now.strftime("%x") # 输出其中的日期部分
Out[14]:
In [15]:
now.strftime("%X") # 输出其中的时间部分
Out[15]:
In [17]:
now.strftime("%Y-%m-%d")
Out[17]:
In [18]:
import time
print('{}BiasedMF312and4414_rt.txt'.format(time.strftime("%Y-%m-%d")))
4.九九乘法表
In [26]:
for i in range(1, 10):
for j in range(1, i + 1):
print("{}*{}={:2}".format(j, i, j * i), end=' ')
print('')
5.猴子吃桃问题:
猴子第一天摘下若干个桃子,吃了一半多一个,以后每天都吃剩下的一半多一个,第五天只剩下一个桃子,问猴子第一天共摘了多少个桃子?
In [32]:
n = 1
for i in range(5, 0, -1):
n = (n + 1) << 1 # 相当于乘以2
print(n)
6.利用格式化输出和时间延迟实现文本进度条
In [14]:
import time
scale = 10
print("{0:-^30}".format("执行开始"))
for i in range(scale + 1):
a, b = '**' * i, '**' * (scale - i)
c = (i / scale) * 100
print("%{:^3.0f}[{}->{}]".format(c, a, b))
time.sleep(0.1)
print("{0:-^30}".format("执行结束"))
7.lamda函数——<函数名> = lamda <参数列表>:<表达式>
In [15]:
f = lambda x,y : x+y
f(10,12)
Out[15]:
In [16]:
f2 = lambda a, b, c: a * b + c
f2(1,2,3)
Out[16]:
8.递归:字符串反转
In [23]:
def reverse(s):
if s == "":
return s
else:
return reverse(s[1:]) + s[0]
In [24]:
str = "你好我好大家好"
reverse(str)
Out[24]: