这是一个预留的博客,主要是为了验证重新部署的hexo是否正常,同时预留作接下来python学习的记录
已经更新正式内容
22.11.4因为想要偷懒做安全教育题目,开始学py
知识结构来自:
Bilibili@黑马程序员
Python语言程序设计微课视频版.清华大学出版社.孙晋飞
part1
黑马
字面量
在代码中,被写下来的固定的值,称之为字面量
数字Number
整形int
浮点float
复数complex 例如4+3j,以j结尾表示复数
布尔bool True(1),False(0);
字符串String
列表List
有序的可变序列,可有序记录一堆数据
元组Tuple
有序不可变序列
集合Set
无序不重合集合
字典Dictionary
无序Key-Value集合
注释#或“”“+”“”
变量
定义
变量名 = 变量值
即可进行定义。Python无需定义变量类型。
(别瞎用分号)
查看变量类型:type()
Python中变量没有类型,变量存储的数据有类型
1 | A = "HelloWorld" |
这种操作在Python中合法
类型转换
int(x)
float(x)
str(x)
字符串整形浮点数可以相互转换,但是字符串转其他两者需要保证字符串全为数字,且浮点转整形时存在精度丢失
字符串
三种定义方式
- 单引号‘A’:这种方法可以包含双引号
- 双引号”A”
- 三引号”“”A“”“
字符串拼接
“AAAA”+“BBBB”
变量,字面量的字符串之间可以拼接
字符串格式化
占位符替换:
“Hello,%s” % “World!”
多个占位替换:
“hello %s world %s” % (“123”,”456”)
占位符
%s字符串 %d整数 %f浮点型
精度控制
%.2f %7f等,与C/C++同
快速格式化
通过语法:f内容{变量}”的格式来快速格式化
- 不理会变量类型
- 不进行精度控制
标识符
变量方法类名所用的名称
- 内容限定:英文、中文、数字(不可以用在开头)、下划线_
- 大小写敏感
- 不可使用关键字
运算符
+加
-减
*乘:可以返回字符串重复N次的结果
/除
//取整除
%取余
**指数
=赋值运算符
算数运算符都有复合运算符
基本语句
顺序结构
输出
print(内容)
内容可以任意填入,字面量或者变量
1 | print("anything",end='') |
使用这种方法输出可以使得输出不换行
输入
input()
A = input()
括号内可以填入提示语句
input的输入全部为字符串类型,如果想要作为数字进行处理,需要自行转换
分支结构
逻辑判断符
与C/C++相同
==、>=、<=、!=、>、<
结果为布尔型(bool)值为True和False
布尔值赋值给变量可以获得布尔值变量
if判断
基本语句
1 | if 条件: |
依靠缩进来判断哪些语句在if内,哪些在if外
判断条件后面有个冒号,其本身无需打括号
else分支
1 | if 条件: |
注意if与else同级
缩进为四个空格
elif分支
elif与if、else同级
1 | …… |
循环结构
while循环
1 | while 条件: |
条件为False时终止
随笔猜想:python中逻辑缩进前使用“:”?
for循环
1 | for 临时变量 in 待处理数据集: |
案例,依次打印
1 | name = "THIS IS A STR" |
待处理的数据集严格称呼应该为序列类型,包含 字符串 列表 元组 等
range()
可以获得一个简单的数字序列,可以配合for使用
range(num)
序列从0开始,到num结束,不含num本身
range(num1,num2)
由num1开始到num2结束,不含num2
range(num1,num2,step)
由num1到num2,步进step
循环中断
continue
中断本次循环进入下次循环
break
结束本循环
函数
典中典函数导入,鉴定为提高代码复用性
定义
1 | def 函数名(传入参数): |
None类型
其实就是void啊
不写return
与return None
等价
None值逻辑上为False
说明文档
在函数体内三对引号内
1 | def func(x, y): |
Part2