序 markdown语法基础及开发中常用快捷键
1.markdown语法基础
- 标题
在文字前加1~6个#,对应的分别是一级标题、二级标题……六级标题
#一级标题
##二级标题
###三级标题
####四级标题
#####五级标题
######六级标题
```markdown
#一级标题
##二级标题
###三级标题
####四级标题
#####五级标题
######六级标题
## 2.正文
```markdown
直接写在文档中的文字就属于正文(段落文字):
我是正文
我是正文
- 加粗效果
将需要加粗的文字放在**(文字)**或者是__(文字)__之间
欢迎来到__千峰__学习python!
欢迎来到**千峰**学习python!
欢迎来到千峰学习python!
欢迎来到千峰学习python!
- 倾斜
将需要加粗的文字放在*(文字)*或者是_(文字)_之间
欢迎来到*千峰*学习python!
欢迎来到_千峰_学习python!
将需要加粗的文字放在***(文字)***或者是___(文字)___之间是既倾斜又加粗
欢迎来到千峰学习python!
欢迎来到千峰学习python!
- 超链接
[可以点击的文字](点击跳转的地址)
<可以点击的跳转地址>
欢迎来到千峰学习[python](https://www.python.org)!
百度的网址:<https://www.baidu.com>
欢迎来到千峰学习python!
百度的网址:https://www.baidu.com
- 显示图片
![图片名称](网络图片链接地址)
![图片名](https://www.baidu.com/img/bd_logo1.png)
![图片名](本地图片地址,可以写相对路径和绝对路径)
- 代码引用
```语言名称
代码
```
```python
#打印hello
print('hello')
```
#打印hello
print('hello')
a = 10
print (a + 20)
if a% == 0:
print('偶数')
# 不是c的注释
// 是c的注释
int a = 10;
if(a % 2 == 0){
printf("是偶数")
}
- 表格
| 姓名 | 年龄 | 职业 |
| ---- | ---- | ---- |
| | | |
| | | |
姓名 | 年龄 | 职业 |
---|---|---|
- 引用
> 余老师说:
>> 成都python1906挺好的
>>> 1906刚来,感觉还不错。
余老师说:
成都python1906挺好的
1906刚来,感觉还不错。
- 无序列表
-+*都可以,符号和内容之间有空格,内容和下一级内容之间3个空格
- 宫保鸡丁
- 鱼香肉丝
- 火锅肉
- 酸菜鱼
- 任务清单
- [ ] 宫保鸡丁
- [ ] 鱼香肉丝
- [x] 回锅肉
- 宫保鸡丁
- 鱼香肉丝
- 回锅肉
- 删除线
~~这是加了删除线的文字~~
这是加了删除线的文字
- 分隔线
三个或三个以上的*或者-即可
st=>start: 开始
op=>operation: My Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
2.开发中常用快捷键
快捷键 | 快捷键作用 |
---|---|
ctrl + / | 添加注释和取消注释 |
ctrl + s | 保存 |
ctrl + c | 复制/拷贝 |
ctrl + v | 粘贴 |
ctrl + x | 剪切 |
ctrl + z | 撤销,取消上一次操作 |
ctrl + shift + z | 反撤销 |
ctrl + f | 查找 |
ctrl + r | 替换 |
ctrl + a | 全选 |
选定指定内容的操作 | 光标放在你想选中的内容的开始位置,然后按住shift,左键点击你要结束选中的位置 |
显示多个光标 | 按住alt/option键,再点击鼠标 |
1.基础语法
1.注释:代码中不参与编译执行的文字,用于对代码进行解释和说明。
- 单行注释:python中的单行注释就是在一行文字的前面加#
#单行注释
- 多行注释:python中的多行注释是在多行内容的首尾加"""/'''
"""
多行注释1
多行注释2
多行注释3
……
"""
2.语句
python中一行一行的代码即为语句,一条语句占一行,语句结束后可以没有分号;如果一行中需要写多条语句时,语句之间必须有分号。
print('hello world!')
print('你好')
print('hello world!'); print('你好')
3.缩进
python中的一条语句的开头不能随便加缩进(tab)或空格;需要缩进的时候则必须要加缩进
4.标识符
标识符是专门用来给变量、函数或者类等命名的符号;标识符的要求:由字母、数字或者_组成,数字不能作为开头(理论上汉字、日语假名、韩文也能作为标识符使用,但在实际操作规范中应尽量避免)。
5.关键字
在python中有特殊功能或者特殊意义的标识符被称为关键字,又叫保留字(在python3.7的版本中共有35个)
'False', 'None', 'True', 'and', 'as', 'assert', 'async',
'await', 'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'finally', 'for', 'from', 'global', 'if',
'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',
'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
6.常用数据
数字数据:用来表示大小的数据就是数字数据,在编程时直接书写;例如100, -10, 12.5, 2e3(科学计数法), 2+5j(复数)
文本数据:文本信息对应的数据,在程序中需要用单引号或双引号引起来;例如'hello', '成都市', '15300022838'
布尔数据:用True表示真/肯定,用False表示假/否定。
print(100) #数字数据
print('千峰教育') #文本数据
print(True) #布尔数据
7.常见的数据类型 - 通过不同的数据类型对数据进行分类
- 整型(int)- 包含所有的整数数字数据
- 浮点型(float)- 包含所有的小数数字数据
- 复数(由于不常见暂时不做说明)
- 字符串(str)- 文本数据对应的数据类型
- 布尔类型(bool)- True和False的数据类型
- 其他:列表(list)、字典(dict)、元组(tuple)、集合(set)、字节(bytes)、迭代器(iter)、生成器、函数(function)等
- type(数据)- 获取数据对应的数据类型
print(type(10.5))
8.输入和输出函数
- 输出函数:print
print(数据)- 在控制台中打印指定数据
print('abc')
print(表达式)- 打印表达式的结果
print(10+20)
print(数据1, 表达式2, 表达式3, ……) - 在同一行同时打印多个数据或表达式的结果
print(100, '你好', '1+2', 1+2)
- 定制
a.定制换行:默认情况下,一个print中的内容只会在一行打印,想要在一行打印多个print内容时可采用:print(内容,end='内容')的形式,end中的内容取代了原本的默认换行,因此其后的print内容不会换行。
print('hello world!', end=';')
print('你好')
# hello world! 和 你好 将会在同一行被打印,中间由end中的 ;隔开
b.定制分隔:默认情况下,一个print打印多个内容的时候,多个内容之间由空格隔开,采用print(内容1, 内容2, 内容3, sep='内容')的形式,原本打印内容之间的空格会被sep中的内容取代。
print(1, 2, 3, 4, sep='+' )
#打印结果将会表示为1+2+3+4
- 输入函数:input
变量 = input(输入提示信息)- 用变量去获取从控制台输入的内容;不管输入的内容是什么,内容的数据类型都是字符串。
age = input('请输入年龄:')
print('年龄是:', age, type(age))
#age中不管输入什么,数据类型都会被定义为字符串
2.进制
数字在编程中有4种表示方式:十进制、二进制、八进制、十六进制
1.十进制
- 基数:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- 进位:逢10进1
- 位权:10^0, 10^1, 10^2……
- 表示方式(python):直接书写
- 转换:直接print
2.二进制
- 基数:0, 1
- 进位:逢2进1 eg:110+101=1011
- 位权:2^0, 2^1, 2^2……
- 表示方式(python):二进制数前加0b/0B
- 转换:bin(其他进制的数字)
print(bin(10))
3.八进制
- 基数:0, 1, 2, 3, 4, 5, 6, 7
- 进位:逢8进1
- 位权:8^0, 8^1, 8^2……
- 表示方式(python):八进制数前加0o/0O(这里是0和大写的欧)
- 转换:oct(其他进制的数)
4.十六进制
- 基数:0, 1, 2……9, a(10), b(11), c(12), d(13), e(14), f(15)
- 进位:逢16进1
- 位权:16^0, 16^1, 16^2……
- 表示方式(python):十六进制数前加0x/0X
- 转换:hex(其他进制的数)
5.手动进制之间的相互转换
- 十进制转换为其他进制 - 十进制数除以要转换的进制取余数,直到商值为0,然后按照倒序从后往前排列余数即可。
- 其他进制转十进制:位权乘以对应位置上的基数然后求和
eg:0b1011 -> 1x2^0 + 1x2^1 + 0x2^2 + 1x2^3 = 11 - 二进制、八进制和十六进制之间的相互转换
eg:1011011(2)-> 1 011 011 -> 1 3 3(8)
1011011(2)-> 101 1011(2) -> 5b(16)
76(8)-> 7 6 -> 111 110(2)
a3(16)-> 1010 0011(2)
a3(16)-> 10 100 011(2)-> 243(8)
6.原码、补码和反码
- 计算机底层存储数据的时候只能存储数字,并且储存的是数字的补码
- 计算机内存大小的最小单位是 位(bit)
- 在程序中使用内存的时候,最小单位是字节
1byte(字节)= 8bits
1kb = 1024 bytes
1mb = 1024kb
1gb = 1024mb
1tb = 1024gb
- 1.原码
原码 = 符号位 + 数字对应的二进制(原码就是在数字的二进制的最前面加上符号位)
符号位上0表示正,1表示负
正数的原码、反码、补码都是一样的,即原码
10(10)-> 1010(2)
10(10)-> 00001010(原码)#因为调用内存时的最小可调用单位为bytes,即8个bit,故原码应表示为00001010而非1010
-10(10)-> 10001010
- 2.反码
反码就是原码的符号位不变,其他位全部取反(0变成1,1变成0)
-10(10)-> 10001010(原码)->11110101(反码)
- 3.补码
补码就是反码加1
为什么计算机储存负数的时候要储存补码而非原码:因为计算机只有加法器,只能进行加法运算,负数进行运算的时候用原码不能正确运算,只有补码才行。
eg1:
3 - 2 = 1
3的补码:00000011
-2的原码:10000010
-2的补码:11111110
原码计算:00000011 + 10000010 = 10000101 = -5(错误)
补码计算:00000011 + 11111110 =00000001(补)超过8位的部分会从最高位开始舍弃 = 1(正确)
eg2:
-5 - 2 = -7
-5的补码:11111011
-2的补码:11111110
-5 - 2 = 11111001(补码)
再将补码还原成原码
11111001 -> 11111000(反码)-> 100000111(原码)= -7