第三章 Python基本数据类型

文章用来记录视频学习内容

MOOC网的学习地址

3.1数字类型及操作

 ①整数类型:pow(x,y)函数,计算x^y,想算多大算多大。
  四种进制表示形式:十进制:1010,99,-217
           二进制,以0b或0B开头:0b010,-0B101
           八进制,以0o或0O开头:0o123,-0O456
           十六进制,以0x或0X开头:0x9a,-0X89
 ②浮点数类型:取值范围数量级 -10^{307}10^{308},精度数量级10^{-16}

 浮点数之间运算存在不确定尾数(10^{-16}):0.1+0.2会无限接近0.3
              0.1 + 0.2 == 0.3 为FALSE
  (如何解决:round(x,d)函数:对x四舍五入,d是小数截取位数,默认d是0)
              round(0.1 + 0.2,1) == 0.3 为TRUE

  科学计数表示:<a>e<b> 表示:a*10^b
   例:4.3e-3值为0.0043
 ③复数:a+bja为实部,b为虚部。
  例:z = 1.23e-4+5.6e+89j,用z.real获得实部,用z.imag获得虚部。
 ④数值运算操作符:x/y 除,x与y的商,10/3结果是3.3333333333333335
          x//y 整数除,x与y的整数商,10//3的结果是3
          +x 表示x本身
          -y 表示y的负值
          x**y 幂运算,x的y次幂 x^y,当y是小数,开方运算10**0.5结果\sqrt{10}

 类型间可进行混合运算,生成最宽结果。
   整数\rightarrow浮点数\rightarrow复数
 例:123+4.0 = 127.0(整数+浮点数=浮点数)

 ⑤数值运算函数:abs(x):x的绝对值
         divmod(x,y):商余,(x//y,x%y),同时输出商和余。divmod(10,3)结果为(3,1)
         pow(x,y[,z]):幂余,(x**y)%z,[..]表示参数z可省略。
         max(x1,..,xn):最大值,返回x_1 \cdots x_n的最大值。
         min(x1,..,xn):最小值,返回x_1 \cdots x_n的最小值。
         int(x):将x变成整数。例:int(123.45)结果是123,int("123")结果是123
         float(x):将x变成浮点数。例:float(12)结果是12.0,float("1.23")结果是1.23
         complex(x):将x变成复数。例:complex(4)结果是4+0j

3.2天天向上实例

 自定义函数:def <函数名> (参数):
 循环:while __:

3.3字符串类型

 ①表示:由一对单引号或双引号表示,仅表示单行字符串。例:"请输入温度:"或'C'
     由一对三单引号或三双引号表示,可表示多行字符串。

           例子:'''python
                                                   语言'''

  如果希望在字符串中包含双引号或单引号:'双引号表示:(")',"单引号表示:(')"
  如果希望在字符串中包含双引号和单引号:'''单引号(')和双引号(")'''

  使用:-索引:返回单个字符 <字符串>[M]
     -切片:返回一段字符串 <字符串>[M:N](从M开始不到N,[0,-1]从0开始不到最后一个)。
     -高级切片:根据步长K对字符串切片 <字符串>[M:N:K] 例:"〇一二三四五六七八九十"[1:8:2]结果是"一三五七""〇一二三四五六七八九十"[::-1]结果是"十九八七六五四三二一〇"

字符串的序号

  转义符\:转义符表达特定字符本意 例:"双引号(\")"结果为双引号(")
       "\b"表示回退,"\n"表示换行,"\r"表示回车
  如果在字符串前面加上r,例如print(r"a+b\n")所输出的内容就是a+b\n,因为r\n换行的作用取消掉了

 ②操作符:x+y:连接两个字符串x和y
      n*xx*n:复制n次字符串x
      x in s:如果x是s的子串,返回True,否则返回False
 ③处理函数:len(x):返回字符串x的长度
       str(x):任何类型x所对应的字符串形式
       hex(x)或oct(x):整数x的16进制或8进制小写形式字符串 例:hex(425)结果是"0x1a9"oct(425)结果是"0o651"
       chr(u):u为Unicode编码,返回其对应的字符
       ord(x):x为字符,返回其对应的Unicode编码

  Python字符串中每个字符都是Unicode编码字符
  从0到1114111(0x10FFFF)空间,每个编码对应一个字符

 ④处理方法:str.lower()或str.upper():返回字符串的副本,全部字符小写或大写 例:"AbCdEfGh".lower()结果为"abcdefgh"
       str.split(sep=None):返回一个列表,由str根据sep被分隔的部分组成 例:"A,B,C".split(",")结果为['A','B','C']
       str.count(sub):返回子串sub在str中出现的次数 例:"an apple day".count("a")结果为4
       str.replace(old,new):返回所有old子串被替换成new的字符串str的副本 例:"python".replace("n","n123.io")结果为"python123.io"
       str.center(width[,fillchar]):字符串str根据宽度width居中,fillchar可选 例:"python.center(20,"=")"结果为'=======python======='
       str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符 例:"= python =".strip(" =np")结果为"ytho"
       str.join(iter):在iter变量除最后元素外每个元素后增加一个str 例:",".join("12345")结果为"1,2,3,4,5" #主要用于字符串分隔等
 ⑤格式化:字符串格式化使用.format()方法:<模板方法>.format(<逗号分割的参数>)

槽的默认顺序

槽的指定顺序

槽内部对格式化的配置方式

例1:"{0:=^20}".format("PYTHON")
     #'=======PYTHON======='
例2:"{0:*>20}".format("BIT")
    #'*****************BIT'
例3:"{:10}".format("BIT")
   #'BIT       '
例4:"{0:,.2f}".format(12345.6789)
   #'12,345.68'
例5:"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)
  #'110101,∑,425,651,1a9,1A9'
例6:"{0:e},{0:E},{0:f},{0:%}".format(3.14)
  #'3.140000e+00,3.140000E+00,3.140000,314.000000%'

3.4time库

 ①介绍:需要引入库:import time
     调用方法:time.<b>()
 ②时间获取:time():获得当前的时间戳,即计算机内部时间值,浮点数 例:time.time()结果为1516939876.6022282
       ctime():获得当前时间并以易读方式表示,返回字符串 例:time.ctime()结果为Fri Jan 26 12:11:16 2018
       gmtime():获得当前时间,表示为计算机可处理的时间格式
 ③时间格式化:strftime(tpl,ts),tpl是格式化模板字符串,用来定义输出结果。ts是计算机内部时间类型变量。
        strptime(str,tpl),str是字符串形式的时间值。tpl是格式化模板字符串,用来定义输出效果。

例1:t = time.gmtime()
     time.strftime("%Y-%m-%d %H-%M-%S",t)
     #'2018-01-26 12:55:20'
例2:timestr = '2018-01-26 12:55:20'
     time.strptime(timestr,"%Y-%m-%d %H-%M-%S")
    #内部时间

格式化控制符

 ④程序计时应用:perf_counter():返回一个CPU级别的精确时间,单位为秒。由于这个计数值起点不确定,连续调用差值才有意义。

例:start = time.perf_counter()
   #开始时间:318.66599499718114
    end = time.perf_counter()
   #结束时间:341.3905185375658
    end-start
   #差值时间(结束时间-开始时间):22.724523540384666

   sleep(s):s拟休眠时间,单位是秒,可以是浮点数。

例:def wait():
        time.sleep(3.3)

    wait()  #程序将等待3.3秒后在退出去

3.5实例四:文本进度条

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容