基础概念

3 基础概念

3.1 数字

计算机最初设计时就是为了做数据运算的,所以针对这个概念应该不会陌生。在Python的世界里数主要有三种类型: 整数、浮点数和复数,详见下例:

a) 5 是一个整数。

b) 3.23 和76.2E-4 是浮点数的例子。E 标记表示10 的幂。在这里,76.2E-4 表

示的是76.2* 10-4。

c) (-6+4j)和(6.8-8.1j) 是复数。

3.2 字符串

在前面的环境安装章节我们介绍了如何打印出hello world,好奇的你可能会问为什么要加个""呢,它是什么类型呢?计算机是对现实生活的抽象,字符串是有一定含义字符的组合,一般是通过双引号或者单引号包裹起来。因为计算机语言多数是国外开发,所以这里演示的是hello world两个英文单词,当然你可以 print('中国')显示“中国”这两个汉字。

>>> print("中国")

中国

3.3 单引号

你可以用单引号指定字符串,如'Quote me on this'。所有的空白,即空格和制表符都照原样保留。比如我们在单引号里输入个tab(即按下键盘上的Tab键)

3.4 双引号

双引号的使用同单引号,这里主要讲两者如何结合使用和不同之处:如果有这样一个需求,要求打印I'm a good boy.你们用上节的''怎么做到呢?显然直接像下面这样是不行的。

>>> print('I'm agood boy.')

File "<stdin>", line 1

print('I'm a good boy.')

^

SyntaxError:invalid syntax

怎么做呢?这里我们可以使用双引号:

>>> print("I\'m a goodboy.")

I'm a good boy.

3.5 转义符号

还记得之前提的如何打印I'm a good boy的问题吗?我们是通过双引号解决了,那么有没有其它方法呢?当然,我们可以通过'\'这个转移符解决.

>>> print('I\'m a good boy.')

I'm a goodboy.

当然我们也可以使用\n(换行)、\t(tab分隔)这些有一定意义的转义符。

>>>print('I\'m\n a good boy.\n'+"I'm a \t good boy")

I'm

a good boy.

I'm a    good boy

如果字符串里有'\'这个符号怎么处理呢?这时只需要再加个'\'即可,见下:

>>> print("I'm \\ a good boy.")

I'm \ agood boy.

3.6 三引号

利三引号("""or '''),你可以指示一个多行的字符串。你可以在三引号中自由

的使用''(单引号)和""(双引号)。例如:

>>> print('''这是个多行的字符串。这是第一行。\n这是第二行。\n"What's your name? ," I

asked.\nHe said "Bond,James Bond."''')

 

这是个多行的字符串。这是第一行。

这是第二行。

"What'syour name? ," Iasked.

He said"Bond, James Bond."

3.7 变量

Hello word的升级版

>>>str='hello world'

>>>print(str)

hello world

看上去是不是很高大上,那么我们怎么去理解str=“hello world”呢?这里就像别人给你起个英文名字john,当别人叫john时叫的其实还是你。而这里只是抽象成字符串类型str,当我们去访问str变量时就得到了它的值hello world。

3.8 标识符

前面说的变量就是标识符的例子。标识符简言之就是为了标识某个东西而起的名字。一般我们在起这个标识名时需要遵循如下规则:

a)  标识符的第一个字符必须是字母(可大写或小写)或者是下划线。

b)  标识符的其他部分可由字母(大写或小写)、下划线('_')、数字(0-9)构成。

c)  标识符是大小写敏感的。如:myname 和myName 不是一个标识符。

d)  标识符命名一般要见名知意,有一定的含义。

e)  标识符一般是变量名称、方法名、类名等

合法命名演示:

i 、__my_name 、Name_2和a1b2_c3

非法命名演示:

2s 、this is和my-name

 

错误原因:2s不能以数字开头,命名时首字符必须是字母。

this is里有空格

my-name标识符里不能有-(横杠)

3.9 常量

常量是一旦赋值后就不能再修改其值的特殊变量,比如我们定义个“变量”PI,它的意义是圆周率π,众所周知圆周率是不变的值是:3.141592653579…。Python里没有像其他语言有const关键字,但是我们可以通过其它方式实现常量的效果.具体见后续章节的演示。

圆的面积=π乘以半径的平方

 

 

3.10 缩进

缩进在python里其实是一种书写规范或者说格式,它一般是通过空格和制表符决定代码行的层次结构。通常我们选单个制表符、两个空格、四个空格中一个作为缩进的风格,但这3种风格不能混用。初学python时我们经常遇到这样的错误:

>>> i=5

>>>  print(i)

File "<stdin>", line 1

print(i)

^

IndentationError:unexpected indent

这是因为你在print前加了个空格,但此时并不需要使用缩进。一般我们在类定义、函数定义、流程控制语句(if/for)之类语句后加缩进。通俗点理解缩进可像我们写本书的目录结构,这里通过tab来分割每个章节,读者会很容易的检索自己想看的内容。同样程序中我们加入缩进,那么解释器会知道哪些是一个层次的,哪些是另外个层次的。

3.11 注释

注释是不被执行的代码块,注释就像一个烂笔头,它标注了代码块、类定义、函数定义等编写的意义,主要起到备忘的功能。一般我们使用单行注释和行注释。

a)  使用井号(#) 注释单行

#这是个单行注释示例。

print('Hello World')

 

b) 使用成对的"""或则'''即三引号注释多行

'''

这是个多行注释示例。

@author: shenliang5

'''

print("多行注释写法一")

"""

这是个多行注释示例。

@author: shenliang5

"""

print("多行注释写法二")

挥挥洒洒写出你的寂寞。

3.12 文件编码

Python3支持的python文件编码是UTF-8。所以当我们在windows里新建个文件test1.txt输入以下内容。

string1="中国"

print(string1)

再将test1.txt重命名为test1.py,当我们执行该文件时会有下面的报错:

这是因为Python3是通过UTF-8对文件解码而我们建立的文件test.py在windows上默认是ASCII 。所以正确的做法是将python代码文件以utf-8的方式保存,具体操作见下图:

3.13 总结

本章我们学习了python的编程基础,了解了字符串的定义和使用、标识符的命名、代码缩进、注释等知识,是不是觉得也没想象中的那么难?那么跟我们一起进入下一个环节吧。

Python基础概念_2_基础概念相关推荐

  1. 太极图形课S1第06讲:光线追踪的概念与基础

    序 总觉得,这个以后能用的上 视频 太极图形课S1第06讲:光线追踪的概念与基础_哔哩哔哩_bilibili 代码 GitHub - taichiCourse01/taichi_ray_tracing ...

  2. 安卓APP_ Fragment(1)—— Fragment概念、基础用法、动态变换、管理栈

    摘自:安卓APP_ Fragment(1)-- Fragment概念.基础用法.动态变换.管理栈 作者:丶PURSUING 发布时间: 2021-04-15 23:32:31 网址:https://b ...

  3. (转)OpenLayers3基础教程——OL3基本概念

    http://blog.csdn.net/gisshixisheng/article/details/46756275 OpenLayers3基础教程--OL3基本概念 从本节开始,我会陆陆续续的更新 ...

  4. 负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础

    负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负 ...

  5. Java基础之面向对象的概念 继承---组合----枚举类

    Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...

  6. RabbitMQ核心概念及基础API应用

    RabbitMQ核心概念及基础API应用 1 主流中间件介绍 衡量消息中间件的指标:服务性能,数据存储,集群架构. 1.ActiveMQ:Apache,支持JMS规范最完整的. 2.RocketMQ ...

  7. 【Linux】基础:进程的概念

    [Linux]基础:进程概念 摘要:本文的主要目的是理解进程的概念.文章通过介绍进程的管理方式来引入进程的概念,从而提出进程的理解--PCB与程序.然后对PCB内容进行详细介绍,并同时介绍了关于进程的 ...

  8. 【Web接口测试_基础概念】接口概念、接口分类、接口定义、接口规范、接口方法、接口用例设计整理

    [接口基础] 1.接口测试概念 1.1 基础概念 接口的定义:接口英文"interface",表示某个对象和外界交互的部分. 1.2接口的分类: ①用户UI接口,表示提供给用户操作 ...

  9. 【JAVA学习】1、零基础入门Java 基础语法:概念、规则、格式

    [JAVA学习]1.零基础入门Java 基础语法 前言 JAVA开发环境选择 Java 基础概念 Java 标识符 Java修饰符 基础代码模板框架 命名规则 基础规则 后端开发规则 代码格式 前言 ...

最新文章

  1. 信息系统项目管理师十大常见问题汇总
  2. python获取shell输出及返回码_如何执行shell命令获取Python中命令后的输出和pwd
  3. 基础编程题目集 6-7 统计某类完全平方数 (20 分)
  4. Mac和Xcode常用的快捷键
  5. linux 组态软件,基于嵌入式Linux的组态软件实时数据库的设计
  6. android 整人代码‘’,史上最全的 整人代码
  7. Ubuntu18.04 Deb 包安装方法
  8. 小团团云上城在哪个服务器,云上城之歌小团团
  9. wpf制作旋转小方块
  10. Gentoo Linux安装教程20220218(长期更新维护)
  11. 将MP4文件在网页端播放
  12. Rust包管理 Crate
  13. linux下7z压缩包解压
  14. python判断列表之间是否为包含关系,不用自定义函数
  15. Windows10系统登陆界面“出现问题,PIN不可用”-解决方法
  16. ESXI自动关机 ping值检测关机脚本
  17. JS逆向 | 某车帝登录参数逆向
  18. classList属性配合内置方法add()、remove()、toggle(),添加或删除某个类,以此改变CSS样式
  19. 斐波那契数列(前30)Python
  20. 空客将在机场安检测试新型“电子鼻”,或可检测新冠病毒

热门文章

  1. JavaScript实现bellmanFord贝尔曼-福特算法(附完整源码)
  2. wxWidgets:缓冲区类
  3. boost::python::import相关的测试程序
  4. boost::tiernan_all_cycles用法的测试程序
  5. bgi::detail::intersection_content用法的测试程序
  6. boost::fusion::convert用法的测试程序
  7. DCMTK:“内容映射资源”Content Mapping Resource中的各种CIDxxx和TIDxxx类的测试程序
  8. VTK:可视化之Glyph3DImage
  9. VTK:Snippets之RestoreSceneFromFieldData
  10. OpenCV将现有算法移植到G-API的实例(附完整代码)