python 学习笔记第四章:基本概念

简介:

本章主要讲了python中的一些基本概念,这些是经常用到的,也是你必须要理解的。

 

一、字面意义上的常量

 所谓字面意义上的常量就是类似1、2、3、Hello、你好,这样的数或者字符串,你能从字面上理解它的意思,就是字面意义上的常量。

二、数

 在python中有四种类型的数:整数、长整数、浮点数、复数

 * 2是一个整数的例子
 * 10000是一个长整数的例子(长整数就是大一点的整数)
 * 3.14是一个浮点数的例子
 * (-5+4j)是一个复数的例子

三、字符串

  字符串是字符的序列,也可以理解为就是一组单词。

  如何在python中使用字符串呢?
  * 使用单引号(')

    你可以使用单引号指定字符串,比如'Hello World'这样

  * 使用双引号("")
    在双引号中的字符串与单引号中的字符串使用是完全相同的,比如"What's your name?"

  * 使用三引号('''或者""")
    利用三引号你可以指定一个多行的字符串,比如:
    """What's your name?
       My name is Song"""

  * 转义符(\)
    python中的转义符和shell中的用法和表达方式都是一样的,都是用\(反斜杠)表示,值得注意的是在一行的末尾中如果单独出现了一个\(反斜杠),表示的是在下一行继续编写,而不是转义的意思了,这个要特别注意下。

  * 自然字符串
    如果你想要指示某些不需要转义符处理的特殊字符,那么你可以指定一个自然字符串,自然字符串通过给字符串前面加上前缀r或者R来指定。
    例如:r“My name is Song by \n”

  * Unicode字符串
    Unicode是书写国际文本的标准写法,python也可以处理Unicode文本,只需要在字符串前面加上u 就可以了。例如:u“This is a book”

  * 字符串是不可改变的
    一旦你创建了一个字符串,你就不能在改变它了。后面会讲到为什么。

  * 按字面意义级联字符串
    如果你把两个字符串按字面意义相邻放着,python会将他们自动级联,例如,'What's your name?'会被自动转换为 "What's your name?"

 

四、变量

  变量是指向各种类型值的名字,以后在用到这个值时,直接引用这个名字即可,不用在写具体值

  变量的命名规则如下:
 * 标识符的第一个字母必须是字母表中的字母(大写或小写或_下划线)
 * 标识符名称的其他部门可以由字母、下划线、数字组成。
 * 标识符名称对大小写的区分很敏感。
 * 有效标识符的例子有:i、_my_name_、name_123
 * 无效标识符的例子有:2things、this is、my-name

 

五、数据类型

   变量可以处理不同类型的值,成为数据类型。基本的类型是数和字符串。

 

六、对象

   python把程序中用到的任何东西都称为“对象”。

  通过下面的例子我们来看下如何使用变量和字面意义上的常量:

 
 
  1. #/usr/bin/env python 
  2. #Filename:var.py 
  3. i = 5 
  4. print i 
  5. ii = i+1 
  6. print i 
  7.  
  8. s = '''This is a book. 
  9. this is a open.''' 

   输出:

 
 
  1. $ python var.py 
  2. 5  
  3. This is a book. 
  4. this is a open. 

解释下这个程序是如何工作的:首先我们使用赋值运算符(=)把一个字面意义上的常量数字5赋值给变量i,这一行是一个语句,语句是用来声明需要做某件事情的,这个地方我们把变量名i 和数字5连接在一起,打印i,就是变量的值显示到屏幕上了。 
然后我们对i中存储的值加1,再把它存会i,我们打印时,就得到了期望的值6.
类似的,我们把一个字符串赋值给s,然后在打印它。

 

七、逻辑行与物理行

    物理行是你编写程序所看见的,逻辑行是python理解的语句,python假定每个物理行对应一个逻辑行。
    比如print “Hello World” 语句,它本身就是一行,就像你编写时看到的一样,所以它是一个物理行,python 也会把它读成一个语句,所以它还是一个逻辑行。
    默认,python希望每行都只使用一个语句,这样会使代码更加易读。
    如果你想在一个物理行中使用多个逻辑行,可以使用分号(;),例如

 
 
  1. i = 5 
  2. print i 

    与下面这个相同

 
 
  1. i = 5
  2. print i; 

    同样可以写成这样

 
 
  1. i = 5;print i; 

    甚至还可以写成

 
 
  1. i = 5;print i 

建议每个物理行只写一个逻辑行,尽可能的避免分号的出现,使代码更加易读。

 

八、缩进

   行首的空白在python中是很重要的,它称为“缩进”。逻辑行首的空白用来决定逻辑行的缩进层次,从而决定语句的分组。
   这意味这同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。
   同样,缩进不当也会引发错误。如下:

 
 
  1. i = 5 
  2.  print 'Value is',i 
  3. print 'I repeat ,the value',i  

打印如上程序之后,会引发下面的错误:

 
 
  1. File "whitespace.py", line 4 
  2. print 'Value is', i # Error! Notice a single space at the start of the line 
  3. SyntaxError: invalid syntax 

注意,在第二行的行首有一个空格,python告诉我们这是无效的语法。

   如何缩进?
 不要使用制表符和空格来缩进,因为在不同的程序运行平台,有可能导致程序无法工作,建议每个缩进层次使用单个制表符或者两个或四个空格。

本章概念性的知识较多,遇到不理解的了,多读几遍,慢慢去体会。










本文转自 linuxsong 51CTO博客,原文链接:http://blog.51cto.com/song49/1079562,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
数据采集 存储 监控
Python 原生爬虫教程:网络爬虫的基本概念和认知
网络爬虫是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据采集、新闻聚合和价格监控等领域。其工作流程包括 URL 调度、HTTP 请求、页面下载、解析、数据存储及新 URL 发现。Python 因其丰富的库(如 requests、BeautifulSoup、Scrapy)和简洁语法成为爬虫开发的首选语言。然而,在使用爬虫时需注意法律与道德问题,例如遵守 robots.txt 规则、控制请求频率以及合法使用数据,以确保爬虫技术健康有序发展。
721 31
|
存储 数据挖掘 数据库
探索Python编程:从基础到高级探索移动应用开发之旅:从概念到实现
【8月更文挑战第29天】本文将带你进入Python的世界,无论你是初学者还是有一定经验的开发者。我们将从Python的基础知识开始,然后逐步深入到更复杂的主题。你将学习到如何编写清晰、高效的代码,以及如何使用Python进行数据分析和网络编程。最后,我们将介绍一些高级主题,如装饰器和生成器。让我们一起开始这段旅程吧!
|
10月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
343 8
|
11月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
2434 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
11月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
392 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
11月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
501 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
11月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
155 1
|
11月前
|
Ubuntu Linux Python
Ubuntu学习笔记(六):ubuntu切换Anaconda和系统自带Python
本文介绍了在Ubuntu系统中切换Anaconda和系统自带Python的方法。方法1涉及编辑~/.bashrc和/etc/profile文件,更新Anaconda的路径。方法2提供了详细的步骤指导,帮助用户在Anaconda和系统自带Python之间进行切换。
460 1
|
11月前
|
索引 Python
Python学习笔记编程小哥令狐~持续更新、、、(上)
Python学习笔记编程小哥令狐~持续更新、、、(上)
115 2
|
11月前
|
索引 Python
【免费分享编程笔记】Python学习笔记(一)
【免费分享编程笔记】Python学习笔记(一)
87 1

热门文章

最新文章

推荐镜像

更多