当前位置:小鱼儿玄机二站 > 编程应用 > Python学习之路,基础学习

Python学习之路,基础学习

文章作者:编程应用 上传时间:2019-09-03

Python学习之路—Day1,python之路day1

随之大王学Python-基础学习(Day1),python-day1

Ctry

 

如此多年来一贯有妄想整治二个和谐的博客,从WordPress、51Cto、blog163等等这几个未有一个自己百折不回写下去的,反思其结果总有如此大概那样的片段假说来张开本人辩白,其实本身内心深处是驾驭最原始的标题。今天是自身学习Python的首后天,正如军长所说的写好三个blog可以让许五个人领略您,关心你。为了贯彻这一目的,笔者又开端了本人的blog生涯~,笔者盼望那是本人最终报名的一个博客,作者要用它来记录自身的成年人之路,同时也给协调贰个告诫。指标是须要下马看花一步一步去走过,实际不是考虑就会兑现的。~开源的心相当重视~ ~分享也非常重大~ ~理念更首要~  Come On 

第1章 Python语言简要介绍

1. Python2.x和Python3.x的最主要差别表达 (化繁为简)

1.1 Python是什么

  Python(United Kingdom失声:/ˈpaɪθən/ United States发音:/ˈpaɪθɑːn)是什么样吧?一句话来讲,它是一种计算机编制程序语言及一组配套的软件工具和库。是一种面向对象、解释型计算机程序设计语言,由吉多van 罗斯尔um于1989年表达,第三个公开采用实行版发行于一九九二年[1]

  Python是纯粹的自由软件, 源代码和平解决释器CPython听从 GPL(GNU General Public License)协议  。

  Python语法简洁清晰,特色之一是挟持用空白符(white space)作为言语缩进。

  Python拥有丰硕和强硬的库。它常被别名为胶水语言,能够把用其余语言营造的各类模块(特别是C/C++)很自在地联合在一道。常见的一种接纳意况是,使用Python快速转移程序的原型(不经常照旧是前后相继的末尾分界面),然后对中间有特地须求的有的,用更确切的言语改写,举例3D游戏中的图形渲染模块,质量供给特别高,就能够用C/C++重写,而后封装为Python能够调用的扩展类库。要求留神的是在你使用扩充类库时可能需求思索平台难点,有个别大概不提供跨平台的兑现。

Print函数

Py第22中学的print语句被Py3中的print()函数替代,也正是Py3中必需用括号来将急需输出的对象括起来。

其它在Py第22中学应用额外的括号来调用也是能够的,但转头在Py3中想以Py2的花样不带括号调用print函数时,会触发SyntaxError。

图片 1 1 >>> from platform import python_version 2 >>> print "This is Old Version", python_version() 3 This is Old Version 2.7.10 4 >>> print "Hello, World!" 5 Hello, World! 6 >>> print ("Hello, World!") 7 Hello, World! 8 >>> print ('Hello, World!') 9 Hello, World! 10 >>> print (2,3) 11 (2, 3) 12 13 >>> from platform import python_version 14 >>> print("This is Version", python_version()) 15 This is Version 3.5.1 16 >>> print('Hello, World!') 17 Hello, World! 18 19 # 自定义项目里面相隔符 20 >>> print("There are <", 2**32, "> possibilities!", sep="") 21 There are <4294967296> possibilities! 22 23 # 追加新行 24 >>> print(x) 25 Hello, World! 26 >>> print(x, end=" ") 27 >>> print(x) 28 Hello, World! Hello, World! 29 >>> print(2,3) 30 2 3 31 >>> print((2,3)) 32 (2, 3) 猛戳它

1.2 Python应用 

  Python作为一种成效庞大且通用的编制程序语言而广受好评,它有着十鲜明晰的语法特点,适用于多种操作系统,近来在国际上至非常火,正在得到更增加的应用。

 

  Web程序:Django、Pyramid、bottle、tornado、Flask、web2py

  GUI应用:wxPython、tklnter、PyGtk、PyGobject、PyQt

  科学生运动算:SciPy、Pandas、IPthon

  软件发展:Buildbot、Trac、Roundup

  系统处理:Ansible、Salt、OpenStack

 

Unicode

Py2有依附ASCII的str()类型,能够透过单独的Unicode()函数转变unicode类型,但从不byte类型。

而在Py3中,终于有了Unicode(utf-8)字符串,以及五个字节类:bytes和bytearrays

图片 2 1 # -*- coding:utf-8 -*- 2 >>> from platform import python_version 3 >>> print "This is Old Version", python_version() 4 This is Old Version 2.7.10 5 >>> print "您好,世界!" 6 7 >>> from platform import python_version 8 >>> print("This is Version", python_version()) 9 This is Version 3.5.1 10 >>> print("您好,世界!") 11 您好,世界! 猛戳它

第2章 Python安装 

卡尺头除法

图片 31 print '3 / 2 =', 3 / 2 2 3 / 2 = 1 3 4 print('3 / 2 =', 3 / 2) 5 3 / 2 = 1.5 猛戳它

2.1 Windows情形设置

(1)在官网 下载你所要求的本子

(2)依据你的操作系统,单机安装相应的安装程序链接(笔者那选用X86-64的)

 

图片 4

(3)下载达成后,双击以运维它

(4)安装到位后为搭建情形变量,把Python的装置目录增多到PATH系统变量中就能够

自家的微型Computer-->属性-->

图片 5

(5)测量检验Python是不是安装成功,如图所示呈现安装成功

图片 6

(6)测量检验大家的首先条主次

图片 7

input()剖判客商的输入

Py3革新了input()函数,那样该函数就能再而三将客户的输入存款和储蓄为str对象。在Py第22中学,为制止读取非字符串类型会时有发生的一对人命关天作为,不得不采用raw_input()来代替input()。

图片 8 1 >>> from platform import python_version 2 >>> print "This is Old Version", python_version() 3 This is Old Version 2.7.10 4 5 >>> lucky_number = input('Please Input Your Lucky Number: ') 6 Please Input Your Lucky Number: 4710 7 8 >>> type(lucky_number) 9 <type 'int'> 10 11 >>> lucky_number = raw_input('Please Input Your Lucky Number: ') 12 Please Input Your Lucky Number: 3289 13 14 >>> type(lucky_number) 15 <type 'str'> 16 17 >>> from platform import python_version 18 >>> print("This is Version", python_version()) 19 This is Version 3.5.1 20 21 >>> lucky_number = input('Please Input Your Lucky Number: ') 22 Please Input Your Lucky Number: 3289 23 24 >>> type(lucky_number) 25 <type 'str'> 猛戳它

2.2 Linux景况设置

(1)在官方网站下载Python-2.7.11.tgz

(2)编写翻译安装

  tar  zxf  Python-2.7.11.tgz  解压下载的文件

  cd  Python-2.7.11/   步向解压的文件中

  ./configure –prefix=/usr/local/python  是软件的组态设置文件,发生对应平台的Makefile

  make  依据Makefile的剧情,编写翻译出符合平台的可实施文件

  make install 编写翻译安装成功的软件,这一步依照需求能够采纳是不是需求root权限。默许的安装都是在装置在/usr/local/目录下,那样是索要管理员权限的

  make clean  清除编写翻译成功的obj and binary

(3)编写翻译安装到位后,将系统自带的低版本的Python替换掉,但CentOs的yum信赖Python,为了yum符合规律运作,将自带的Python备份,如下:

  mv  /usr/bin/python  /usr/bin/python-2.6.6  将自带Python备份

  ln -s /usr/local/python/bin/python  /usr/bin/python  将长存Python做个软链接

 

  /usr/bin/python-2.6.6  查看自带版本

  python  查看现存安装版本

(4)yum重视原有Python版本,将yum指向原本的Python

   vim /usr/bin/yum

  将第一行中的“#!/usr/bin/python”修改为“#!/usr/bin/python-2.6.6”

 

迭代指标回来

Py第22中学,range平日再次来到对象全体列表,而Py3中,range只回去列表的头和尾,这种艺术会节约成千上万内存,不过经过生成器来再三迭代这个指标,成效相对就不太高了。

图片 9 1 >>> from platform import python_version 2 >>> print "This is Old Version", python_version() 3 This is Old Version 2.7.10 4 5 >>> print range(3) 6 >>> print type(range(3)) 7 8 [0, 1, 2] 9 <type 'list'> 10 11 >>> print(range(3)) 12 range(0, 3) 13 >>> print(type(range(3))) 14 <class 'range'> 15 >>> print(list(range(3))) 16 [0, 1, 2] 17 18 扩张迭代 19 >>> (a, *rest, b) = range(5) 20 >>> a 21 0 22 >>> b 23 4 24 >>> rest 25 [1, 2, 3] 猛戳它

Ok,差距就介绍到这边呢,更加多不同可参见python官方网址。

第3章 变量及数据类型

2. Python3.0的使用

 3.1 变量,赋值的含义

  变量:是Computer语言中能积累总括结果的抽象概念,变量经常是可变的,变量能够通过变量名访谈,况兼还据有一定的积攒空间。

  赋值:将某一数值赋给有个别变量的经过,一般用“=”表示。

   name = “Ajen Liu” 字符串赋值须要“”

  age = 24   数字一贯赋值,可是一旦想要数字形成字符串须要“24”

 

打字与印刷一条出口

图片 101 >>> print("Python Ver: ", python_version()) 2 Python Ver: 3.5.1 3 >>> print("Hello, World!") 4 Hello, World! 5 >>> print("Hello, World!n" "I have a dream!") 6 Hello, World! 7 I have a dream! 猛戳它

3.2 变量的命名规范

  1.种类中的自带名称不能够看做变量名称,譬喻input

  2.num_of_ajen_liu = 20  一般选择

  3.NumOfAjenLiu = 20  这些也能够利用,看个人爱好,笔者觉着依然本人先决定一种格式,不然事后变来变去的,万分麻烦

  4.数字不能够初步命名(7dd 是荒谬的)

  5.!name  特殊符号无法一声令下

  6.num of ajen liu  这种也是荒唐的,变量命名不能够有空格

 

缩进

在别的的语言中大概透过{}来分别代码段的实行,那么在Python中是经过缩进来进行分层实践的,一般在同等层实行的代码段缩进间隔要求一致,不然会报错(IndentationError)缩进错误。官方提出4空格。

图片 11 1 >>> x = 1 2 >>> if x == 1: 3 ... print("x is 1.") 4 ... 5 x is 1. 6 7 >>> if x == 1: 8 ... print("x is 1.") 9 ... print("false") 10 ... 11 File "<input>", line 3 12 print("false") 13 ^ 14 IndentationError: unindent does not match any outer indentation level 15 >>> if x == 1: 16 ... print("x is 1.") 17 ... print("false") 18 ... 19 x is 1. 20 false 猛戳它

3.3 条件决断与缩进

 谈起判定就令人很轻便想到 if …else…,不过在Python中却不一样

  luck_number = 2

 guess_number = input(“Enter you number:”)

 if guess_number == luck_number:   

       print(“恭喜你,猜对了!”)   #在此地前边空格,不是为着为难,而是为了强制缩进

 elif guess_number > luck_number:

       print(“对不起,猜大了!”)

 else:

       print(“对不起,猜小了”)

  假诺你的次序中会出现IndentationError,则你的代码中出现缩进错误

 

本子试行

图片 12 1 直接动用python命令实践 2 python3.5 FirstProgram.py 3 照旧 4 chmod +x hello.py # 给脚本加上可进行权限,然后直接./hello.py,可是急需做上边包车型地铁操作,在本子初阶注解解释器。 5 6 #!/usr/bin/python 7 或者 8 #!/usr/bin/env python3.5 # 必得表明使用哪个解释器来推行此脚本 9 10 推荐第三种,在享有三个本子的Py时相比较灵活查找。 11 #cat hello.py 12 #!/usr/bin/env python3.5 13 (a, *rest, b) = range(5) 14 print(a) 15 print(rest) 16 print(b) 17 18 #./hello.py 19 [1, 2, 3] 猛戳它

3.4循环调整及次数限制(计数器)

  luck_number=1
  guess_number = int(input("输入:"))
  while True#用while True能够落实Infiniti循环,
      **
if guess_number != luck_number:
         print(
"aaa")       else:
        print(
"qqq"**)

 

  for i in range(3):   #可见范围次数

       print(“LOOP”,i) 

 

 计数器

  luck_number=1
  guess_number = int(input("输入:"))
  guess_count = 0  #在这里设定二个计数器
  while True#用while True能够完毕Infiniti循环,
       **
if guess_number != luck_number:
           guess_count += 1            
if guess_count>2: #满意条件跳出循环                break
           print("aaa")        else:
           print(
"qqq"**)  

变量

图片 13 1 评释变量 2 >>> from platform import python_version 3 >>> print("Python Ver: ",python_version()) 4 Python Ver: 3.5.1 5 >>> name = "A" 6 7 上述代码证明了叁个变量,变量名字为:name,变量name的值为:"A" 8 变量的成效:外号,即内部存款和储蓄器中的某部地点中所保存的剧情。 id() 查看内部存款和储蓄器地址 9 10 变量起名 11 1. 显式 - 简单明了 12 2. nums_of_alex_gf = 19 13 3. NumsOf亚历克斯Gf = 2 14 15 4. names-of-alex-ge = 22 不推荐 16 5. 5name = 数字不能够开首 17 6. 特殊字符无法有 18 7. 空格不可能有 19 8. 任重先生而道远字不能够宣称为变量 20 21 变量的赋值 22 如name1的值为A,name2的值为B,当name2等于name1的时候,name1的值就赋值给了name2,也正是name1和name2都同一时候将标识指到了A,今年B值未有另外去做涉嫌,那么B就能够被回收掉。 23 >>> name1 = "A" 24 >>> name2 = "B" 25 >>> 26 >>> name1 27 'A' 28 >>> name2 29 'B' 30 >>> 31 >>> name2 = name1 32 >>> name1 33 'A' 34 >>> name2 35 'A' 36 37 >>> id(name1) 38 >>> id(name2) 39 大家能够看来name1和name2在内部存款和储蓄器中所指的地址是同叁个地方。 猛戳它

 3.5 常用数据类型

  数字: int(整数型)  Float(浮点型) Long(长整型) type(0.5)能够查看类型

  字符串:字符串格式化  name = ‘liuqiang’ print(“Name:%s” %name)

       常用效应:name=raw_input(“name:”).strip() 去掉空白  strip(‘A’)去掉括号内的字符串

 

客户交互

图片 14#!/usr/bin/env python3.5 # 将顾客输入的开始和结果赋值给 name 的变量 name = input("请输入你的顾客名: ") # 打字与印刷输出的内容 print(name) 请输入你的顾客名: Ctry Ctry 小手艺: 注释代码 ''' # 将顾客输入的内容赋值给 name 的变量 name = input("请输入你的顾客名: ") # 打字与印刷输出的剧情 print(name) ''' 大概 Mac:commond+/ Win:ctrl+/ #!/usr/bin/env python3.5 # # # 将顾客输入的剧情赋值给 name 的变量 # # name = input("请输入你的客户名: ") # # # 打字与印刷输出的剧情 # # print(name) 猛戳它 图片 151 输入密码时完结不可知效果,必要动用getpass模块中的getpass方法调用,如下: 2 >>> import getpass 3 >>> pwd = getpass.getpass("Please Input Your Password:") 4 Please Input Your Password: 5 >>> print(pwd) 6 123456 猛戳它

3.6 列表

      name_list = [‘ajen’,’one’,’enlish’,’it’,’money’]

  追加:name_list.append(‘yum’)  在列表中最终一个人追加二个字符串

    name_list = [‘ajen’,’one’,’enlish’,’it’,’money’,’yum’]

  索引:name_list.idex(‘one’) 输出是1 以0为起始

          name_list[0]  输出是ajen

  统计:name_list.count(‘ajen’)  输出是1,统计ajen的个数

  插入:name_list.insert(2,’liu’)  此处2,个人驾驭是索引数2要么首个职位前面

         name_list = [‘ajen’,’one’,’liu’,’enlish’,’it’,’money’,’yum’]

  删除:name_list.pop() 删除最后二个

  删除八个重复的:for i range(name_list.count(‘liu’))

                                     name_list.remove(‘liu’)

  切片:name_list[0:2]

           Name_list[0:5:2]  隔着切

 

标准语句和缩进使用

案例一:提示客商输入客户名和密码

图片 16 1 #!/usr/bin/env python3.5 2 3 # 提醒客户输入客户名和密码 4 5 # 验证客户名和密码 6 # 假诺不当,须要打字与印刷出客商名或密码错误 7 # 假诺成功,则输出应接,某某某! 8 9 import getpass 10 11 name = input("请输入你的顾客名: ") 12 pwd = getpass.getpass("请输入你的客户名密码: ") 13 14 if name == "Ctry" and pwd == "chen": 15 print('接待您,Ctry!') 16 else: 17 print('客商名和密码错误!') 18 19 20 python3.5 if_input.py 21 请输入你的客商名: Ctry 22 请输入你的顾客名密码: 23 迎接您,Ctry! 猛戳它

案例二:提示顾客猜幸运数(遵纪守法)

图片 17 1 #!/usr/bin/env python3.5 2 3 # 猜Lucky Number,n=10 4 # 猜的数字 比10大,提示比真正数字小一些 5 # 猜的数字 比10小,提醒比真正数字大学一年级些 6 # 猜的数字 等于10,提醒Bingo 7 8 lucky_number = 10 9 input_number = int(input("Please input the guess number: ")) 10 if input_number == lucky_number: 11 print("Bingo!") 12 elif input_number > lucky_number: 13 print("the real number is smaller.") 14 else: 15 print("the real number is bigger.") 猛戳它

Q&A:找BUG,根据地点脚本的逻辑,客商无论时输入比10小或许比10大的数都会唤起完后径直退出,那样以来就显示略微不太对劲儿,上边大家来革新地点的台本,切入点(让顾客尝试数十次输入)

图片 18 1 #!/usr/bin/env python3.5 2 3 # 猜Lucky Number,n=10 4 # 猜的数字 比10大,提示比真正数字小一些 5 # 猜的数字 比10小,提示比真正数字大一些 6 # 猜的数字 等于10,提醒Bingo 7 8 lucky_number = 10 9 while True: # 利用while循环来落成 10 input_number = int(input("Please input the guess number: ")) 11 if input_number == lucky_number: 12 print("Bingo!") 13 elif input_number > lucky_number: 14 print("the real number is smaller.") 15 else: 16 print("the real number is bigger.") 猛戳它

Q&A:找BUG,依据地点脚本的逻辑,顾客无论输入的是什么样都会一直提醒输入,那么对于客户来讲,OMG那怎么鬼!上边大家来改良地点的本子,切入点(让客商输入准确时候就淡出)

图片 19 1 #!/usr/bin/env python3.5 2 3 # 猜Lucky Number,n=10 4 # 猜的数字 比10大,提醒比实际数字小一些 5 # 猜的数字 比10小,提醒比实际数字大学一年级些 6 # 猜的数字 等于10,提醒Bingo 7 8 lucky_number = 10 9 while True: 10 input_number = int(input("Please input the guess number: ")) 11 if input_number == lucky_number: 12 print("Bingo!") 13 break # 利用break来行车制动器踏板循环 14 elif input_number > lucky_number: 15 print("the real number is smaller.") 16 else: 17 print("the real number is bigger.") 猛戳它 图片 20 1 #!/usr/bin/env python3.5 2 3 # 猜Lucky Number,n=10 4 # 猜的数字 比10大,提醒比真正数字小一些 5 # 猜的数字 比10小,提示比真正数字大学一年级些 6 # 猜的数字 等于10,提示Bingo 7 8 lucky_number = 10 9 input_number = -1 10 while lucky_number != input_number: #应用设定input_number初阶值,在while时开展判别,通过在while层完毕输入准确值退出 11 input_number = int(input("Please input the guess number: ")) 12 if input_number > lucky_number: 13 print("the real number is smaller.") 14 elif input_number < lucky_number: 15 print("the real number is bigger.") 16 print("Bingo!") 猛戳它

Q&A:找BUG,遵照地方脚本的逻辑,顾客只要间接输入错误的数字,OMG依然八个死循环!上面大家来革新方面包车型大巴剧本,切入点(限制客户输入次数,达到3此后脱离并自个儿提醒,正确之后寻常退出)

图片 21 1 #!/usr/bin/env python3.5 2 3 # 猜Lucky Number,n=10 4 # 猜的数字 比10大,提示比真正数字小一些 5 # 猜的数字 比10小,提醒比真正数字大学一年级点 6 # 猜的数字 等于10,提醒Bingo 7 8 lucky_number = 10 9 guess_count = 0 # 增加计数器开端值 10 while guess_count < 3: # 计数器的数值判定 11 input_number = int(input("Please input the guess number: ")) 12 if input_number > lucky_number: 13 print("the real number is smaller.") 14 elif input_number < lucky_number: 15 print("the real number is bigger.") 16 else: 17 print("Bingo!") 18 break 19 guess_count += 1 # 计数器做累加操作 20 else: 21 print("Too Many Retrys!") 猛戳它 图片 22 1 #!/usr/bin/env python3.5 2 3 # 猜Lucky Number,n=10 4 # 猜的数字 比10大,提醒比真实数字小一些 5 # 猜的数字 比10小,提醒比真实数字大学一年级些 6 # 猜的数字 等于10,提醒Bingo 7 8 lucky_number = 10 9 10 for i in range(3): # for循环直接化解 11 input_number = int(input("Please input the guess number: ")) 12 if input_number > lucky_number: 13 print("the real number is smaller.") 14 elif input_number < lucky_number: 15 print("the real number is bigger.") 16 else: 17 print("Bingo!") 18 break 19 else: 20 print("Too Many Retrys!") 猛戳它

3.7 简单的嵌套循环

  for j in range(5):
      for i in range(10):
          if i < 5:
              print("输出:",i)
              continue  #跳出本次巡回,满足上边包车型客车推断标准,则进行continue上边的言辞,不满意条件,跳出循环,实践continue上边包车型地铁讲话           print("打印:",i)
          if j > 3:
              print("计数:",j)
              break  #跳出这一层的循环

 

数据类型

Python的为主数据类型有5种:整数(int)、浮点数(float)、字符串(string)、布尔值(bool)、空值(None)。

整数

一般性被叫做只是整数或整数,是正或负整数,不带小数点。

在叁十个人的机器上,整数的位数为34个人,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在六12个人的机械上,整数的位数位六10位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

长整数

Python未有范围长整数数值的大大小小,但鉴于各类机器的内部存款和储蓄器有限,我们采取长整数数值就不容许不过大。

Note:从Python2.2起,假使整数产生溢出,Python会自动将整数数据调换为长整型,所以以前在长整数数据背后不加字母L也不会促成严重后果。

浮点数

浮点数也正是小数,之所感到浮点数,是因为依照科学计数法表示时,一个浮点数的小数点地点是可变的。举个例子:1.5, 2.3, -0.1,其余浮点数占8个字节(64个人)

布尔值

布尔值和布尔代数表示一点差异也未有,八个布尔值分为True、False二种值。

图片 231 >>> True 2 True 3 >>> False 4 False 5 >>> 3>2 6 True 7 >>> 3>4 8 False 猛戳它

字符串

字符串是以单引号或双引号括起来的随机文本,比方"string", "full",单引号和双引号只是一种表示方法,不属于字符串中的一部分,如须要单引号也是一个字符,那么就须要用双引号再括一层来代表。

图片 241 >>> "Hello,World" 2 'Hello,World' 3 >>> "Hello, 'World!'" 4 "Hello, 'World!'" 猛戳它

如须要单双引号都不失为字符串的一部分来代表,那么就应用转译。

  字符串格式化

图片 25 1 name = "ctry" 2 age = int(25) 3 job = "IT" 4 5 print("Information of %s: nName: %snAge: %snJob: %s" %(name, name, age, job)) 6 7 Information of ctry: 8 Name: ctry 9 Age: 25 10 Job: IT 猛戳它 图片 26 1 name = "ctry" 2 age = int(25) 3 job = "IT" 4 5 msg = ''' 6 Information of %s: 7 Name:%s 8 Age:%s 9 Job:%s 10 ''' % (name, name, age, job) 11 print(msg) 12 13 Information of ctry: 14 Name:ctry 15 Age:25 16 Job:IT 17 18 PS:字符串是%s , 整数是%d , 浮点是%f,别的能够用''' """来自定义格式,同一时候有助于阅读 猛戳它

字符串常用效率:(移除空白、分割、长度、索引、切条)

图片 27 1 name = input("name:").strip() 2 age = int(input("age:")) 3 job = input("job:").strip() 4 5 6 msg = ''' 7 Information of %s: 8 Name:%s 9 Age:%s 10 Job:%s 11 ''' % (name, name, age, job) 12 print(msg) 13 14 name: ctry 15 age: 34 16 job:I T 17 18 Information of ctry: 19 Name:ctry 20 Age:34 21 Job:I T 22 23 s.strip(rm) 删除s字符串中初露、结尾处,位于 rm删除种类的字符 24 s.lstrip(rm) 删除s字符串中初露处,位于 rm删除系列的字符 25 s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除体系的字符 26 27 当rm为空时,默许删除空白符(包含'n' 'r' 't' '') 猛戳它

3.8 文件操作

 (1)选拔文件路线和情势:

       file_obj = open(“文件路线”,”张开文件形式”)

   张开文件方式:r   只读形式展开文件

                         w   张开三个文本用于写入

                        a    展开三个文件用于扩张

                        w+  张开七个文件用于写读

       注意:w 和 w+ 都以先将文件内容清空,再拓宽写入操作,推行此操作要备份并郑重

(2)推行文书:读或写

  读取文件的内容:

         file_obj.read()  三回性加载全体内容到内存

         file_obj.readlines()  叁遍性加载全部剧情到内部存款和储蓄器,并基于行分割成字符串

         for line in file_obj:  每便只读取一行内容

                print line  

(3)关闭文件

   file_obj.close()

 

参考【1】http://baike.baidu.com/link?url=cNVmMed2W56sNvyRGWiNMi6KtxthVKIRstkQyaMVz9JMWunyUKe-g2bcOho8wjk6PJbnfi-rW1P1GrizZTEFla

第1章 Python语言简要介绍 1.1 Python是什么样 Python(大不列颠及英格兰联合王国发音:/ˈpaɪən/ 美利哥失声:/ˈpaɪɑːn)是怎样吧?轻巧的...

数据列表

图片 28 1 >>> name_list = ["shuqi", "liuan", "wangwu", "zhangshan", "78brother"] 2 >>> name_list 3 ['shuqi', 'liuan', 'wangwu', 'zhangshan', '78brother'] 4 >>> dir(name_list) # 查找列表操作 5 可用如: ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] 6 7 依次为:追加、清除、复制、总计、扩大、索引、插入、从后删除一个因素、删除大肆钦命成分、反转整个列表、排序(字符串,数字) 8 9 >>> name_list.append("wangzhaojun") # 增加贰个因素到列表 10 >>> name_list 11 ['shuqi', 'liuan', 'wangwu', 'zhangshan', '78brother', 'wangzhaojun'] 12 13 >>> name_list.pop() # 从列表后面部分删除一个要素 14 'wangzhaojun' 15 >>> name_list 16 ['shuqi', 'liuan', 'wangwu', 'zhangshan', '78brother'] 17 18 >>> name_list.insert(3,"wangzx") # 在列表的第三个索引位插入一个成分 19 >>> name_list 20 ['shuqi', 'liuan', 'wangwu', 'wangzx', 'zhangshan', '78brother'] 21 22 >>> name_list.sort(key=None, reverse=False) # 排序 23 >>> name_list 24 ['78brother', 'liuan', 'shuqi', 'wangwu', 'wangzx', 'zhangshan'] 25 26 切成条排序,3.x暗许字符串和数字无法开展排序,供给切块后举办排序 27 >>> name_list[-4:] 28 [1, 3, 2, 6] 29 >>> name_sort = name_list[-4:] 30 >>> name_sort.sort() 31 >>> name_sort 32 [1, 2, 3, 6] 33 >>> name_list[:8] 34 ['78brother', 'liuan', 'shuqi', 'shuqi', 'shuqi', 'wangwu', 'wangzx', 'zhangshan'] 35 >>> name_name = name_list[:8] 36 >>> name_name.sort() 37 >>> name_name 38 ['78brother', 'liuan', 'shuqi', 'shuqi', 'shuqi', 'wangwu', 'wangzx', 'zhangshan'] 39 >>> name_name.sort(key=None, reverse=False) 40 >>> name_name 41 ['78brother', 'liuan', 'shuqi', 'shuqi', 'shuqi', 'wangwu', 'wangzx', 'zhangshan'] 42 43 批量剔除满含shuqi的要素 44 >>> name_name 45 ['78brother', 'liuan', 'shuqi', 'shuqi', 'shuqi', 'wangwu', 'wangzx', 'zhangshan'] 46 >>> for i in range(name_name.count("shuqi")): 47 ... name_name.remove("shuqi") 48 ... 49 >>> name_name 50 ['78brother', 'liuan', 'wangwu', 'wangzx', 'zhangshan'] 51 52 剖断满含 53 >>> "liuan" in name_name 54 True 55 >>> 4 in name_name 56 False 57 58 >>> if "liuan" in name_name: 59 ... print("Yes") 60 ... else: 61 ... print("No") 62 ... 63 Yes 猛戳它

数据元组

图片 29 1 >>> ages = (11, 22, 33, 4, 18, 60) 2 >>> dir(ages) 3 [ 'count', 'index'] # 依次为计算、索引 4 5 元组和列表调换 6 >>> type(ages) 7 <class 'tuple'> 8 >>> list_ages = list(ages) 9 >>> type(list_ages) 10 <class 'list'> 11 >>> type(name_name) 12 <class 'list'> 13 >>> a = tuple(name_name) 14 >>> type(a) 15 <class 'tuple'> 16 17 判断 18 >>> if 11 in ages: 19 ... print("True") 20 ... else: 21 ... print("False") 22 ... 23 True 24 >>> 11 not in ages 25 False 猛戳它

运算符

算术运算符
运算符 描述 eg.. 
+ 加(两个对象相加) >>> 1+2
- 减(得到负数结果或者一个数减去另外一个数) >>> 3-4
-1 
* 乘 (两个数相乘) >>> 4*13
52 
% 除 (x除以y) >>> 4/3
1.3333333333333333                                                                 
/ 取模 (取除法的余数) >>> 4%3     
** 幂 (返回x的y次幂) >>> 4**4
256 
//
取整数 (返回商的整数部分)                                  >>> 9//3
3
>>> 9.0//3.0
3.0 
比较运算符
运算符 描述 eg.. 
== 等于(比较两个对象是否相等) >>> a==b
False 
!= 不等于(比较两个对象是否不相等) >>> a!=b
True
> 大于(比较两个数值的大小关系,如a是否大于b) >>> a>b
False 
< 小于(比较两个数值的大小关系,如a是否小于b),所有比较运算返回1表示真,返回0表示假,同时与True和False等价。 >>> a<b                                                                                                                                                                                                            
True 
>= 大于等于 (比较两个数值的大小关系,如a是否大于等于b) >>> a>=b
False 
<= 小于等于 (比较两个数值的大小关系,如a是否小于等于b) >>> a<=b
True 
赋值运算符
运算符 描述 eg.. 
= 简单的赋值运算符 >>> c=a+b
>>> c
30 
+= 加法赋值运算符 >>> c+=a or c=c+a
>>> c
40 
-= 减法赋值运算符 >>> c-=a or c=c-a
>>> c
30 
*= 乘法赋值运算符 >>> c*=a or c=c*a
>>> c
300 
/= 除法赋值运算符 >>> c/=a or c=c/a
>>> c
30.0 
%= 取模赋值运算符 >>> c%=a or c=c%a
>>> c
0.0 
**= 幂赋值运算符 >>> a=10
>>> c=30
>>> c**=a or c=c**a
>>> c
590490000000000
//= 取整除赋值运算符 >>> c//=a or c=c//a
>>> c
59049000000000 
位数运算符
运算符 描述   eg.. 
& 按照位与运算              >>> a=13
>>> b=15
>>> a&b
13  二进制解释:0000 1101 
| 按照位或运算 >>> a|b
15    二进制解释:0000 1111
^ 按照位异或运算 >>> a^b
2       二进制解释: 0000 0010 
~ 按照位取反运算 >>> ~a
-14
>>> ~b
-16 
<< 左移动运算符 >>> a<<2
52     二进制解释: 0011 0100 
>> 右移动运算符 >>> a>>2
3       二进制解释: 0000 0011 

图片 30负数的二进制表示方法 在Computer中,负数以其正值的补码格局表明。 1、先收取原码(三个整数依据相对值大小调换为二进制,称之为原码) 2、得出反码(将二进制数按位取反,所得的新二进制数位原二进制数的反码) 3、补码(反码+1) 如:-14 二进制原码: 0000 1110 二进制反码: 1111 0001 补码二进制反码+1: 1111 0010 猛戳它

逻辑运算符
运算符 描述 eg.. 
and 布尔"与"(如果a为False,a and b返回False,否则返回b的计算值) >>> if a>5 and b<4:                                                                                                  
... print("True")
... else:
... print("False")
...
False 
or 布尔"或"(如果a为True,则返回True,否则返回b的计算值) >>> if a>5 or b<4:
... print("True")
... else:
... print("False")
...
True 
not 布尔"非"(如果a为True,则返回False,如果a为False,则返回True) >>> 4*13
>>> if not(a>5 and b<4):
... print("True")
... else:
... print("False")
...
True 
成员运算符&身份运算符
运算符 描述 eg..                                                                                                   
in 如果在指定的序列中找到值返回True,否则返回False >>> a=[1,2,3,5]
>>> if 1 in a:
... print("True")
... else:
... print("False")
...
True 
not in 如果在指定的序列中没有找到值返回True,否则返回False >>> if 1 not in a:
... print("True")
... else:
... print("False")
...
False 
is is是判断两个标识符是不是引用自一个对象 >>> name1="ctry"
>>> name2="ctry"
>>> name1 is name2
True
>>> name1 is not name2
False 
is not is not是判断两个标识符是不是引用自不同对象 >>> name1="ctry"
>>> name2="monkey"
>>> name1 is not name2
True
>>> name1 is name2
False 

循环

为了让Computer施行数十次重复的演算操作,大家须要采取循环语句来达到指标,在Python中循环分为for..in循环和while循环。

FO福睿斯 循环(依次将每个成分迭代展现出来):

图片 311 >>> list = ["zhangsan", "lisi", "wangwu", "qinquan"] 2 >>> for i in list: 3 ... print(i) 4 ... 5 zhangsan 6 lisi 7 wangwu 8 qinquan 猛戳它

从实践结果大家得以观察,for循环将list数组里的各种成分调入变量i,同一时间并实行print代码块的操作。

动用for循环进行加多操作:

图片 32 1 >>> sum = 0 2 >>> for num in range(100): 3 ... sum = sum + num 4 ... 5 >>> print(sum) 6 4950 7 8 实施0-99的丰硕操作,若要实践0-100的增进操作,range的界定就须求0-101,如下: 9 10 >>> sum = 0 11 >>> for num in range(101): 12 ... sum = sum + num 13 ... 14 >>> print(sum) 15 5050 猛戳它

While循环(当法规创立那么循环将一直举办,不然条件为假退出循环):

图片 33 1 >>> x = 0 2 >>> y = 99 3 >>> while y > 0: 4 ... x = x + y 5 ... y = y - 2 6 ... 7 >>> print(x) 8 2500 9 10 开端值x为0,y为99,假如y大于0,就执行累加操作,同一时间进行自减操作直到y小于0为负数时,退出整个循环。 猛戳它

将list中的种种名字依次打字与印刷出hello, xxx!:

图片 341 >>> list = ["MeiMei", "Davia", "Lili"] 2 >>> for name in list: 3 ... print("hello, %s!" % name) 4 ... 5 hello, MeiMei! 6 hello, Davia! 7 hello, Lili! 猛戳它

文本操作符初识

开采文件:

  file = open("file path", "模式")

展开文件的格局有:

  。 r, 以只读的艺术展开文件

  。 w, 展开一个文书只用于写入。就算文件已经存在则将其覆盖。如果文件不设有,则创设新文件。

  。 a, 展开一个文书顾客扩大。固然该公文已存在,文件指针将会放在文件的尾声。也正是说,新的内容将会被写入到已有内容之后。假若文件不设有,则创立新文件实行写入。

  。 w+, 打开一个文本用于读写。尽管该文件已存在则将其遮住。假诺文件不真实,则创建新文件。

1 >>> f = open('/Users/HaiZhi/Document/test.txt', 'r')
2  
3 # 表示打开/Users/HaiZhi/Document/test.txt的这个文件,如果文件不存在则会报错IOError。

读取文件:

# 上边文件已经开发成功,接下去大家读取文件,暗许read()是读取全体的内容。

>>> f.read()
 'Hello, world!

写入文件:

图片 35 1 >>> file = open("1.txt", "a") 2 >>> file.write("It's OK!") 3 8 4 >>> file.close() 5 6 >>> file = open("1.txt", "r") 7 >>> for line in file.readlines(): 8 ... print(line.strip()) 9 ... 10 11 超级菜单 12 二级菜单 13 三级菜单 14 重临上一流 15 退出 16 It's OK! 17 >>> file.close() 猛戳它

关门文件:

# 当读取完三个文书之后,大家要求调用close()方法来关闭文件,因为文件一直展开会据有系统能源,並且OS同时张开的公文数也有限定的。

>>> f.close() 

# 虚构一下,当多少个文件的深浅非常大的时候,我们想一遍读取全部的原委也许鉴于财富占用难题导致内部存款和储蓄器爆掉,为了更客观的读取文件,大家能够调用read(size),来将点名大小的从头到尾的经过读入内部存款和储蓄器,只怕readlines()读行来调取整个文件并按行来回到操作。

读取准则:
# 即便文件非常的小,read()三次性读取最利于;假诺没办法明显文件大小,再三调用read(size)比较保险;假如是布局文件,调用readlines()最有助于:

图片 36 1 >>> file = open("1.txt", "r") 2 >>> file.readline().strip() 3 '拔尖菜单' 4 >>> file.readline().strip() 5 '二级菜单' 6 >>> file.readline().strip() 7 '三级菜单' 8 >>> file.readline().strip() 9 '再次回到上顶尖' 10 >>> file.readline().strip() 11 '退出' 12 >>> file.close() 13 14 15 >>> file = open("1.txt", "r") 16 >>> for line in file.readlines(): #利用for循环依次输骑行 17 ... print(line.strip()) 18 ... 19 20 一流菜单 21 二级菜单 22 三级菜单 23 再次回到上拔尖 24 退出 25 >>> file.close() # 关闭文件 猛戳它

 

明天的利落,意味着大家教导有方的小时又少了24Hours...So...加油啊,少年!!!

 

Ctry 这么多年来一向有企图整治三个团结的博客,从WordPress、51Cto、blog163等等那一个未有二个笔者...

本文由小鱼儿玄机二站发布于编程应用,转载请注明出处:Python学习之路,基础学习

关键词: