上周内容回顾
-
编写py程序的两种方式
1.cmd窗口 2.编辑环境 pycharm vscode sublime
-
编程环境的选择
pycharm
-
变量与常量
1.变量的定义(底层逻辑)
变量名 赋值符号 变量值
2.变量名的命名规范
数字 字母 下划线的组合
数字不能开头 下划线尽量不要用(后续有特殊含义)
不能与关键字冲突
'''变量名一定要做到见名知意'''
3.变量名的命名风格
1.下划线式(python推荐使用)
user_name = 'jason'
2.驼峰体(js推荐使用)
大驼峰
UserName = 'jason'
小驼峰
userName = 'jason'
4.python中没有严格意义上的常量 默认使用全大写的变量名作为常量
全大写的变量名主要用在配置文件
# ps:在其他编程语言中有真正的常量
-
垃圾回收机制
引用计数 标记清除 分代回收
-
python基本数据类型
整型int age = 18 浮点型float salary = 1.1 字符串str 引号引起来的部分 描述性 文本 name = 'jason' name1 = "jason" name2 = """jason""" name3 = '''jason''' # 三引号还可以用来表示注释 列表list 中括号括起来 内部可以存放多个元素 元素与元素之间都好隔开 元素可以是任意数据类型 [1, 'jason', [1,2,3,4]] 字典dict 大括号括起来 内部可以存放多个元素 元素的表现形式是k:v键值对 k一般是对v的描述性信息 v可以是任意数据类型 {'username':'jason','password':123} 布尔值bool True False """ 当变量名存储的值是布尔值的情况下 那么变量名一般都是以is开头 is_delete is_right is_status """
今日内容概要
- 与用户交互
与程序实现沟通交流
-
格式化输出
-
基本运算符
数学运算符
赋值运算符
逻辑运算符
比较运算符
增量运算符
链式运算符
...
今日内容详细
与用户交互
输入
input
# python2与python3的区别
'''python3'''
# 将获取到的用户输入赋值给变量名res
res = input('please input your username>>>:')
print(res, type(res)) # id返回一串数字(可以看成是内存地址) type返回变量值的数据类型
'''input获取到的用户输入都会存成字符串形式'''
'''python2'''
input需要用户自己人为的指定输入的数据类型
'jason' [1,2,3,4]
raw_input等价于python3里面的input
输出
print
1.先写print
print('jason')
2.先写待打印的内容
'jason'.print # tab键即可
格式化输出
# my name is 用户输入的用户名 my age is 用户输入的年龄
# 1.获取用户的用户名和密码
# name = input('username>>>:')
# age = input('age>>>:')
# 2.打印规定的文本内容
# print('my name is', name, 'my age is', age)
# 格式化输出
# 提前定义文本模板
# tmp = 'my name is %s my age is %s'
"""
%s是一个占位符 后续传值替换即可
"""
# name = input('username>>>:')
# age = input('age>>>:')
# print(tmp % (name, age)) # 按照先后顺序一一传值
# print('my name is %s my age is %s' % ('jason')) # 少了不行
# print('my name is %s my age is %s' % ('jason',123,12)) # 多了也不行
"""
%d也是一个占位符 只能给数字占位
"""
# print('my name is %s my age is %s'%('jason','123') )
# print('my name is %s my age is %d'%('jason',123) )
print('%08d'%123)
print('%08d'%213213213213)
运算符
1.赋值运算符
name = 'jason'
# 先看右边再看左边
2.算术运算符
+ 加
- 减
* 乘
/ 除
// 整除
% 取余
** 幂指数
print(1 - 1)
print(1 * 10)
print(10 / 2)
print(10 // 3)
print(10 % 3)
print(2 ** 4)
# python语言对数字的精确的其实并不是很高 需要借助于'大佬'辅助
# 其他数据类型也可以使用局部的数学运算符
print('hello' + 'world') # 字符串拼接
print('hello'*2) # 字符串复制
3.增量赋值
x = 1
x = x + 1 # 等价于 x += 1
print(x)
x -= 1 # x = x - 1
x *= 1 # x = x * 1
x /= 1 # x = x / 1
...
4.链式赋值
# x y z 10
# x = 10
# y = x
# z = x
# 链式赋值
x = y = z = 10
5.交叉赋值(面试题可能会出)
x = 10
y = 999
# 将x与y对调指向
# x = y
# y = x
# print(x,y)
# 方式1 中间变量
# z = x
# x = y
# y = z
# print(x,y)
# 交叉赋值
x, y = y, x
print(x, y)
6.解压赋值
# name_list = ['jason','egon','tony','kevin']
# name1 = name_list[0]
# name2 = name_list[1]
# name3 = name_list[2]
# name4 = name_list[3]
# print(name1,name2,name3,name4)
# 解压赋值
# name1, name2, name3, name4 = name_list # 按照位置一一对应赋值
# print(name1, name2, name3, name4)
# name1, name2, name3 = name_list # 少了不行
# name1, name2, name3, name4, name5 = name_list # 多了不行
# 可以打破个数必须相等的情况
l = [11, 22, 33, 44, 55, 66, 77, 88, 99]
a, b, *_, c = l
print(a, b, _, c)
a, b, *_ = l
print(a, b, _)
"""
*_ 下划线表示接收到的数据无需使用
"""
7.比较运算符
> < >= <= == !=
print(10 > 2)
print(2 == 2)
print(3 != 4)
# 补充
print('hello' > 'world')
"""
字母内部对应着数字
A-Z 65-90
a-z 97-122
"""
print([1,2,3] > [0,1,2,3,4,5,6,7,8,9])
8.逻辑运算符
与 and
连接多个条件 条件必须都成立
或 or
连接多个条件 一个成立就可以
非 not
取反
print(True and False and 8)
print(True or False or 8 )
print(not True)
# 布尔值为False: 0 None '' [] {} (重要)
"""
三者混合使用是存在优先级的
但是我们在混合使用的时候不应该考虑优先级
通过加括号的形式来明确优先级
"""