一、变量

变量定义: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. 工欲善其事:编辑器之神Vim(一)

    本篇文章收集了Vim最常用和实用的一些命令,掌握这些命令就可以使用Vim了 本文仅列举个人认为常用的命令,本系列文章更像是自己的学习笔记,而不是VIM使用教程. 如果你想了解vim的更多,可以看看Co ...

  2. WebIM(1)

    WebIM系列文章 之前笔者发布的云翔在线软件平台中已经包含了一个功能相对比较齐全的WebIM,这个系列的文章就是介绍如何开发出功能类似的WebIM,在文章开始前,先介绍一下相关的技术: 1.Come ...

  3. mysql存储过程及常用函数

    原文:mysql存储过程及常用函数 一.函数 1.数学函数 CEIL()进一取整 SELECT CEIL(1.2);2 FLOOR()舍一取整 SELECT FLOOR(1.9);9 MOD取余数(取 ...

  4. 【工作笔记五】html5的placeholder属性(IE如何兼容placeholder属性)

    placeholder属性,IE对其的支持表示无奈,firefox.google chrome表示毫无压力. HTML5对Web Form做了许多增强,比如input新增的type类型.Form Va ...

  5. linux下监控进程需掌握的四个命令

    linux下监控进程需掌握的四个命令   在LInux系统下,最困难的工作之一就是跟踪正在系统中运行的程序,尤其是现在,图形桌面使用很多的程序,只是为了生成一个桌面环境,系统中运行了太多的进程,幸运的 ...

  6. iOS基础 - 多线程线程

    一.多线程的应用 l 充分发挥多核处理器的优势,并发(同时执行)执行任务让系统运行的更快.更流畅 二.进程与线程概念 l 一个运行的程序就是一个进程或者叫做一个任务 l 一个进程至少包含一个线程,线程 ...

  7. Java读书笔记1

    Java逍遥游记读书笔记 前言 必须先来一句,这是入门级别,高手勿喷~ 写Android的时候总有一些语句不是很理解,其实大部分是Java的内容,所以想系统的学下Java. 这本书——<Java ...

  8. HDOJ 4607 - Park Visit

    用树形DP找到这颗树距离最远的两个点....对于一个询问K..若小于最远距离..显然只要走最远的这条边走K-1个边就行了.. 当K大于了最远距离..就要去走其他的点...而去其他点必须再回到这个主线. ...

  9. new关键字

    Javascript的实例化与继承:请停止使用new关键字   本文同时也发表在我另一篇独立博客 <Javascript的实例化与继承:请停止使用new关键字>(管理员请注意!这两个都是我 ...

  10. 什么时候用spring

    论公司spring的滥用   这个公司每个项目用不同的一套开发框架,实在忍不住拿一个出来说说事.