3. 运算符python
3.1 算数运算符程序员
是完成基本的算术运算使用的符号,用来处理四则运算,而“+”和“*”还能够用来处理字符串。面试
3.2 比较(关系)运算符算法
3.3 赋值运算符编程
3.4 身份运算符数组
身份运算符比较两个对象的内存位置。经常使用的有两个身份运算符,以下所述:安全
辨析dom
3.5 成员运算符python2.7
Python成员运算符测试给定值是否为序列中的成员。 有两个成员运算符,以下所述:编程语言
3.6 逻辑运算符
3.7 运算符优先级
Python 的解释器有多大?
# 1. 确认解释器所在位置 $ which python # 2. 查看 python 文件大小(只是一个软连接) $ ls -lh /usr/bin/python # 3. 查看具体文件大小 $ ls -lh /usr/bin/python2.7
4. 变量
4.1 变量定义
变量名 = 值
使用交互式方式,若是要查看变量内容,直接输入变量名便可,不须要使用 print 函数
使用解释器执行,若是要输出变量的内容,必需要要使用 print 函数
4.2 变量的类型
提示:在 Python 2.x 中,整数 根据保存数值的长度还分为:
In [1]: type(name)
<补>不一样类型变量之间的计算
<补>从键盘获取输入信息:input
字符串变量 = input("提示信息:")
<补>类型转换函数
price = float(input("请输入价格:"))
<补>格式化输出:print
print("格式化字符串" % 变量1) print("格式化字符串" % (变量1, 变量2...))
4.3 变量的命名
4.3.1 标识符和关键字
标示符就是程序员定义的 变量名、函数名
关键字 就是在 Python 内部已经使用的标识符
In [1]: import keyword In [2]: print(keyword.kwlist)
4.3.2 变量的命名规则
命名规则 能够被视为一种 惯例,并没有绝对与强制
目的是为了 增长代码的识别和可读性
注意 Python 中的 标识符 是 区分大小写的
固然,还有驼峰命名法:
小驼峰式命名法:第一个单词以小写字母开始,后续单词的首字母大写,例如:firstName、lastName。
大驼峰式命名法,每个单词的首字母都采用大写字母,例如:FirstName、LastName、CamelCase 。
4.4 高级变量类型
在 Python 中,全部 非数字型变量 都支持如下特色:
1. 都是一个 序列 sequence,也能够理解为 容器
2. 取值 []
3. 遍历 for in
4. 计算长度len、最大/最小值max/min、比较、删除del
5. 连接 + 和 重复 *
6. 切片
4.4.1 列表(list)
索引 就是数据在 列表 中的位置编号,索引 又能够被称为 下标
注意:从列表中取值时,若是 超出索引范围,程序会报错
name_list = ["zhangsan", "lisi", "wangwu"]
<补>del 关键字
In [1]: l = [1,2,3,4] In [2]: del l[1] In [3]: l[1] Out[3]: 3
在平常开发中,要从列表删除数据,建议 使用列表提供的方法
<补>函数与方法
函数名(参数)
函数须要死记硬背
对象.方法名(参数)
在变量后面输入 .,而后选择针对这个变量要执行的操做,记忆起来比函数要简单不少
<补>循环遍历
# for 循环内部使用的变量 in 列表 for name in name_list: 循环内部针对列表元素进行操做 print(name)
for-in循环流程图
4.4.2 元组(tuple)
info_tuple = ("zhangsan", 18, 1.75)
建立空元组:
info_tuple = ()
元组中 只包含一个元素 时,须要 在元素后面添加逗号:
info_tuple = (50, )
元组示意图
<补>元组和列表之间的转换
list(元组)
tuple(列表)
4.4.3 字典(dict)
dict(字典) 是 除列表之外 Python 之中 最灵活 的数据类型。
字典一样能够用来 存储多个数据,一般用于存储 描述一个 物体 的相关信息
xiaoming = {"name": "小明", "age": 18, "gender": True, "height": 1.75}
# for 循环内部使用的 `key 的变量` in 字典 for k in xiaoming: print("%s: %s" % (k, xiaoming[k]))
提示:在实际开发中,因为字典中每个键值对保存数据的类型是不一样的,因此针对字典的循环遍历需求并非不少
card_list = [{"name": "张三",
"qq": "12345",
"phone": "110"},
{"name": "李四",
"qq": "54321",
"phone": "10086"}
]
4.4.4 字符串(str)
大多数编程语言都是用 " 来定义字符串
string = "Hello Python" for c in string: print(c)
提示:在 python 中对字符串操做,内置提供的方法足够多,使得在开发时,可以针对字符串进行更加灵活的操做!应对更多的开发需求!
1) 判断类型 - 9
2) 查找和替换 - 7
3) 大小写转换 - 5
4) 文本对齐 - 3
5) 去除空白字符 - 3
6) 拆分和链接 - 5
<补>字符串的切片
字符串[开始索引:结束索引:步长]
注意:
<补>索引的顺序和倒序
num_str = "0123456789" # 1. 截取从 2 ~ 5 位置 的字符串 print(num_str[2:6]) # 2. 截取从 2 ~ `末尾` 的字符串 print(num_str[2:]) # 3. 截取从 `开始` ~ 5 位置 的字符串 print(num_str[:6]) # 4. 截取完整的字符串 print(num_str[:]) # 5. 从开始位置,每隔一个字符截取字符串 print(num_str[::2]) # 6. 从索引 1 开始,每隔一个取一个 print(num_str[1::2]) # 倒序切片 # -1 表示倒数第一个字符 print(num_str[-1]) # 7. 截取从 2 ~ `末尾 - 1` 的字符串 print(num_str[2:-1]) # 8. 截取字符串末尾两个字符 print(num_str[-2:]) # 9. 字符串的逆序(面试题) print(num_str[::-1])
4.4.5 公共方法和变量的高级应用
4.4.5.1 内置函数
Python 包含了如下内置函数:
注意:字符串 比较符合如下规则: "0" < "A" < "a"。
4.4.5.2 切片
4.4.5.3 运算符
注意
4.4.5.4 内置函数完整的 for 循环语法
for 变量 in 集合: 循环体代码 else: 没有经过 break 退出循环,循环结束后,会执行的代码
应用场景:
4.4.5.5 变量的引用
在 Python 中:变量 和 数据 是分开存储的,数据 保存在内存中的一个位置,变量 中保存着数据在内存中的地址,就叫作 引用,使用 id() 函数能够查看变量中保存数据所在的 内存地址。
注意:若是变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用
在 Python 中,变量的名字相似于 便签纸 贴在 数据 上:
在 Python 中,函数的 实参/返回值 都是是靠 引用 来传递来的
结果
结果
4.4.5.6 可变和不可变类型
注意:字典的 key 只能使用不可变类型的数据
注意
<补>哈希 (hash)
4.4.5.7 局部变量和全局变量
提示:在其余的开发语言中,大多 不推荐使用全局变量 —— 可变范围太大,致使程序很差维护!
注意:函数执行时,须要处理变量时 会:
注意:函数不能直接修改全局变量的引用,若是要修改,必需要用global声明该变量是全局变量。
注意:为了不局部变量和全局变量出现混淆,在定义全局变量时,有些公司会有一些开发要求,例如:全局变量名前应该增长 g_ 或者 gl_ 的前缀。
5. 判断(分支)
5.1 if 语句语法
一、if 判断语句基本语法:
if 要判断的条件: 条件成立时,要作的事情 ……
注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格
二、若是须要在 不知足条件的时候,作某些事情,该如何作呢?
if 要判断的条件: 条件成立时,要作的事情 …… else: 条件不成立时,要作的事情 ……
条件1 and 条件2 :两个条件同时知足,返回 True 条件1 or 条件2:两个条件只要有一个知足,返回 True not 条件:非,不是
三、若是但愿 再增长一些条件,条件不一样,须要执行的代码也不一样 时,就可使用 elif :
if 条件1: 条件1知足执行的代码 …… elif 条件2: 条件2知足时,执行的代码 …… elif 条件3: 条件3知足时,执行的代码 …… else: 以上条件都不知足时,执行的代码 ……
注意
四、在开发中,使用 if 进行条件判断,若是但愿 在条件成立的执行语句中 再 增长条件判断,就可使用 if 的嵌套:
if 条件 1: 条件 1 知足执行的代码 …… if 条件 1 基础上的条件 2: 条件 2 知足时,执行的代码 …… # 条件 2 不知足的处理 else: 条件 2 不知足时,执行的代码 # 条件 1 不知足的处理 else: 条件1 不知足时,执行的代码 ……
5.2 if语句的应用
5.2.1 随机数的处理
import random
random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20 random.randint(20, 20) # 结果永远是 20 random.randint(20, 10) # 该语句是错误的,下限必须小于上限
5.2.2 石头剪刀布
# 导入随机工具包 # 注意:在导入工具包的时候,应该将导入的语句,放在文件的顶部 # 由于,这样能够方便下方的代码,在任何须要的时候,使用工具包中的工具 import random # 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3) player = int(input("请输入您要出的拳 石头(1)/剪刀(2)/布(3):")) # 电脑 随机 出拳 —— 先假定电脑只会出石头,完成总体代码功能 computer = random.randint(1, 3) print("玩家选择的拳头是 %d - 电脑出的拳是 %d" % (player, computer)) # 比较胜负 # 1 石头 胜 剪刀 # 2 剪刀 胜 布 # 3 布 胜 石头 # if (() # or () # or ()): if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)): print("欧耶,电脑弱爆了!") # 平局 elif player == computer: print("真是心有灵犀啊,再来一盘") # 其余的状况就是电脑获胜 else: print("不服气,咱们决战到天明!")
我刚整理了一套2018最新的0基础入门和进阶教程,无私分享,加Python学习qun :227-435-450便可获取,内附:开发工具和安装包,以及系统学习路线图
6. 循环
6.1 程序执行的三大流程
在程序开发中,一共有三种流程方式:
程序执行的三大流程
6.2 while 循环基本使用
while 语句基本语法:
初始条件设置 —— 一般是重复执行的 计数器 while 条件(判断 计数器 是否达到 目标次数): 条件知足时,作的事情1 条件知足时,作的事情2 条件知足时,作的事情3 ...(省略)... 处理条件(计数器 + 1)
因为程序员的缘由,忘记 在循环内部 修改循环的判断条件,致使循环持续执行,程序将陷入死循环而没法终止!
计数器 +1 :能够经过赋值运算符简化代码的编写。
常见的计数方法有两种,能够分别称为:
所以,你们在编写程序时,应该尽可能养成习惯:除非需求的特殊要求,不然 循环 的计数都从 0 开始
6.3 break 和 continue
break 和 continue 是专门在循环中使用的关键字
6.4 while 循环嵌套
while 条件 1: 条件知足时,作的事情1 条件知足时,作的事情2 条件知足时,作的事情3 ...(省略)... while 条件 2: 条件知足时,作的事情1 条件知足时,作的事情2 条件知足时,作的事情3 ...(省略)... 处理条件 2 处理条件 1
示例:
""" 打印 9 行小星星: * ** *** **** ***** ****** ******* ******** ********* """ # 定义起始行 row = 1 # 最大打印 9 行 while row <= 9: # 定义起始列 col = 1 # 最大打印 row 列 while col <= row: # end = "",表示输出结束后,不换行 # " " 能够在控制台输出一个制表符,协助在输出文本时对齐 print("%d * %d = %d" % (col, row, row * col), end=" ") # 列数 + 1 col += 1 # 一行打印完成的换行 print("") # 行数 + 1 row += 1
<补>字符串中的转义字符
制表符 的功能是在不使用表格的状况下在 垂直方向 按列对齐文本