1.表达式
- 概述
由变量,常量和运算符组成的式子称为表达式
ALLOWED_EXT = ['.txt','.py']
2.算数运算符
- 格式
+ | - | * | / | % | // | ** |
加 | 减 | 乘 | 除 | 取余 | 整除 | 求幂 |
- 格式
# + a = 1 b = 2 c = a + b print(c) # - a = 1 b = 2 c = a - b print(c) # * a = 1 b = 2 c = a * b print(c) # / # print(4 / 2) # % print(10 % 3) # // print(4 // 2) print(10 // 3) # ** print(2 ** 2)
3.赋值运算符
-
格式
= 赋值
变量 = 表达式
4.复合运算符
+= | a += b | a = a + b |
-= | a -= b | a = a - b |
*= | a *= b | a = a * b |
/= | a /= b | a = a / b |
%= | a %= b | a = a % b |
//= | a //= b | a = a // b |
**= | a **=b | a = a ** b |
实例:
# += a = 1 b = 2 # a += b a = a + b # -= a -= b a = a - b # *= a *= b a = a * b # /= # a /= b # a = a / b # print(a) # //= # a //= b # a = a // b # **= # a **= b # a = a ** b # %= # a %= b # a = a % b print(a)
5.真值与假值
-
真值
True / 1
-
假值
False / 0
# True print(3 > 1) print(3 < 1) username = 'zhangsan' password = 123456 if username == 'lucky' and password == 123456: print('欢迎',username) else: print('请输入正确的用户名或者密码')
6.关系运算符
> | >= | < | <= | == | != |
大于 | 大于等于 | 小于 | 小于等于 | 等于 | 不等于 |
实例:
print(1 > 1) # False print(1 >= 1) # True print(1 < 1) # False print(1 <= 1) # True print(1 == 1) # True print(1 != 1) # False print(ord('a')) #97 print(ord('b')) #98
7.逻辑运算符
and | x and y | 返回布尔值的True和False两侧为真才为真 |
or | x or y | 返回布尔值的真或假,一侧为真就为真 |
not | not x | 返回布尔值的真或假,真为假 假为真 |
实例:
# 逻辑与 and print(True and True) # True print(True and False) # False print(False and False) # False print(1 and 0) # False print(3 > 1 and 1 > 3) # False print(3 > 1 and 1 > 3 and 3 > 1) # False # 逻辑或 or print(True or True) # True print(True or False) # True print(False or False) # False print(1 or 0) # True print(3 > 1 or 1 > 3) # True print(3 > 1 or 1 > 3 or 3 > 1) # True # 逻辑非 not print(not True) # False print(not False) # True print(not 'a') print(not '') print(not '0') print(not '0.0...')
8.成员运算符
in | 如果在指定的序列中找到对应的值 则为真 |
not in | 如果在指定的序列中不存在对应的值 则为真 |
# in nameList = ['彭于晏', '吴彦祖', '刘德华'] name = input('输入你喜欢的明星的名字:') # 判断你喜欢的明星是否在nameList里 在为真 则输出print语句的内容 # if name in nameList: # if name not in nameList: if not name not in nameList: # 字符串格式化 把name变量发到对应的%s的位置上 print('你喜欢的明星:%s今晚会来'%name) # 当为假的时候 执行else else: print('你喜欢的明星:%s今晚不会来'%name)
9.身份运算符
is | 判断两个标识符是否引用同一个对象是的话 则为真 否则为假 |
is not | 判断两个标识符是否不是引用同一个对象 不是的话 则为真 否则为假 |
# is 判断两个标识符是否引用同一个对象是的话 则为真 否则为假 a = 1 b = 1 # print(a is b) # id 查看变量的存储地址 # print(id(a)) # print(id(b)) x = [1, 2, 3] y = [1, 2, 3] print(x is y) print(x is y) # print(id(x)) # print(id(y))
is 判断的是 两个变量是否引用同一个对象,也就是这个变量在内的地址为同一个我们看到的是两个 但实际存储为一个 使用id查看内存地址
二.数据类型
概述:
在python中变量是没有类型的,它的6类型取决于你所给的值
标准数据类型
-
Number 数值类型
-
String 字符串类型
-
List 列表
-
Tuple 元组
-
Set 集合
-
Dictionary 字典
1.Number数值类型
-
int 整型(整数)
-
float 浮点型(小数)
-
bool 布尔型(True 和 False)
-
complx 复数
实例:
# int num1 = 123 num2 = 123.0 num3 = True # 使用type函数查看类型 print(type(num1)) # int print(type(num2)) # float print(type(num3)) # bool
关于数值计算的模块
函数名 | 说明 |
mach.ceil(num) import math |
向上取整 |
math.floor(num) import.math |
向下取整 |
round(num,[num]) | 将值进行四舍五入,参数2可选可有可无 |
pow(x,y) | x的y次幂 |
randrange(star,stop,step) | 返回一个区间的随机数 start起始值 终止值,步长(默认1) |
randint(start,end) | 随机整数 |
实例:
import math num1 = 1.2 num2 = 1.5 num3 = 1.5234 # 向上取整 # print(math.ceil(num1)) # 向下取整 # print(math.floor(num1)) # print(round(num1)) #1 # print(round(num2)) #2 # print(round(num3, 2)) #2 # print(round(num3, 2)) #1.52 print(pow(2, 3, )) # 8 print(pow(2, 3, 2)) #0 import random # 导入随机模块 (random 模块就是一个写了很多函数功能的py文件) print(random.randrange(1, 10)) # 步长为2 print(random.randrange(1, 10, 2)) print(random.randint(1, 100))
2.序列
概述:
序列是字符串,列表,元组的统称
特点:
-
都可以通过一个索引得到一个元素
-
默认索引值都是从零开始
-
可以通过切片的方法得到一个范围内的元素
-
有很多共同的操作(重复、切片、成员关系运算符)
3.String字符串
python中的字符串都是使用单引号或者双引号括起来的称为字符串
-
取单个值格式:
变量[索引]
索引值 从0开始 依次递增 最后一位可以使用-1获取
-
字符串的截取格式:
变量[头下标:尾下标]
-
步长
变量[头下标:尾下标:步长]
示例:
str1 = 'lucky' # 取值 print(str1[0]) # l print(str1[1]) # u print(str1[-1]) # y print(str1[-2]) # k # uc # 1称为头下标 2称为尾下标 取值不包含尾下标 print(str1[1:3]) # luck print(str1[0:4]) print(str1[0:-1]) # 获取 # 添加步长参数 print(str1[:]) # 获取所有 print(str1[0:]) # 获取所有 print(str1[:-1]) # 获取所有不包含最后一位 print(str1[:2]) # lu print(str1[:3]) # luc print(str1[::1]) # 获取所有 步长为1(默认为1) print(str1[::2]) # 获取所有 步长为2 lcy # * 将字符串str1 重复2次 # print(str1 * 2) print('l' in str1)
4.作业
题1:按照in和 not in的案例 写出一个 判断 .txt 不允许上传 但是.doc .md .py 可以上传的案例
a = ['.doc', '.md', '.py'] b = input('请输入文件名') if not b not in a: print('成功上传%s文件'%b) else: print('上传%s文件失败,没有该文件名'%b)
题2:将字符串lucky倒着输出
a = 'lucky' print(a[::-1])
题3:将lc从lucky中切片取出
a = 'lucky' print(a[0:3:2]) print(a[0:-1:2])