设为首页 收藏本站
查看: 1109|回复: 0

[经验分享] Python面向过程编程的八个关键要素

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-25 11:03:03 | 显示全部楼层 |阅读模式
  • 基本数据类型



      • integral类型
          整形:不可变类型
          布尔型  true   false
      • 浮点类型
          浮点数
          复数
          十进制数字   
      • 字符串:不可变对象

    • python的数据结构

      • 程序=数据结构+算法
      • 通过某种方式(元素编号)组织在一起的数据元素的集合,这些元素可以是数字或字符,还可以是其它数据结构
      • python最基本的数据结构是序列
      • 序列中的每一个元素被分配一个序号--元素的位置,即索引,索引从0开始编号
      • python包含6种内建的数据序列

        •   列表
        •   元组
        •   字符串
        • Unicode字符串
        •   buffer对象
        •   xrange对象

  • 对象引用(变量)

    • python将所有数据存储为内存对象
    • python中,变量事实上是指向内存对象的引用
    • 动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同对象(或不同的数据类型)
    • 内建方式type()用于返回给定数据项的数据类型
    • “=”用于将变量名与内存中的某对象绑定: 如果对象实现存在,就直接进行绑定;否则,由“=”创建引用对象
    • 变量命名规则

      •   字母,数字,下划线,不能一数字开头
      •   区分大小写
      •   禁止使用保留字

    python2和python3保留字有所不同
命令惯例
  •   以单一下划线的变量名(_x)不会被from module import * 语句导入
  •   前后有双下划线的变量名(__x__)是系统定义的变量名,对python解释器有特殊意义
  •   以两个下划线开头的但结尾没有下划线的变量名(_ _x)是类的本地变量
  •   交互式模式下,变量名“_”用于保存最后表达式的结果

note:变量名没有类型,对象才有组合数据类型
  • 数据结构:通过某种方式组织在一起的数据元素的集合
  • python常用的组合 数据类型

    •   序列类型

      •     列表:使用[]创建
      •     元组:使用()创建

        •       元组是不可变序列

      •     字符串也属于序列类型

    •   集合类型

      •     集合

    •   映射类型

      •     字典--字典是可变序列

  • python中,组合数据类型也是对象,因此其可以嵌套
  • 实质上,列表和元组并不是真正存储数据,而是存放对象引用
  • python对象可以具有其可以被调用的特定函数
  • 元组、列表以及字符串等数据类型是”有大小的“,即长度可使用内置函数len()测量

逻辑操作符--任何程序设计语言的基本功能4组逻辑运算符:
  •   身份操作符

    is:判定左端对象引用是否相同于右端对象引用;亦可以与none进行;
  比较操作符    <,>,<=,>=,!=,==
  成员操作符    in  或not in:测试成员关系
  逻辑运算符    and、or、not
控制流语句--过程式编程语言的基本控制机制常见控制流语句:
  •   if      :            
  •   while
  •   for...in
  •   try

算术操作符
  • pyhton 提供了完整的算术操作符
  • 很多python数据类型可以使用增强型的复制操作符:-=、+=等
  • 同样的功能,使用增强型操作符的性能较好
  • python的int类型是不可变的因此增强型赋值的实际过程是创建一个新的对象来存储结果后将变量名执行了重新绑定

输入/输出--现实中,具有实际功能的程序必须能够读取输入,以及产生输出,并写到终端或文件中
  • 输入输出

    • 输出

      •   python3 :print()函数
      •   python: print 语句

    • 输入

      •   input()
      •   raw input()

  • python解释器提供了3种标准文件对象

    •   标准输入

    在sys模块中以sys.stdin形式提供
  标准输出    在sys模块中以sys.stdout形式提供
  标准错误    在sys模块中以sys.stderr形式提供
从技术角度来讲,print是把一个或多个对象转换为其文本 表达形式,然后发送给标准输出或另一个类似文件的流
  •   python中,打印与文件和流的概念联系紧密

    •     文件写入方法是把字符串写入到任意文件
    •     print默认把对象打印到stdout流,并加了一些自动的格式化

  •   print只是python的人性化特性的具体实现, 它提供了sys.stdout.write()的简单接口, 再加上一些默认格式

print接受一个逗号分隔的对象列表, 并为行尾自动添加一个换行符, 如果不需要,则在最后一个元素后添加逗号print的格式化输出(print "String %format1 %format2 ..." % (variable1,variable2,...))
  •   %后面可以使用的修饰符(有的话,则只能按如下顺序)

    •   %[(name)][flags][width][.precision]typecode

      •     [(name)]位于括号中的一个属于后面的字典的键名,用于选出一个具体项

        •       字典;kv集合,可变对象
        •         如d={‘a’:1,‘b’:3} print "%(a)-10d %(b)0.3g" % d

    • 常见的修饰符

      • d,i  十进制整数或长整数
      • u    无符号整数或长整数
      • o    八进制整数或长整数
      • x    十六进制整数或长整数
      • X    十六进制整数
      • f    浮点数,如[-]m.dddddd
      • e    浮点数,如[-]m.dddddde±xx
      • E    浮点数,如[-]m.ddddddE±xx
      • g,G  指数小于-4或更高精度时使用%e或%E,否则使用%f
      • s    字符串或任意对象,格式化代码使用str()生成字符串
      • r    同repr()生成的字符串
      • c    单个字符
      • %    字面量  


  •     [flags] 为下面标志中的一个或多个

    •       -:表示左对齐,默认为右对齐
    •       +:表示包含数字符号,正数也会带+
    •       0:表示一个零填充

  •     [width]:一个指定最小宽度的数字
  •     [.precision]:一个小数点,用于按照精度分割字段的宽度
  •     typecode:一个数字,指定要打印字符串中的最大字符个数,浮点数中小数点的位数,或者整数的最小位数

函数的创建与调用----函数是实现模块化编程的基本组件
  • python使用def语句定义函数
  • 函数可以参数化,通过传递不同的参数来调用
  • 每个python函数都有一个返回值,默认为None,或使用“return value”明确定义返回值
  • def语句会创建一个函数对象,并同时创建一个指向函数的对象调用

    •   函数也是对象, 可以存储在组合数据类型中, 也可以作为参数传递给其它函数
    •   callable()可用与测试函数是否可调用

  • def functionNAME(arguments): suite
  • python有众多内置函数
  • python标准库拥有众多内置模块,这些模块拥有大量函数
  •   python模块实际上就是包含python代码的.py文件,其拥有自定义的函数与类及变量等

    •   导入模块使用import语句进行,够跟模块名称(不能指定模块文件名的后缀.py)
    •   导入函数模块后,可以访问其内部包含的任意函数、类及变量



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118600-1-1.html 上篇帖子: python zipfile模块 下篇帖子: python编程之if/for/while语句
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表