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

[经验分享] [Python]入门教程(二):Python中的一些基本概念

[复制链接]

尚未签到

发表于 2017-4-26 10:19:40 | 显示全部楼层 |阅读模式
  最近忙着做Unity3D,Python的学习笔记落下不少,现在慢慢补上。
  说到基本概念,熟悉编程的同学应该都不陌生,但是作为笔记的一部分,还是慢慢介绍一下吧。
  

  字符串

  先来说说:字符串String

字符串,字面解释就是一串字符。

  严格意义上来讲,字符串是 字符的序列 。
大致分为以下三种情况:

1.使用单引号(')

你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。


2.使用双引号(")

在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"。


3.使用三引号('''或""")

利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:


'''This is a multi-line string. This is the first line.

This is the second line.

"What's your name?," I asked.

He said "Bond, James Bond."

'''

  

  转义符
  再谈谈转义符的概念吧。

假设你想要在一个字符串中包含一个单引号('),那么你该怎么指示这个字符串?

  例如,这个字符串是:What's your name?你肯定不会用'What's your name?'来指示它,因为Python会弄不明白这个字符串从何处开始,何处结束。所以,你需要指明单引号而不是字符串的结尾。可以通过 转义符 来完成这个任务。你用\'来指示单引号——注意这个反斜杠。现在你可以把字符串表示为'What\'s your name?'。


另一个表示这个特别的字符串的方法是"What's your name?",即用双引号。类似地,要在双引号字符串中使用双引号本身的时候,也可以借助于转义符。另外,你可以用转义符\\来指示反斜杠本身。


值得注意的一件事是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。例如:


"This is the first sentence.\

This is the second sentence."


等价于"This is the first sentence. This is the second sentence."

  

  

  自然字符串

  那么不用转义符是否可以?当然,下面来看一下:自然字符串

如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by \n"。

Unicode字符串

Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器,比如EditPlus就是我的菜。

  类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。
  例如,u"This is a Unicode string."

在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。

  

  在Python中注意以下几点特别的地方:
  1.字符串是不可变的


这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。

2.按字面意义级连字符串

如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,'What\'s' 'your name?'会被自动转为"What's your name?"。

3.给JAVA/C++程序员的注释

在Python中没有专门的char数据类型。

4.给Perl/PHP程序员的注释

记住,单引号和双引号字符串是完全相同的——它们没有在任何方面有不同。

5.给正则表达式用户的注释

一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成'\\1'或r'\1'。

  

  下面再来看下标识符命名的问题。

  标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:

标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’)。

标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。

标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。

有效 标识符名称的例子有i、__my_name、name_23和a1b2_c3。

无效 标识符名称的例子有2things、this is spaced out和my-name。

  

  

  

  对象

  Python把在程序中用到的任何东西都称为 对象 。


给面向对象编程用户的注释

就每一个东西包括数、字符串甚至函数都是对象这一点来说,Python是极其完全地面向对象的。


为了进一步解释对象的概念,先来看下如何编写Python程序

下面是保存和运行Python程序的标准流程。

1. 打开你最喜欢的编辑器。

2. 输入例子中的程序代码。

3. 用注释中给出的文件名把它保存为一个文件。我按照惯例把所有的Python程序都以扩展名.py保存。

4. 运行解释器命令python program.py或者使用IDLE运行程序。你也可以使用先前介绍的可执行的方法。

  

  我们将看一下如何使用变量和字面意义上的常量。保存下面这个例子,然后运行程序。

例4.1 使用变量和字面意义上的常量(源文件:02.var_test.py)


# Filename : var.py
i = 5
print(i)
i = i + 1
print(i)
s = '''This is a multi-line string.
This is the second line.'''
print(s)



输出

5

6

This is a multi-line string.

This is the second line.


和C++或java不同,使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。这点有点像PHP和JS,但是也没有var的概念。
  

  再说一个和JAVA与C++大不相同的地方:缩进。
  空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。


这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子。


你需要记住的一样东西是错误的缩进会引发错误。例如:



i = 5
print('Value is', i # Error! Notice a single space at the start of the line)
print( 'I repeat, the value is', i )

当你运行这个程序的时候,你会得到下面的错误:


File "whitespace.py", line 4

print 'Value is', i # Error! Notice a single space at the start of the line

^

SyntaxError: invalid syntax


注意,在第二行的行首有一个空格。Python指示的这个错误告诉我们程序的语法是无效的,即程序没有正确地编写。它告诉你, 你不能随意地开始新的语句块 (当然除了你一直在使用的主块)。何时你能够使用新块,将会在后面的章节,如控制流中详细介绍。


如何缩进

不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我 强烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。

选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即只使用这一种风格。




  

运维网声明 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-369403-1-1.html 上篇帖子: python 发邮件写例子 下篇帖子: [转]制作Python的安装模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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