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

[经验分享] 简明python教程(上)

[复制链接]

尚未签到

发表于 2017-4-25 12:54:57 | 显示全部楼层 |阅读模式
简明python教程(上)
2010年06月11日
  1、基本概念
  (1)字面意义上的常量
  (2)在Python中有4种类型的数――整数、长整数、浮点数和复数。
  (3)字符串
  使用单引号(')
  你可以用单引号指示字符串。
  使用双引号(")
  在双引号中的字符串与单引号中的字符串的使用完全相同。
  使用三引号('''或""")
  利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。
  自然字符串
  如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。R’test \n’
  Unicode字符串
  Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本――你只需要在字符串前加上前缀u或U
  字符串是不可变的
  这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。
  按字面意义级连字符串
  如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。
  例如,'What\'s'   'your    name?'会被自动转为"What's your name?"。
  给C/C++程序员的注释
  在Python中没有专门的char数据类型。确实没有需要有这个类型,我相信你不会为此而烦恼。
  给Perl/PHP程序员的注释
  记住,单引号和双引号字符串是完全相同的――它们没有在任何方面有不同。
  给正则表达式用户的注释
  一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成'\\1'或r'\1'。
  (4)变量
  变量的值可以变化,即你可以使用变量存储任何东西。变量只是你的计算机中存储信息的一部分内存。
  (5)标识符
  标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:
  标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。
  标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
  标识符名称是对大小写敏感的。
  (6)对象
  Python把在程序中用到的任何东西都称为对象。就每一个东西包括数、字符串甚至函数都是对象这一点来说,Python是极其完全地面向对象的。
  (7)逻辑行与物理行
  默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。
  如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。
  强烈建议你坚持在每个物理行只写一句逻辑行
  (8)缩进
  空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
  这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
  你需要记住的一样东西是错误的缩进会引发错误。
  如何缩进
  不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。强烈建议在每个缩进层次使用 单个制表符 或 两个或四个空格 。
  选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。
  2、运算符与表达式
  3、控制流
  (1)if
  if语句在结尾处包含一个冒号,elif和else从句都必须在逻辑行结尾处有一个冒号。
  在Python中没有switch语句。
  (2)while
  只要在一个条件为真的情况下,while语句允许你重复执行一块语句。
  while语句有一个可选的else从句。当while循环条件变为False的时候,else块才被执行
  (3)for…in
  range 向上 延伸到第二个数,即它不包含第二个数
  (4)break
  如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。
  输入字符串的长度通过内建的len函数取得。
  (5)continue
  continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环。
  4、函数
  函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。
  (1)形参
  (2)局部变量
  如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是全局的。
  global语句被用来声明x是全局的――因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。你可以使用同一个global语句指定多个全局变量。例如global x, y, z。
  (3)默认参数值
  对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。
  注意,默认参数值应该是一个参数。更加准确的说,默认参数值应该是不可变的。
  只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。
  (4)关键参数
  如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值――这被称作 关键参数 ――我们使用名字(关键字)而不是位置来给函数指定实参。
  (5)return语句
  没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。
  pass语句在Python中表示一个空的语句块。
  (7)DocStrings
  Python有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings 。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!
  文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。
  使用__doc__(注意双下划线)调用函数的文档字符串属性
  5、模块
  模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。
  用import语句 输入 sys模块。
  sys模块中的argv变量通过使用点号指明sys.argv
  sys.argv包含了 命令行参数 的列表,即使用命令行传递给你的程序的参数。
  sys.path的第一个字符串是空的――这个空的字符串表示当前目录也是sys.path的一部分,这与PYTHONPATH环境变量是相同的。这意味着你可以直接输入位于当前目录的模块。否则,你得把你的模块放在sys.path所列的目录之一。
  (1)字节编译的.pyc文件
  输入(import)一个模块相对来说是一个比较费时的事情,所以Python做了一些技巧,以便使输入模块更加快一些。一种方法是创建 字节编译的文件 ,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的――它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。
  (2)from..import语句
  如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。
  (3)模块的__name__
  每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。这在一个场合特别有用――就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。
  (4)制造你自己的模块
  创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了
  (5)dir()函数
  你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。
  当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。

运维网声明 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-369162-1-1.html 上篇帖子: Python异常处理(转) 下篇帖子: Python语法小全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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