一点Python基础总结

Python创始人 吉多·范罗苏姆
1991年 第一个Python解释器诞生,用C语言实现的
解释器
计算机不能直接理解任何除机器语言以外的语言,将其他语言翻译成机器语言的工具,称为编译器。
编译器有两种 一个是编译 一个是解释。存在翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器。
编译型语言比解释型语言执行速度更快。
解释型语言比编译型语言跨平台性更好。
设计哲学
优雅 明确 简单 仁慈的独裁者
Python 特点
完全面向对象的语言,一切皆对象。
拥有一个强大的标准库
大量的第三方模块

面向对象的思维方式
要解决一个问题前,先考虑由谁来做,怎么做事情是谁的职责,最后把事情做好就行,对象就是谁。
要解决复杂的问题就可以找多个不同的对象,各司其职,共同实现,最终完成需求。
Python优缺点
优点:简单易学,免费开源,面向对象,丰富的库,可扩展性。
缺点:运行速度慢,国内市场较小,中文资料匮乏。
单行注释
代码行上加#号
多行注释
连续的三个"(""")

注释不是越多越好,对于一目了然的代码,不需要添加注释
对于复杂的操作,应该在操作开始前写上若干行注释
对于不是一目了然的代码应在其尾行添加注释,至少有两个空格
参考Python官网代码规范

算数运算符
+(加) -(减) *(乘) /(除) //(取整除) %(取余) **(幂)
‘-’*8 代表-拼接8次
计算机三大件(CPU 内存 硬盘)
变量定义
变量名=数据类型代表的值
print() 显示函数
type(变量名) 显示变量的类型
Python数据类型
str(字符串) int(整数) float(浮点,小数)bool(布尔)
Python3里都是不管多大的整数都是int类型
两个字符串相加等同于拼接字符串
整数和字符串之间不能进行其他计算
input() 输入函数
函数:一个提前准备好的方法(自己或别人写的代码)
类型转换 int(x) float(x)

循环嵌套 99乘法表

row=1
while row<=9:
    col=1
    while col<=row:
        print("%d * %d = %d" % (col,row,col*row),end="\t")
        col+=1
    print("")
    row+=1

\ 反斜杠符号
’ 单引号
" 双引号
\n 换行
\t 横向制表符
\r 回车

函数
就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用
定义函数关键词 def
导入文件 import

函数的文档注释
在函数定义的下方,使用连续的三对引号之间编写对函数的说明文字
ctrl+Q 可以查看函数的说明信息

不需要定义返回类型 直接return返回结果
注意:如果给Python文件起名时,以数字开头是无法再pycharm中通过import导入这个模块的

pyc文件 编译过的Python文件

解释器为了提高性能会将模块的源码转为字节码

列表 存储相同类型的数据

定义列表
list = [“zhangsan”,“lisi”,“wangwu”]
常用方法
list.append list.count list.insert
list.reverse list.clear list.extend
list.pop list.sort list.copy
list.index list.remove

取值(知道位置想获取值)
list[index]

取索引(知道数据内容想知道在列表中的位置)
list.index(“zhangsan”)

修改
list[index]=要修改的内容

追加 在列表末尾追加内容
list.append(内容)

在指定位置插入内容
list.insert(index,“晓明”)

合并列表
list1.extend(list2)

清空列表
list.clear

删除指定数据,如果数据重复,删除第一次出现的数据
list.remove(数据)

pop默认最后一个数据,可以指定数据
list.pop()/list.pop(index)

列表长度
len(list)

列表中某个数据出现的次数
list.count(“zhangsan”)

list.sort升序
list.reverse逆序

for in 循环遍历

元组 存储不同类型的数据,不允许被修改
定义元组
tuple=(“zhangsan”,18,1.75)

获取数据
tuple[index]
获取位置
tuple.index(“zhangsan”)
出现次数
tuple.count(“zhangsan”)

格式化字符串后面的() 本质上就是元组
info_str="%s 年龄是 %d 身高是 %.2f" %info_tuple
print(info_tuple)

列表转元组
tuple=tuple(list)

元组转列表
list=list(tuple)

字典是同样可以存储多个数据
列表是有序的对象集合
字典是无序的对象集合
字典使用键值对存储数据
定义字典
dict={“name”:“张三”,“age”:18,“gender”:“男”}
取值
dict[“name”]
增加/修改
dict[“age”]=18
如果key不存在会新增键值对,如果存在会修改已存在的键值对

删除
dict.pop(“name”)
split(str="",num)
拆分字符串成集合

合并字符串
“”.join(string)

切片使用索引值来限定范围,从一个大的字

符串中切出小的字符串
string[2:6]
2是起始索引,6是步长

string[::2]
每隔一个取一个

string[-1]
倒数第一个

string[2:-1]
2到倒数第一,不包含倒数第一个

string[::-1]
逆序

Python内置函数
len(item)返回长度
del(item)删除
max(item)返回最大
min(itme)返回

比较大小可以直接用比较运算符 字典之间

不能比较,不同类型不能比较

字典没有索引的概念,不能切片

运算符

  • 合并
  • 重复

成员运算符
in 是否在字典中
3 in {1,3,5}

not in不在字典中
3 not in {1,3,5}

完整的for循环
for i in list:
循环体代码
else:
没有通过break退出循环,循环结束后

,会执行的代码。

pass关键字 代表一个占位符,保证程序代

码结构正确

#TODO 用于标记要去做的工作,高亮显示,

完成之后删除

重命名快捷键 shift+F6

变量的引用

看到赋值语句,首先把注意力放在等号的右

两个变量值的交换
方法一:c=a a=b b=c
方法二:a=a+b b=a-b a=a-b
方法三:a,b=b,a Python专有方法

num+=num 变量之间做+运算
num_list+=num_list 列表之间做extend

整合

多值参数
num 代表一个数据
*args代表接收一个元组
**kwargs代表接收一个字典

拆包语法,可以简化元组变量/字典变量的

传递
将一个元组变量直接传给args
将一个字典变量直接传递给kwargs
拆包就是在元组变量前加一个*
在字典变量前加两个*

递归
自己调用自己,执行的方法一样,但参数不一样,一定要设定出口。

def a(num):
    if num==1:
        return 1
    temp=a(num-1)
    return temp+num
print(a(3))

猜你喜欢

转载自blog.csdn.net/weixin_42481081/article/details/82912360