【Python】基础理论
文章目录
- 前言
- 1 基础定义规则
- 1.1 输入输出
- 1.2 变量规则
- 1.3 占位符使用
- 2.2数据类型
- 2.2.1数值
- 2.2.2字符串
- 2.2.3列表(list)
- 2.2.4元组(tuple)
- 2.2.5集合(set)
- 2.2.6字典(dictionary)
- 2.3控制结构
- 2.3.1判断结构
- 2.3.2循环结构
- 2.4函数定义
- 2.4.1函数概念
- 2.4.2函数参数
- 2.4.3函数变量作用域
- 2.4.4实战
- 2.4.5包和模块
- 2.5对象定义
- 2.5.1基本定义
- 2.5.2基本特性
- 2.5.3继承特性
- 2.6文件对象和异常处理
- 2.6.1文件对象
- 2.6.2异常处理
- 2.7装饰器编写
- 2.7.1基本概念
- 2.8多线程
- 2.9反射方法
- 总结
前言
本文主要是Python的基础知识,包括基础定义规则、数据类型、控制结构、函数定义、对象定义、文件对象和异常处理、装饰器编写、多线程和反射方法等。
1 基础定义规则
运行Python的3种方式
交互式解释器中直接运行 命令行方式 编辑器运行(pycharm,vscode等)
1.1 输入输出
input() 接收用户输入,Python3.x后,默认返回值是字符串
print() 打印输出,可以用‘,’分隔参数,默认带回车(换行显示)
‘str’表示字符串,print默认是打印一行,结尾加换行。end=’ '意思是末尾不换行,加空格
a = input("请输入一个数值:")
print("数值结果为:", a)
print("a的数据类型为:", type(a))
print("ab", "cd", sep="*",end="")
1.2 变量规则
1、变量不需要定义类型,类型由赋值给它的数据类型来定义
2、变量在使用前一定要赋值,变量在赋值后才会被创建
3、"="来给变量赋值
变量命名规则
1、第一个字符必须是字母或者是下划线,py文件不要以数字和下划线开头
2、变量名对大小写敏感,首字母大写可以有效避免关键字
3、不要使用保留关键字,如as、and等
4、命名尽量做到顾名思义
1.3 占位符使用
%
%d 整数
%f 浮点数
%s字符串
%% 表示%本身
a = int(input("请输入您的年龄:"))
print("您的年龄是%d岁" % a)
# %f
b = 3.141592653
print("Π的值为%f" % b)
print("Π的值为%.2f" % b) # 保留2位小数
# %s
print("hello,%s和%s" % ("小明", '小红')) # 多个占位符
#%%
print("存活率为%d%%" % 40)
结果:input返回的是字符串需要转换成数值型的,%%是对%转义
请输入您的年龄:24
您的年龄是24岁
Π的值为3.141593
Π的值为3.14
hello,小明和小红
存活率为40%
format&f
a = int(input("请输入您的年龄:"))
print("您的年龄是{}岁" .format(a))
b = 3.141592653
print("Π的值为{}".format(b))
print("Π的值为{:.2f}".format(b)) # 保留2位小数
print("hello,{}和{}".format("小明", '小红')) # 多个占位符
print(f"Π的值为{b}") # f
结果:format支持不指定类型占位,f直接使用变量进行占位
请输入您的年龄:22
您的年龄是22岁
Π的值为3.141592653
Π的值为3.14
hello,小明和小红
Π的值为3.141592653
注释
单行注释采用#注释
多行注释使用’‘’‘’'或者是"“”“”"
2.2数据类型
不可变数据类型
不可变数据类型:改变了数据类型值后,就变成新的内存地址,原来的就会释放
不可变类型:数字、字符串、元组
s = 1
print(s)
print(id(s))
s = s + 1
print(s)
print(id(s))
结果:内存地址id值发生了变化
1
1787650272 # 1的内存地址2
1787650304 # 2的内存地址
可变数据类型
可变数据类型:改变数据的值,不会产生新的变量
可变类型:列表、集合、字典
s = [1, 2, 3]
print(s)
print(id(s))
s.append(4)
print(s)
print(id(s))
结果:
[1, 2, 3]
2687099754184
[1, 2, 3, 4]
2687099754184
2.2.1数值
数值类型:整型(int),浮点型(float),复数(complex)
加减乘除、整除、取余
print(3+2)
print(3-2)
print(3*2)
print(3/2)
print(3//2)
print(3%2)
结果:
5
1
6
1.5
1
1
math中常用的方法
cell 取大于等于X的最小整数值,如果x是个整数就返回X
fabs 返回x的绝对值
floor 取小于等于X的最大整数值,如果x是个整数就返回X
pow 返回x 的y次方,即x**y
sqrt 求x的平方根
import math
print(math.ceil(4.5))
print(math.fabs(-3))
print(math.floor(4.5))
print(math.pow(2, 4))
print(math.sqrt(16))
结果:
5
3.0
4
16.0
4.0
random中常用的方法
random.random():返回[0,1]之间浮点数 左闭右开,随机数可以是0,但不可能是1
random.randint(a,b): 生成a和 b之间的随机整数,也就是[a,b]
rangdom.randrange(a,b): 生成随机整数不包含b,即[a,b)
random.uniform(a,b):生成[a,b之间的随机浮点数
random.choice([]):从列表中随机取出一个元素
random.shuffle([]):打乱列表中元素的顺序
random.sample([],n):从序列中随机取出n个元素
import random
print(random.random())
print(random.randint(1, 10))
print(random.randrange(1, 10))
print(random.uniform(1, 10))
print(random.choice([1, 2, 3, 4]))
a = [1, 2, 3, 4, 5]
random.shuffle(a)
print(a)
print(random.sample(a, 3))
2.2.2字符串
字符串切片
字符串有两个下标,正从0开始,反从-1开始
格式:[start
【Python】基础理论相关推荐
- python 玩公众号游戏_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...
我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...
- python 小说-用Python爬下十几万本小说,再也不会闹书荒!
原标题:用Python爬下十几万本小说,再也不会闹书荒! 自从看了师傅爬了顶点全站之后,我也手痒痒的,也想爬一个比较牛逼的小说网看看,于是选了宜搜这个网站,好了,马上开干,这次用的是mogodb数据库 ...
- 以下关于python自动化运维错误的是_Python在自动化运维时经常会用到的方法
原标题:Python在自动化运维时经常会用到的方法 本文由马哥教育Python自动化实战班6期学员推荐,转载自互联网,作者为seed,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付 ...
- python 完全面向对象_史上最全的Python面向对象知识点疏理
原标题:史上最全的Python面向对象知识点疏理 面向对象技术简介 类: 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.class 类变量:类变 ...
- python大纲图_Python课程大纲
课程大纲被分成6个部分,每个部分又被分解为多个阶段, 而每个阶段包含了多个Try, Workshop, FactToFace, Apply. 这里只列出部分,和阶段: CHAPTER 0 : 预科[可 ...
- python商城源码_自学Python才几天,就成功编写出俄罗斯方块游戏,附自学教程
人们常说,python不适合做游戏,但我偏爱玩游戏,做不了大的,做个小的也行啊. 于是,我在自己毫无基础的条件下,用两天时间学python基础理论,再用已有的俄罗斯方块游戏源码和源文件,在我的不懈努力 ...
- python从入门到精通需要多久-python从入门到精通需要多久?你需要先明白这两个点...
我在学习过程中,深切地感受到成人或进入就业市场的人,学习新知识,目的不是积累,但要解决的问题. 所以这就需要要求我想明白两个主要问题: 1.学习python应该解决哪些问题? 解决这个问题就是确定学习 ...
- python自学要多久-python从入门到精通需要多久?你需要先明白这两个点
我在学习过程中,深切地感受到成人或进入就业市场的人,学习新知识,目的不是积累,但要解决的问题. 所以这就需要要求我想明白两个主要问题: 1.学习python应该解决哪些问题? 解决这个问题就是确定学习 ...
- 运维学python用不上_作为运维你还在想要不要学Python,看完这篇文章再说!
原标题:作为运维你还在想要不要学Python,看完这篇文章再说! 本文由马哥教育Python自动化实战班5期学员推荐,转载自简书,作者为Li.Yingjie,内容略经小编改编和加工,观点跟作者无关,最 ...
- python培训班课程大纲_Python课程大纲
课程大纲被分成6个部分,每个部分又被分解为多个阶段, 而每个阶段包含了多个Try, Workshop, FactToFace, Apply. 这里只列出部分,和阶段: CHAPTER 0 : 预科[可 ...
最新文章
- jquery跨域调用wcf
- DL之CNN:卷积神经网络算法简介之卷积矩阵、转置卷积(反卷积Transpose)、膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略
- 百度2012校招笔试题之全排列与组合
- 自学html和css,学习HTML和CSS的5大理由
- Segnet的caffe训练环境搭建
- python 迭代器、生成器知识点总结
- 国外巨头鏖战的新领域——语音识别
- Navicat使用教程:获取MySQL中的行数(第1部分)
- QGIS 3初级到高级
- 新手如何做抖音直播带货?新号如何快速获取直播推荐流量?
- java将ppt转换成图片,图片以幻灯片的备注命名
- 苹果CMSv10插件/本地解析播放器-videojs解析 整合苹果cmsV10程序
- 希尔伯特几何基础序言
- 不重装系统改硬盘模式: RAID ON 改成 AHCI
- 如何设置条码标签的打印数量
- Redis过期策略,如何找到redis中所有过期的key
- 【openGauss】Oracle到postgresql的字符集名称映射表
- vue在移动端实现电子签名手写板
- Web渗透 不断更新
- 【规范化】项目规范化