python课程设计笔记(四)整数、浮点数与字符串 time库

整数类型(范围无限制)

  十进制1 -1

  二进制0b1 -0b1

  八进制0o1 -0o1

  十六进制0x1 -0x1

浮点类型(范围有限制但可忽略)

  运算存在不确定尾数 :0.1+0.2!=0.3

    原因:二进制表示小数可以无限接近但不能完全相同,转换过程中产生不确定小数

    如何避免:浮点数键运算及比较用round()函数进行辅助 round(x, d)#对x进行四舍五入,d是截取小数位数

  浮点数的科学计数法表示 <a>e<b>  # a*10^b

数值运算操作符

  10/3 = 3.3333

  10//3 = 3

  x**y      #x^y

  类型间的混合运算:生成结果最宽类型  复数>浮点数>整数 123

  

数值运算函数

  绝对值 abs()

  商余 divmod(x,y) 输出(商,余数)

  幂余 pow(x,y[, z])输出 ( x**y)%z 求x**y的最后几位

  四舍五入 round(x [ , d])  x保留d位小数,默认d为0

  最大最小值 max/min(x1,x2,x3,..) 

  强制转换  int(小数、字符串) 直接舍弃小数

        float(整数、字符串) 为整数加上小数部分

字符串类型

  表示方法:

  1)一对单引号、一对双引号,仅表示单行字符串

  2)一对三单引号、或三双引号,表示多行字符串

  字符串的序号两种序号在一个字符串中同时存在):正向递增 反向递减(最后一个-1,向左为-2,-3,、、)

  字符串的索引和切片

    索引  "你好啊"【0】 或str【0】

    切片(slice) (copyright: https://www.cnblogs.com/cedrelaliu/p/6004352.html)

      切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。起始偏移量start、终止偏移量end 、可选的步长step 定义一个分片。

        格式: [start:end:step] 

    •    [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
    •    [start:] 从start 提取到结尾
    •    [:end] 从开头提取到end - 1
    •    [start:end] 从start 提取到end - 1
    •    start:end:step] 从start 提取到end - 1,每step 个字符提取一个

     特殊:倒转字符串将字符串倒转(reverse), 通过设置步长为负数:[ : :-1]

  

  字符串运算的操作符:

      x+y:链接两个字符串

      n*x或x*n:复制n次字符串x

      x in s:x是否为s的子串,返回true or false

  字符串处理函数

    len(x) :字符串x的长度,并且一个汉字和一个英文字母长度都为1

    str(x):字符串强制类型转换,任意类型x转换为字符串 ====与eval()相反

    hex(x) 与 oct(x) :将x转换为八进制与十六进制形式

    chr(u):x为Unicode编码,返回其对应的字符

    ord(x):x为字符,返回对应的Unicode编码 

    注:Python统一使用Unicode编码

    str.lower() str.upper()

    str.split(" ")

    str.count("a")

    str.replace(old,new)

    str.center(width[,fillchar])

    str.strip("=pn"_

    str.join("1234") str join 到 "1234‘’中

  

  字符串输出的格式化

    :“ < {  } {  } >”.format("ch1","ch2)

    槽中的格式控制参数

      

    

time库:

处理时间的标准库

  时间获取:

    time()  #获取时间戳:一个浮点数,从1970年开始的以秒为单位的时间间隔

    ctime() #获取一可读的字符串 Mon May 14 22:51:40 2018

    gmtime() #其他程序可利用的时间格式 time.struct_time(tm_year=2018, tm_mon=5, tm_mday=14, tm_hour=14, tm_min=52, tm_sec=25, tm_wday=0, tm_yday=134, tm_isdst=0)

  

  时间格式化:

    将时间以合理的方式展示出来

    strftime(tpl,ts) #tpl是输出格式模板(字符串)ts是gmtime()

      tpl中的控制符:

       %Y-->年份                %m-->月份(数字)       %B-->月份名称(日期英文)    %b-->月份名词缩写(英文)

      %d-->日期(数字)    %A-->星期(英文)       %a-->星期(英文)                  %H-->小时(24h制) 

      %p-->上/下午             %M-->分钟                    %S-->秒                                   %h-->小时(12h制)

  程序计时:

    测量时间 perf_counter() #返回CPU级别的精确时间计数值,单位为秒,差值有意义

    休眠时间 time.sleep(time) #停滞t秒

实例: 

文本进度条的生成

import time

print("---执行开始---")
scale = 10
start = time.perf_counter()

for i in range(scale+1):
    du = time.perf_counter()-start
    a='*'*i
    b="."*(scale-i)
    c=(i/scale)*100
    print("
{:>3.0f}%[{}->{}]{:.2f}s".format(c,a,b,du),end=" ")
    time.sleep(0.32)

控制print函数

光标退回当前行行首

print(< 字符串 >,end="打印结束字符“>

注意,在idle为了显示完整信息自动屏蔽 , py文件要在命令行中运行

  

  

原文地址:https://www.cnblogs.com/luiyuying/p/9038228.html