变量命名
1.大小写敏感
2.只能以字母、下划线、数字组成(数字不能开头)
3.见名知意
4.蛇形、小驼峰、大驼峰规则
5.变量(小写)
6.不能使用关键字命名
python中变量的创建
1.不用声明类型
2.每个变量使用前需要赋值
3.“=”的赋值是从右往左的
4.同时可以给多个变量赋值(逗号隔开变量跟值,会一一对应)
输入和输出
print()//“sep”在两个值之间插入字符,默认的是空格;”end“在值的末尾插入字符,默认的是“\n”。
input()是内置函数,用来获取用户输入的值,返回的是字符串类型。当未输入的时候,程序会停止向下执行,等待用户输入。
注释
单行注释:#
多行注释:ctrl+/
注释文档(多行注释):三个引号
代码块
通常以关键字开始,以:结束
缩进
python中,TAB是四个空格
pass语句
占位语句,单纯为了保证语法的正确性。
使用场景:
1.不知道后面的代码怎么写
2.不需要代码细节的时候
3.语法必须又没有实际代码可以写的时候
4.其他应用场景
pip安装和卸载
安装:pip install +库名
卸载:pip uninstall +库名
指定版本安装:pip install 库名+版本号
列出安装的库:pip list /pip freeze
批量安装库:pip install -r +库名文本地址 / pip freeze > +库名文本地址
简略显示库信息:pip show +库名
详细显示库信息:pip show -f +库名
库的更新:pip install -U +库名
逻辑运算符
- and 与
- or 或
- not 非
成员运算符
- in 判断某个值是否在指定序列中,在则返回True
- not in 判断某个值是否在指定序列中,不 在则返回True
身份运算符
- is 判断两个对象的内存地址是否一样,是则返回True
- is not 判断两个对象的内存地址是否一样,不是则返回True
三目运算符
Value = True_代码块1 if 条件语句 else False_代码块2
print(Value)
python运算优先级
指数 >乘除 取余 整除>比较运算符>赋值运算符>身份运算符>成员运算符>逻辑运算符
小整数对象池
在使用python之初,就给我们自懂创建了一个范围在-5~256的指针数组。它们连续值的地址相差32位。超过池子内的数值时,就会随机分配数据地址空间。
数值计算
- math.ceil() 舍去小数部分,整数部分向上取整
- math.floor() 舍去小数部分,整数部分向下取整
- math.pow() 冥次计算,但是浮点
- abs() 绝对值计算
- round() 四舍六入,五成偶
字符串切片
字符串不能修改!!列表可以!
slice(start,stop[,step])
思考题:name = 'hello world',如何取出'hlowrd',并倒叙输出?
name ='hello world'
print(name[::-2])
字符串格式化
思考题:name = 'handsome',age = 20,输出 ** 的年龄为 **
name = 'handsome'
age = 20
print('{}的年龄为{}'.format(name,age))
print(f'{name}的年龄为{age}') //必须要3.6.4及以上才能用
字符串常见操作
- S.find(sub) 返回该元素最小的索引(找不到值返回-1)
- S.index(sub) 返回该元素最小的索引(找不到值报错)
- S.replace(old,new[,count]) 替换(会备份,更改的是备份文件)
- S.split(sep=None) 以sep来分割字符串,并返回列表。sep默认为None,分割默认为空格
- S.startswith(prefix[,start[,end]]) 判断字符串是否以前缀开始,返回为BOOL值。
- S.endswith(suffix[,start[,end]]) 判断字符串是否以尾缀开始,返回为BOOL值。
- S.lower() 将字符串全部转为小写
- S.upper() 将字符串全部转为大写
- S.strip([chars]) 默认去掉字符串左右的空格
- S.isalpha() 判断字符串是否全为字母,返回值为BOOL
- S.isdigit() 判断字符串是否全为数字,返回值为BOOL
- S.isalnum() 判断字符串是否全为字母或数字,不存在特殊字符,返回值为BOOL
- S.join(iterable) 将序列中的元素以指定的字符连接成一个新的字符串
空列表的创建
li1 = ['qian','an','18'] //方法一
print(li1)
print(list('abc')) //必须要为可迭代参数(iterable)
访问列表值
- li[索引]
li = list('abc')
print(li)
li[0] = 'A' //修改列表中a为A
print(li)
列表中值的删除
- del li[idx] 根据索引删除
- list.remove() 根据元素删除
- list.pop() 最后一个开始弹出,也是根据索引删除(默认删除最后一个)
li = list('12345678')
del li[0]
print(li)
列表的特殊函数(iterable)
- len() 求取长度,即元素个数
- min()
- max()
- list.reverse() 列表反转
- list.sort(reverse = False) 排序,默认升序
列表常见操作
- L.append(object) 在列表末尾添加新的对象
- L.extend(iterable) 在新列表扩展原来的列表
- L.count(object) 统计某个元素在列表中出现的次数
- L.index(value) 从列表中找出某个值第一个匹配项的索引位置
- L.inser(index,object) 将对象插入列表
- L.pop([index]) 一处列表中的一个元素(默认最后一个元素),并且返回该元素的值
- L.remove(value) 移除列表中某个值的第一个匹配项
- L.reverse() 反向
- list.sort(reverse = False) 升序排序
- L.copy() 复制列表
- L.clear() 清空列表
元组
可以看作不可变的列表
tu = ('123') //同样为iterable
print(tu)
与列表的相同操作
- 使用方括号+下标访问元素
- 切片
- tuple.count()/tuple.index()
- python内置函数:reversed(),sorted() (reverse返回一个对象,要强转;sorted返回列表,默认升序)
- 加法及乘法
与列表的不同操作
- 不允许修改、新增某个元素(一级)
- 不允许删除某个元素(但可以删除整个元组)
字典
一般形式:{key:Value}
key值是不可变的。且键必须唯一,不然会被新的值覆盖。
dic = {'addr':'sichuan'}
dic1 = dic(name= '张三',age = 18)
字典访问
print(dic['addr']) //方法一
//方法二
print(dic.get('addr')) //返回'sichuan'
print(dic.get('addr1')) //返回None
//新增值
dic['gender'] = '女'
//如果原字典含有KEY,重新增值会重新赋值
//删除值
del dic['addr'] //删除地址Key
dic.pop('addr')
del dic //删除整个字典
dic.clear() //清空元素
字典的常用操作
- D.get(k[,d]) 返回指定键的值,如果值不在字典中,则返回default值
- D.items() 以列表返回可遍历的(键,值)元组对
- D.keys() 以列表返回字典所有的键
- D.values() 以列表返回字典所有的值
拓展
两个列表扩展成字典
//方法一
l1 = ['name','age']
l2 = ['wangwu',20]
dic1 = {l1[0]:l2[0],l1[1]:l2[1]}
//方法二
print(dict(zip(l1,l2))) //zip只能应用于可迭代对象
集合
无序列不重复的元素集
s = {1,2,3} //方法一
s1 = set('123') //方法二
s1 ={} //此时为字典
集合常用方法
- s.add() 只能添加不可变的数据类型
- s.update() 只能添加iterable类型
- s.remove() 删除指定元素类型
- s.pop() 删除随机元素