一、变量

变量定义:Variables are used to store infomation to referrenced and manipulated in a computer program.

用于存储程序运行的中间运算结果

  • 标识
  • 存储

变量在程序中用一个变量名表示

  • 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
  • 对大小写敏感
  • 推荐小驼峰命名法,如myFirstName, myLastName
  • 关键字不能声明为变量

在Python中,等号 = 是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量

myFisrtName = "Jonathan"

myLastName = "Ni"

请不要把赋值语句的等号等同于数学的等号。比如下面的代码:

x =

x = x +

从数学上理解 x = x + 是不成立的。在程序中,赋值语句先计算右侧的表达式x + ,得到结果,再赋给变量x。

由于x之前的值是,重新赋值后,x的值变成。

理解变量在计算机内存中的表示非常重要,如以下声明变量并赋值。

a = "ABC"

Python解释器干了两件事情:

  1. 在内存中创建了一个"ABC"的字符串;
  2. 在内存中创建了一个名为a的变量,并把它指向"ABC"。

常量就是不能变的量,通常用全部大写的变量名表示。  

PI = 3.14159265359

总结:

在计算机内部,任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。

二、数据类型

计算机就是可以做数学计算的机器。计算机程序理所当然要处理各种数值。除了数值,计算机还可以处理文本、图形、音频、视频、网页等

各种数据。不同的数据,需要定义不同的数据类型。

1、数字

整数:表示方法和数学上的写法一样,如,, 等。或16进制表示,0xffffff, 0xabcd等

浮点数:也就是小数,如0.99, -1.25, 88.88等。或者科学计数法表示1.23e8, 1.2e-8等

复数:由实数部分和虚数部分组成,一般形式为 x + yj,如(-5+4j)等

数字没有大小限制,超出一定范围就直接表示为inf(无限大)

2、字符串

字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"XYZ"等等。' 或 " 本身只是一种表示方式,不是字符串的一部分,

例如 'abc'只有a,b,c 这3个字符。

如果 ' 本身也是一个字符,那就可以用 "" 括起来,比如 "I'm OK" 包含的字符是I, ', m, 空格, O, K这6个字符。

字符串内部既包含 ' 又包含 " 可以用转义字符 \ 来标识。如'I\'m \"OK\"!',表示I'm "OK"!

转义字符可以转义很多字符,比如\n表示换行,\t表示制表符,\\表示字符\

如果字符串内部有很多换行,可用'''.......'''的格式表示多行内容。

字符串常用功能

  • string.strip([chars]) 方法用于移除字符串头尾指定的字符(默认为空格)

"  Jonathan     ".strip()     >>>  "Jonathan"

";Jonathan;;".strip(";")    >>>  "Jonathan"

参数:   chars -- 移除字符串头尾指定的字符

返回值:返回移除字符串头尾指定的字符生成的新字符串。原字符串保持不变。

  • len(string)方法返回字符串长度。
len("Jonathan")   >>>  8

参数:   str -- 字符串

返回值:字符串长度

  • string.index(str, beg=0, end=len(str))方法检测字符串中是否包含子字符串 str

"Jonathan".index("J")      >>>  0

"Jonathan".index("J",1)  >>>  substring not found

"Jonathan".index("an")   >>> 6

参数:

str  --  指定检索的字符串

beg -- 开始索引,默认为0

end -- 结束索引,默认为字符串的长度

返回值:如果包含子字符串返回开始的索引值,否则抛出异常。

  • 访问字符串中的值

Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。
访问子字符串,可以使用方括号来截取字符串

"Jonathan"[0]      >>> "J"           # 下标从0开始

"Jonathan"[0:3]  >>> "Jon"        # 顾头不顾尾

"Jonathan"[-1]    >>> "n"          # 倒数第一个

"Jonathan"[-3:-1] >>>"ha"        # 顾头不顾尾

"Jonathan"[-3:0]    >>>   ""       # 不存在从后往前截取情况

"Jonathan[-3:]       >>>  "han"   # 解释器识别为从倒数第三个一直到最后全部字符

"Jonathan"[]        >>>   invalid syntax  # 解释器区分不了到底时单个字符还是区间字符

"Jonathan"[:]      >>>   "Jonathan"         # 解释器识别为全部字符

"Jonathan"[0:len("Jonathan")]   >>> "Jonathan"

"Jonathan"[-len("Jonathan"):]   >>>  "Jonathan"

"Jonathan"[::-2]   >>>  "Jnta"   # 最后一位表示步长 2

  • 字符串拼接

"Jon" + "nathan"   >>>  "Joanthan"    # 遇 + ,解释器需重新申请内存

  • 格式化输出

name = "Jonathan"

print("My name is %s."%(name)   >>> "My name is Jonathan."

3、布尔型

布尔值和布尔代数的表示完全一致,一个布尔值只有True,False两种值(注意大小写),布尔值可以用 and、or、not运算

and运算是与运算,只有所有都为True,and运算结果才是True

or运算是或运算,只要其中有一个为True,or运算结果就是True:

not运算是非运算,它是一个单目运算符,把True变成False,False变成True

布尔值经常用在条件判断中

if age >= :

print("adult")

else:

print("teenager")

4、空值

空值是Python里一个特殊的值,用,因为是有意义的,而None是一个特殊的空值。

5、列表

列表是Python中最常用的数据类型,通过列表可以对数据进行最方便的存储修改等操作

定义列表   names = ["Jon", "Alex", "Tom", "Catherine"]

通过下标访问列表中的元素,下标从0开始计数

names[0]   >>> "Jon"

names[-1]  >>> "Catherine"

对列表进行操作

names[0] = "Jonathan"   # 修改元素

names.append("Jim")   >>>      ["Jonathan", "Alex", "Tom", "Catherine", "Jim"]    # 在列表最后附件元素

names.insert(2, "Linda")  >>>  ["Jonathan", "Alex", "Linda",  "Tom", "Catherine", "Jim"]     # 在下标为2的地方插入元素,其他元素后移动

names.remove("Linda")   >>>  ["Jonathan", "Alex", "Tom", "Catherine", "Jim"]   # 删除第一个检索到的元素

del names[4]    >>>   ["Jonathan", "Alex", "Tom", "Catherine"]   # 按下标删除元素

names.index("Alex")   >>>  1   # 返回下标

names.sort()    >>> ["Alex", "Catherine", "Jonathan", "Tom"]     #  按照ASCII正序排列

names.reverse()   >>>   ["Tom", "Jonathan", "Catherine", "Alex"]  # 元素反转

names.count("Tom")   >>>  1  # 返回出现次数

三、运算

1、算术运算

2、比较运算

3、赋值运算

4、逻辑运算

5、成员运算

6、身份运算

7、位运算

Python自动化开发-变量、数据类型和运算的更多相关文章

  1. 1. Python中的基本数据类型、运算、变量

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ...

  2. python自动化开发学习 进程, 线程, 协程

    python自动化开发学习 进程, 线程, 协程   前言 在过去单核CPU也可以执行多任务,操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换任务2,任务2执行0.01秒,在切换到任务3,这 ...

  3. python自动化开发学习 I/O多路复用

    python自动化开发学习 I/O多路复用   一. 简介 socketserver在内部是由I/O多路复用,多线程和多进程,实现了并发通信.IO多路复用的系统消耗很小. IO多路复用底层就是监听so ...

  4. python自动化开发-[第六天]-常用模块、面向对象

    今日概要: 1.常用模块 - os模块 - random模块 - shutil模块 - hashlib模块 - pickle/json模块 - shelve模块 - configparser模块 - ...

  5. Python自动化开发 - 模块与包

    本节内容 一.模块  1.import module 2.from module  import 3.from module  import * 4.模块的__name__属性 5.模块搜索路径 6. ...

  6. Python自动化开发 - 函数式编程

    本节内容 一.函数式编程 二.高阶函数 1.变量可以指向函数 2.函数名也是变量 3.传入函数 三.返回函数 1.函数作为返回值 2.闭包特性 一.函数式编程 函数是Python内建支持的一种封装,我 ...

  7. Python自动化开发 - 函数

    本节内容 函数背景介绍 函数是什么 参数与局部变量 返回值 递归函数 匿名函数 函数式编程介绍 高阶函数 一.函数背景介绍 老板让你写一个监控程序,监控服务器的系统状况,当cpu/memory/dis ...

  8. Python自动化开发(三):循环次数控制、常用数据类型、字符串格式化、列表常用操作、列表的后续操作

    计数器的作用可以在死循环中,符合条件的情况下做自动退出中断 #!/usr/bin/env python # _*_ coding: utf-8 _*_ # @Time : 2017/3/14 11:2 ...

  9. python自动化开发-[第二天]-基础数据类型与编码(续)

    今日简介: - 编码 - 进制转换 - 初识对象 - 基本的数据类型 - 整数 - 布尔值 - 字符串 - 列表 - 元祖 - 字典 - 集合 - range/enumcate 一.编码 encode ...

随机推荐

  1. CSS3 实现六边形Div图片展示效果

    原文:CSS3 实现六边形Div图片展示效果 效果图: 实现原理: 这个效果的主要css样式有: 1.>transform: rotate(120deg); 图片旋转 2.>overflo ...

  2. SSIS中执行SQL任务组件参数传递的问题

    原文:SSIS中执行SQL任务组件参数传递的问题 症状: 执行SQL任务,传递参数到子查询中,执行报错. 错误: 失败,错误如下:"无法从使用 sub-select 查询的 SQL 语句中派 ...

  3. .NET MVC4 实训记录之五(访问自定义资源文件)

    .Net平台下工作好几年了,资源文件么,大多数使用的是.resx文件.它是个好东西,很容易上手,工作效率高,性能稳定.使用.resx文件,会在编译期动态生成已文件名命名的静态类,因此它的访问速度当然是 ...

  4. 构建日均千万PV Web站点1

    如何构建日均千万PV Web站点 (一) 其实大多数互联网网站起初的网站架构都是(Linux+Apache+MySQL+PHP). 不过随着时代的发展,科技的进步.互联网进入寻常百姓家的生活.所谓的用 ...

  5. Visual Studio 自定义项目或工程模板

    如何利用 Visual Studio 自定义项目或工程模板 在开发项目的时候,由其是商业性质的大型项目时,往往需要在每个代码文件上都加上一段关于版权.开发人员的信息,并且名称空间上都需要带有公司的标志 ...

  6. Windows Server 服务器安全配置

    Windows Server 服务器安全配置 好吧,我标题党了.我只了解一些基本的安全配置.如果你是大湿,请绕道或者给予我严厉的批评让我进步谢谢. 编辑这篇文章用的编辑器编辑的,当我单击查看的时候发现 ...

  7. Dynamics CRM 2013 体验

    CRM 2013终于可以下载了,赶紧下载安装. 在CRM 2011 的基础上,CRM 2013 在UI上有了很大的变化.从CRM 2011 RollUp 12开始,微软就放弃了按钮的立体效果,逐渐趋向 ...

  8. Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布

    Microsoft Message Analyzer (微软消息分析器,“网络抓包工具 - Network Monitor”的替代品)官方正式版现已发布 来自官方日志的喜悦 被誉为全新开始的消息分析器 ...

  9. MongoDB学习(翻译2)

    C#驱动之LINQ教程 介绍 本教程涵盖了1.8发布版本对linq查询的支持. 开始本教程之前,你应该至少阅读下C#驱动教程关于C#驱动的介绍 快速开始 首先,添加下面命名空间到您的程序中: usin ...

  10. C# IE代理操作

    public class IPProxy { [System.Runtime.InteropServices.DllImport("wininet.dll", SetLastErr ...