python输入以回车结束的字符串_day2-python基础语法总结

1、常用快捷键

添加或取消一行注释:ctrl+/(通用)

ctrl+s 保存

ctrl+n 新建

ctrl+f 搜索

ctrl+r 搜索替换

ctrl+z 撤销

ctrl+shift+z 反撤销

ctrl+a ctrl+c trl+v

ctrl+d 复制上一行代码到下一行

tab 补充代码

程序中涉及到的所有的和语法相关的符号,都是英文输入法下对应的符号

print是python内置函数,在控制台打印括号中的内容

引号是字符串的标志

print("Hello world!")

print('Hello Hello Hello')

运行结果:

3c546958e8b0

控制台输出

2、python基础语法

2.1注释

注释是程序中说明文字,不会参与程序的编译和执行,对程序和功能没有任何影响。

单行注释:在说明性文字前加#

多行注释,3'或3"括起来,来设置多行注释,

一般使用3个"

2.2标识符

标识符是专门用来给变量、函数、类等命名的。

要求:

python中的标识符要求是由数字、字母和下划线组成,并且数字不能开头

注意:

1.在python3.x,标识符中可以包含非ASCII码字符,如汉字、日语、韩语、拉丁等。

2.开发时不要使用非ASCII码字符。例:

num = 100

_num = 200

__ = 300

1num = 400 错误,不能以数字开头

n - num = 500 错误,减号也不行,只能是数字、字母和下划线

2.3行与缩进

python中对代码里面的缩进有严格要求。同一级代码前面的缩进(空格/tab)的个数必须一致,否则报错。

用空格或tab都行,一般用tab

行的规范:要求声明函数和类的前后需要有两个空行。

2.4分段(行)显示

一句代码很长,需要多行显示的时候,可以在需要换行的位置加\,表示前后是一行,后面的行无缩进要求,建议对齐

注意:加\时,不能将一个数据,一个变量名给拆开。

num = 28 + 3333333333333333333\

+ 23333

如果代码是列表、元组、字典、集合的字面量,可以直接换行,不用加\

2.5一行显示多条语句

一般要求一条语句写一行,如果一行写多条语句它们之间需要加 ;例:

print(1);print(2);print(3)

2.6关键字(保留字)

python中已经定义好有特殊功能和意义的一些标识符,就是python的关键字,命名时不能使用。

import keyword #导入模块

print(keyword.kwlist) #打印python中关键字列表

输出结果:

['False', 'None', 'True', 'and', 'as',

'assert', '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']

2.7print函数和input函数

print(内容)--在控制台中打印内容,内容必须是python数据

print(内容1,内容2)--在一行打印多个内容,显示时它们之间用空格隔开

默认情况下,一个print中的内容占一行(以换行结束)。一个print中的多个内容用空格隔开

print(内容1,内容2,...,end='换行标志')

print(内容1,内容2,...,seq='分割标志')

例:

_num = 200

print('a','b',_num,end='------>')

print(1)

print(2)

print('a','b',_num,sep='----->')

输出结果:

3c546958e8b0

输出结果

input()--从控制台输入一串内容,以回车结束。并将内容以字符串形式返回

注意:

程序执行到input的时候,程序会停下来,直到输入完成位置。

input('提示信息')--先打印提示信息,后执行input。

例:

def f(x,y):

sum = x + y

return(sum)

l=[]

a = int(input("请输入第一个数字:"))

b = int(input("请输入第二个数字:"))

n = 0

while n < 100:

c = f(a,b)

l.append(c)

a,b = b,c

n = n+1

print(l)

输出:

3c546958e8b0

结果

3.常用数据类型

3.1常见数据类型及其字面量(常量)

python中常用数据类型有:

整型:100,23,-122,333等,所有的整数

浮点型:12.3,45.0,-0.123456 所有的小数

布尔: True,False 首字母需大写

字符串:'任',"意",'字',"符" 由双引号或单引号括起来的内容

列表: [12,'abc',True]

字典: {key1:value1,key2:value2,key3:value3} {'a':120,'b':110,'c':100}

元组: (12,'abc',True)

集合:

函数;等

3.2数字相关类型

python中和数字相关的类型:整型、浮点型、布尔、复数(虚数5j+1)

1.整型(int):整数对应的类型,包含所有整数。python3中整数对应的类名只有int,

python2中除了int还有long型

python中的整数,可用十进制、二进制、八进制、十六进制来表示

2.浮点型(float):小数对应的类型,包含了所有的小数。支持科学计数法。

3.布尔(bool):只有两个值True和False,都是关键字,首字母大写,分别表示“真”和“假”。

True实质是数字1,False实质是数字0。

4.复数(complex):表示所有的虚数对应的类型,用“数字+j”表示虚部,实部就是普通数字。

print(2e4) # 2*10^4 = 20000

print(3e-2) # 3*10^-2 = 0.03

print(1+True,1+False) # 2 和 1

print((1+2j)+(2-1j)) # 3-1j

3.3type函数

type(数据)--获取数据的类型

print(type(666)) # int

3.4isinstance函数

isinstance(数据,类型)--判断指定的数据是否是指定的类型,结果为bool值。

print(isinstance(100,float)) #判断100是否为浮点型,False

print(isinstance(100,int)) #判断100是否为浮点型,True

3.5类型的强制转换

目标类型名(需要转换的数据)--将指定的数据转换成目标类型,所有的类型都可以。

浮点型转换成整型:直接去掉小数部分

整型转换成浮点型:在整数后加.0

其他类型转布尔:bool(),所有的数据都能转成bool值。除了0转换成False,其他全为True。

注意:复数不能转换成整型或浮点型,但能转换成布尔型。

b = int(12.5)

print(b) # 12

print(float(b)) # 12.0

print(bool(b)) # True

print(bool(-b)) # True

print(float(True)) # 1.0

print(complex(10)) # 10+0j

print(complex(-10)) # -10+0j

4.进制

4.1十进制

基数:0,1,2,3,4,5,6,7,8,9

进位:满10进1

位权:123 = 110^2 + 210^1 + 3*10^0 第n位的位权为 (10^(n-1))

表示方式:所有的数字都是10进制(数字直接写)

20

33

12

4.2二进制

基数:0,1

进位:满2进1

位权:1101 = 12^3 + 12^2 + 02^1 + 12^0 = 13 第n位的位权为 (2^(n-1))从1开始记位

表示方式:在二进制数前加前缀----> 0b或0B

0B110 + 0B011 # 1001

0B1 + 0B1 # 10

0B110 - 0B011 # 011

4.3八进制

基数:0,1,2,3,4,5,6,7

进位:满8进1

位权:123 = 18^2 + 28^1 + 3*8^0 第n位的位权为 (8^(n-1))从1开始记位

表示方式:在八进制前加前缀----> 0o或0O 大小写都可以

0o12 + 0o26 #0o40

4.4十六进制

基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)(A-F) 大小写都可以

进位:满16进1

位权:123 = 116^2 + 216^1 + 3*16^0 第n位的位权为 (16^(n-1))从1开始记位

表示方式:在十六进制前加前缀----> 0x或0X 大小写都可以

print(0x12a) #结果为10进制数

print(0xabc12)

print(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)

4.5其他进制和十进制之间的转换

1.其他进制转十进制:每一位数*权值,再求和

2.十进制转其他进制:累除

4.6二进制和八进制、十六进制互转

1.二进制转八进制:每3位2进制转成1位八进制。

八进制转2进制:每1位八进制转成3位二进制

0b

001

100

100

110

010

011

100

=

0o1446234

表示

1

4

4

6

2

3

4

二进制小数--------------->>>>十进制小数

“按权展开求和法”:

例1:将101.111(2)转换成十进制数

1*(2^2) + 0*(2^1) + 1*(2^0) + 1*(2^(-1)) + 1*(2^(-2)) + 1*(2^(-3))=5.875

只要记住个位数是2的0次方,往右一次增加,往左一次减少,写出关系式之后各式相加就是所求

十进制小数-------------->>>>二进制小数

(十进制数的整数位是二进制数的整数位,十进制数的小数位是二进制数的小数位)

“乘二取整法”(顺序排列):

假如我们有小数111.4(10),我们对他进行一下计算:

首先取小数位0.4,对其进行“乘二取整法”

0.42=0.8 取结果的的整数位置上的数是0 | 按 (取整法就是取整数位上的数字)

0.82=1.6 取1 | 顺

0.62=1.2 取1 | 序

0.22=0.4 取0 | 写

0.42=0.8 取0 | 出

0.82=1.6 取1 |

0.62=1.2 取1 |

0.22=0.4 取0 |

来到这了,我们发现出现了循环,因此可以推知小数点后的二进制是

0.01100110……(循环0110)

接下来是整数111

我们这里用“除以2取余法,逆序排列”

3c546958e8b0

累除法

所以整数位是1101111

最终结果是整数位和小数位合并1101111.01100110……(2)

当我们对小数0.1(10) 0.2(10) 0.3(10) 0.4(10) 0.5(10) 0.6(10) 0.7(10) 0.8(10) 0.9(10)

发现只有0.5(10)不会出现循环小数,他转换成二进制是0.1(2)

其余的出现循环的小数

2.二进制转十六进制:每4位2进制转成1位十六进制。

十六进制转2进制:每1位十六进制转成4位二进制

0b

0110

0100

1100

1001

1100

=

0x64c9c

表示

6

4

c

9

c

0x6745 = 0b0110 0111 0100 0101

0xa12 = 0b1010 0001 0010

3.八进制转十六进制:先转为二进制。

4.7进制转换相应的函数--返回值是字符串

bin(数字)-- 将其他进制的数转为二进制数

oct(数字)--将其他进制的数转为八进制数

hex(数字)--将其他进制的数转为十六进制

所有进制计算时均会自动转换成十进制

print(bin(0x6745)) #0b110011101000101

print(bin(0o1446234)) #0b1100100110010011100

print(oct(0x6745)) #0o63505

print(hex(0o1446234)) #0x64c9c

5.原码、反码和补码

5.1计算机数据的存储

以下值均为二进制

计算机能直接存储的是数字,并且存的是数字的补码

5.2计算机内存大小单位

位(bit)

1字节 = 8位

1kb = 1024字节

1mb = 1024kb

1GB = 1024mb

1TB = 1024Gb

5.3原码

符号位+真值 (用最高位表示符号位,后面的即为数字的二进制)

符号位: 0 ---> 正,1---> 负

真值: 数字对应的二进制值

10(原码) = 0 000 1010

-10(原码)= 1 000 1010

5.4反码

正数的反码和原码一样。负数的反码是符号位不变,其他位上的数取反(0变1,1变0)

10(反码) = 0 000 1010

-10(反码)= 1 111 0101

5.5补码:

正数的补码和原码一样。负数的补码是它的反码加1。

10(补码) = 0 000 1010

-10(补码)= 1 111 0110

注意:数据存储和运算的时候采用的是补码。看结果看的是原码。

单片机 只有加法和乘法器

案例:

如果计算机存储的是原码:

3:0011

2:0010

3+2 = 0101 = 5

原码:

3-2 = 3+(-2) = 1101 = -5

3: 0011

-2:1010

补码:

3(补) = 0011

-2(补) = 1101(反) = 1110(补)

0011(补)+1110(补) = 0001(补) = 0001(原) = 1

2-3

2:0010(原)= 0010(补)

-3:1011(原) = 1100(反)= 1101(补码)

0010(补)+ 1101(补码) = 1111(补码)= 1110(反) = 1001 = -1


版权声明:本文为weixin_39664477原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。