1.语法注意点
- 0.注释:
1.单行注释: #
2.多行注释:
''' """
或
''' """
3.不换行输出
print(index, end=" ")
- 1.dir(builtins):查看所有的BIF组件
- 2.help(input):查看input的具体信息
- 3.字符串:前面加上 r 变成原生字符串,即程序不进行转义;例如str = r”hello”
- 4 .逻辑与操作符: and or not
- 5.布尔值: True False 首字母是大写的
- 6.运算符:
Python中:
10/8 = 1.25 10//8 = 1 2 ** 3 = 8 即2的3次方
7.判断语句: if和 elif: 相当于我们熟悉的 if 和else if
8.三元操作符: demo= x if x > y else y 即: 真 if 条件 else 假
9.for循环:
for demo in arrs
print(demo)
10.arr[1:3]: 返回数组中下标1到3(不包括三)的元素,即只返回arr[1],arr[2]
11.arr * 3:将arr拷贝三份,但并不改变自身
12.分片:
arr =arr2[]: 拷贝arr2到arr里,之后不会随着arr2改变而改变,直接复制的方法(arr = arr2)会使arr随着arr2改变而改变
- 13.元组(tuple): 戴上枷锁的数组(数组元素不可改变):
元组的创建: arr = (1,2,3,4,5,6) #小括号
() (1,) (1,2,3) 1,2,3 以上四种都属于元组 (1)是int类型
元组添加元素(类似于字符串)
arr = (1,2,3,4)
arr = arr[:2] + (5,) + arr[2:]
结果: arr = (1,2,5,3,4)
t[1:3] # 这里 1:3 是 i>=1 and i<3 的区间
# Tuple 可以转换成 list, 反之亦然。
转换方式为:
t = list( t )
反之:
arr = tuple( arr )
- 14.全局变量:
函数内部调用全局变量要声明:
global count
;
- 15.闭包:
def Fun1(x):
def Fun2(y):
return x * y;
return Fun2;
调用: Fun1(x)(y)
- 16.闭包内全局变量:
def Fun1():
x = 5
def Fun2():
nonlocal x #声明使用的是外函数的变量
x *= x
return x
return Fun2()
- 17.匿名函数(lambda):
g = lambda x : 2 * x + 1 #冒号前面是参数,后面是语句
相当于:
def g(x):
return 2 * x +1
- 18.递归(recursion):
设置最大递归次数:
import sys
sys.setrecursionlimit(100000)
- 19.字典(map):
# 创建方式1:
demo = {1:"one", 2:"two", 3:"three"}
# 获取"two":
demo[2]
# 创建方式2(dict()):
demo = dict((('F',10),('G',20),('H',30))) # 中间一层括号是元组
# 相当于: demo = {'F':10, 'G':20', 'H':30 }
# 创建方式3:
demo = dict(abc='你好', xyz='优秀')
# 相当于: demo = { 'abc':'你好', 'xyz':'优秀'}
# 获取'你好':
demo['abc']
# 添加一组数据:
demo['ijk']= '当然'
- 20.迭代器(Fibs.py):
1.iter(): __iter__(): 对象调用iter()得到该对象的迭代器
注意: __是两个下划线,而不是一个下划线
2.next(): __next__(): 调用next()迭代器就会返回下一个值:
例:
string = "FishC"
it = iter(string)
next(it) #此处返回'F'
#next()没有元素时会抛出StopIteration异常
例:循环输出string:
while true:
try:
each =next(string)
exceptStopIteration:
break
print(each)
# for in循环是靠iter()迭代机制实现的
- 21.生成器(yield): 其实是迭代器的一种实现
例:
def libs():
a = 0
b = 0
while True:
a,b = b,a + b
yield a #返回a并停止
- 22.列表推导式:
例:
a = [i for i in range(100) if not(i%2) and i%3]
#结果: 100以内所有能整出2但不能整除3的数
- 23.字典推导式:
例:
b = { i : i % 2 == 0 for i in range(10) }
结果: 0-10以内所有数字与数字是否为偶数的对应关系的字典:
即: { 0 : True , 1 :False , … , 9 : False }
- 24.集合推导式:
例:
c = { i for i in [ 1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 3 , 2 , 1 ]}
结果: { 1 , 2 ,3 , 4 , 5 , 6 , 7 , 8 } #不会出现重复的数字
25.元组推导式: 生成的是一组迭代器,可以将数据迭代输出
26.路径编码配置:
在site-packages文件夹里设置sitecumtomize.py文件,并写入:
import sys
sys.setdefaultencoding(‘gd2312’)
这样python自动安装的时候就会加载此文件,设置默认编码,路径拼写路径过程中就不会出错
2.类型转换
- 1.str->int 例:
a='520' b = int(a) 即 b = 520 (str即字符串类型)
- 2.int->str 例:
a = 5.99 b = str(a) 即 b = '5.99'
a = 5e19 b = str(a) 即 b = '5e+19'
3.异常处理
(1).异常类型总结
(2).try-except语句
用法:
try:
检测范围
except Exception[asreason]:
出现异常(Exception)后的处理代码
例1:
try:
Sum = 1 + '1'
f = open('我是一个文件.txt') #此时文件不存在
except OSError as reason:
print('文件出错啦T_T\n错误的原因是' + str(reason))
except TypeError as reason:
print('类型出错啦T_T\n错误的原因是' + str(reason))
例2:
try:
Sum = 1 + '1'
f = open('我是一个文件.txt')
except OSErrorTypeError:
print('出错啦T_T')
(3).try-finally语句
用法:
try:
检测范围
except Exception[asreason]:
出现异常(Exception)后的处理代码
finally:
无论如何都会被执行的代码
(4).raise引发一个异常
用法:
raise 异常名称
raise 异常名称:提示信息
(5).with语句
用法:
with open('我是一个文件.txt') as f:
for each_line in f:
print(each_line)
# 如果文件存在,with语句会自动调用f.close()
4.模块!模块!
- 1.if __name__ == '__main__':
如果是运行程序本身就执行条件后的语句
如果是在外部把此程序当成模块使用,则不执行条件后的语句
- 2.搜索路径: 最佳存放路径: 'C:\python\lib\site-packages'
添加搜索路径:
import sys
sys.path.append("路径…")
- 3.包(package):
创建包:
1.创建一个文件夹,用于存放相关的模块,文件的名字即包的名字
2.在文件夹中创建一个init.py的模块文件,内容可以为空
3.将相关的模块放入文件夹中
4.导入: import 报名.模块名 as 字段
文集推荐:
Java基础方法集1
Python基础知识完整版
Spring Boot学习笔记
Linux指令进阶
Java高并发编程
SpringMVC基础知识进阶
Mysql基础知识完整版
健康管理系统学习花絮(学习记录)
Node.js基础知识(随手笔记)
MongoDB基础知识
Dubbo学习笔记
Vue学习笔记(随手笔记)
声明:发表此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本我们(QQ:981086665;邮箱:[email protected])联系联系,我们将及时更正、删除,谢谢。