1.第一个程序
print('hello world!')
结果
hello world!
Process finished with exit code 0
2.开发中常用的快捷键
ctrl + / --- 添加注释、取消注释
ctrl + s ---保存
ctr + c ---复制、拷贝
crt + v ---粘贴
crt + x ---剪切
crt + z ---撤销
crt + shift + z ---反撤销
crt + f ---查找
crt + r ---替换
crt + a ---全选
选中指定范围的操作:鼠标点击选中开始的位置,按住shift点击选中结束的位置;
显示多个光标 : 按住alt键再点击鼠标
3.基础语法
(1)注释
定义:代码中不参与编译执行的文字(不影响程序功能的文字)就叫注释;
作用:它是专门用来对代码进行注解和说明的。
python中的单行注释就是在一行文字前加#。
python中的多行注释是加"""注释"""或者'''注释'''
"""
多行注释1
多行注释2
多行注释3
"""
(2)语句
一条语句占一行,一行语句结束后可以不写分号;
如果一行中需要写多条语句,语句之间必须加分号。
如:
print('hello')
print('hello');print('你好')
结果:
hello
hello
你好
Process finished with exit code 0
(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'
其关键字也可以用代码在python中实现找到,代码如下:
import keyword
print(len(keyword.kwlist))
print(keyword.kwlist)
结果如下:
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']
Process finished with exit code 0
(6)常用的数据
1)数字数据
定义:用来表示大小的数据就是数字数据,在程序中直接写。
例如:100,18,12.5,-0.5,2e3(科学计数法,用的较少),2+5j(复数,用的较少)
2)文本数据
定义:文本信息对应的数据,在程序中需要用单引号或者双引号引起来。
例如:hello’,‘成都市’,‘1503’。注意:电话号码、门牌、车牌等也是文本数据。
3)布尔数据
定义:用True表示真/肯定,用False表示假/否定,程序中只有Ture和False两种
(7)常见的数据类型
整型(int) --- 包含所有的整数
浮点型(float)--包含所有的小数
字符串(str)--文本数据对应的数据类型
布尔类型(bool)--Ture和False对应的数据类型
其他: 列表(list)、字典(dict)、元组(tuple)、集合(set)、字节(bytes)、迭代器(iter)、生成器、函数(function)
type(数据)--功能:获取数据对应的类型
(8)输入和输出函数
1)输出函数:print
①print(数据)——在控制台中打印指定数据
print(10)
print('abc')
结果:
10
abc
Process finished with exit code 0
②print(表达式)——打印表达式的结果
print(10+20)
结果:
30
Process finished with exit code 0
③print(表达式1,表达式2,表达式3,...) ——在一行同时打印多个表达式的结果
print('你好',123,'1+2',1+2)
结果:
你好 123 1+2 3
Process finished with exit code 0
④定制换行:默认情况下,一个print中的内容会在一行打印。
print('hello',end=';')
print('你好')
结果:
hello;你好
Process finished with exit code 0
⑤定制分隔默认情况下,一个print打印多个内容的时候,多个内容之间用空格隔开。
print(1,2,3,4,sep='+')
结果:
1+2+3+4
Process finished with exit code 0
2)输入函数:input
变量=input(输入提示信息)—— 用变量去获取从控制台输入的内容;不管输入的内容是什么,类型都是字符串。
age=input('请输入年龄:')
print('age的值是',age,type(age))
结果:
请输入年龄:20
age的值是 20
Process finished with exit code 0
注意:输入信息后按空格程序才会继续执行。
4.进制
数字在编程中有4种表示方式:十进制、二进制、八进制和十六进制。
1)十进制
基数:0,1,2,3,4,5,6,7,8,9
进位:逢10进1
位权:123=100+20+3=1 * 10 ^ 2+2 * 10 ^ 1+3 * 10 ^ 0
表示方式(python):直接写
转换:直接打印
num1 = 123
num2 = 578
print(num1,num2)
结果:
123 578
Process finished with exit code 0
2)二进制
基数:0,1
进位:逢2进1 1+0==1; 0+1==1; 1+1==10 110+101==1011
位权:1011(2)=1 * 2 ^ 0+1 * 2 ^ 1+0 * 2 ^ 2+1 * 2 ^ 3==11(10)
表示方式(python):二进制前加0b/0B
转换:bin(其他进制的数字)
num3 = 0b1011
print(num3)
print(bin(100))
结果:
11
0b1100100
Process finished with exit code 0
3)八进制
基数:0,1,2,3,4,5,6,7
进位:逢8进1
位权:123(8)=3 * 8 ^ 0+2 * 8 ^ 1+1 * 8 ^ 2==3+16+64=83(10)
表示方式(python):八进制前加0o/0O
转换:oct(其他进制的数)
num4 = 0o123
print(num4)
print(oct(100))
print(oct(0b101101))
结果:
83
0o144
0o55
Process finished with exit code 0
4)十六进制
基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)
进位:逢16进1
位权:1f(16)=15 * 16 ^ 0+1 * 16 ^ 1==31(10)
表示方式(python):十六进制前加0x/0X
转换:hex(其他进制的数)
num5 = 0x1f
print(num5)
print(hex(215))
print(hex(0b010110))
print(hex(0o375))
结果:
31
0xd7
0x16
0xfd
Process finished with exit code 0
======手动进行进制之间的转换======
1.十进制转换成其他进制 ——辗转取余法(不断的除2/8/16取余数)
2.其他的进制转十进制--位权乘以对应位置上的基数然后求和:
0b1011——2 ^ 0+2 ^ 1+2 ^ 3 = 11
3.二进制、八进制和十六进制之间的相互转换
1 011 011(2)——>133(8)
101 1011(2)——>5b(16)
5.原码、反码和补码
计算机底层存储数据只能存数字,并且存的是数字的补码
(1)计算机内存大小(最小单位是位):
在程序中,使用内存的时候的最小单位是字节
1bytes(字节)= 8bit(位)
1kb = 1024bytes
1Mb = 1024kb
1G = 1024M
1T =1024G
(2)原码
原码 = 符号位+数字对应的二进制(原码就是在数字的二进制的最前面加上符号位)
符号位上0表示正,1表示负
正数的原码、反码、补码是一样的,都是原码
10(10)->1010(2)
10(10)->00001010(原码)
-10(10)->10001010(原码)
(3)反码
反码就是原码符号位不变,其他的位全部取反(0变1,1变0)
-10 -> 10001010(原码)-> 11110101(反码)
(4)补码
补码就是反码加1
为什么计算机存负数的时候要存补码:计算机只有加法器,只能进行加运算。负数进行运算的时候用原码不能正确运算,只有补码才行。
-10 -> 10001010(原码)-> 11110101(反码)->111110110(补码)
3+2 = 5
3的补码:00000011
2的补码:00000010
3+2 = 00000011+ 00000010 = 00000101==5
3-2=1
3的补码:00000011
-2的补码:10000010(原)->11111101(反)->11111110(补)
3-2 = 00000011-11111110=00000001
-130+20=-110
-130的补码:1000000010000010(原)->1111111101111101(反)->1111111101111110(补)
20的补码: 00010100
补码计算:1111111101111110+00010100 = 111111110010010(补)->111111110010001(反)->100000001101110(原)