Python-day2-日志:2019-07-23

注意:所用的python环境为3.7.4,想要运行代码最好是3.X的

day2-进制和运算符

一.进制转换

计算机只能存储和处理二进制数据。int类型 - 包含所有的整数,整数可以表示为十进制,二进制,八进制和十六进制

1.十进制

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

b.进位: 逢10进1

c.位权: 123(10) = 100+20+3 = 110^2 + 210^1 + 310^0 = 123(10) (10^x)

d.表示方式: 直接写

print(100)

e.转换: 直接打印

print(100)

2.二进制

a.基数: 0,1

b.进位: 逢2进1

c.位权:111(2) = 12^2 + 12^1 + 12^0 = 7(10)

d.表示方式: 在二进制数前加前缀0b/0B

print( 0b1011,0B110)

e.转换: bin()

print('转2进制:', bin(200), bin(0o56), bin(0xaf))

3.八进制

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

b.进位: 逢8进1

c.位权:111(8) = 18^2 + 18^1 + 18^0 = 73(10)

d.表示方式: 在八进制数前加前缀0o/0O

print( 0o67)

e.转换: oct()

print('转8进制:', oct(200), oct(0b110111), oct(0x1f))

4.十六进制

a.基数:0~9, a/A(10), b/B(11), c/C(12), d/D(13), e/E(14), f/F(15)

b.进位: 逢16进1

c.位权:111(16) = 16^2 + 16^1 + 16^0 = 256+16+1 = 273(10),

1f(16) == 16^1 + 15 = 31(10)

d.表示方式: 在16进制数前加前缀0x/0X

print( 0x34,0x2f)

e.转换: hex()

print('转16进制', hex(200), hex(0b1110110110101))

二.python基础语法

1.注释

注释是代码中对代码进行解释和说明的文本内容;不会影响程序的功能和执行。

(1)单行注释:在一行文字的前面加# (快捷键: ctr+/)

#注释内容(单行)

(2)多行注释: 将注释内容写在三个双引号或者三个单引号里面(但是一般使用是三个双引号)

"""
多行注释1
多行注释2
...
"""

2.语句

(1)一条语句占一行,语句结束后不用加分号。

(2)如果一行要显示多条语句,语句之间必须用分号隔开.

(3)如果如果一行要显示多条语句,语句之间必须用分号隔开一条语句很长,需要多行显示的时候,可以在语句中加\然后再换行(注意:\不能破坏数据)

str1 = 'abc'
num2 = 1829839284 + num\
       * 34344 - 3798798\
       + 809839\
       / 273982789 ** 1\
       - (2378 - 23989) + (29 - 0)
print(num2)

3.缩进

(1)python中一行代码的开头不能随便加缩进(空格或者制表符)

num1 = 100

num2 = 200

num3 = 300

num4 = 400

(2)python语法要求必须有缩进的位置一定要加缩进

if num > 10:
print(num)

4.标识符

标识符是用来命名用的。一般是给变量命名、函数命名或者类命名...

标识符规则: 所有标识符都必须是由字母、数字和下划线组成;数字不能开头。

注意: python2.x以后,标识符中可以出现中文、日语韩语等符号;但是实际开发的时候不建议使用

abc = 100
abc123 = 200
abc_123 = 300
酷睿 = 10

5.关键字(保留字)

关键字就是python中有特殊功能和特殊意义的标识符。

可以通过keyword查看关键字

import keyword
print(keyword.kwlist)

6.常见数据类型和数据

(1)数字数据: 整型(int) 10, 89, -10 浮点型(float) 12.9, 23.0, -12.0, 0.23

print(200)
print(20.66)

(2)字符串(str):用双引号或者单引号将文本数据引起来, "中国",'四川省成都市','1530022392'

print('abc')
print("中国四川省成都市")

(3)布尔(bool): 只有True和False两个值; True代表真/肯定, False代表假/否定

(4)列表(list)、元祖(tuple)、集合(set)、字典(dict)、函数(function)等...

(5)类型转换: 类型名(数据) -> 将括号中的数据转换成指定的类型并返回

print(int(2.233))
print(float(100))

7.print和input

(1)print函数 - 输出函数,在控制台打印print后面括号中的内容的结果

(2)input函数: 获取从控制台输入的内容(输入回车的时候输入就完成)

input(提示信息)

注意: 不管从键盘上输入的内容是什么,input返回的结果的类型都是字符串类型

value = input('请输入年龄:')
print(value,  type(value))

三.原码,反码和补码

计算机存数据的时候,只能存数字,而且存的是数字的二进制的补码

计算机数据单位的大小:

位(bit)

1字节(byte) = 8bit

1kb = 1024byte

1M = 1024kb

1G = 1024M

1T = 1024G

注意: 正数的原码、反码和补码一样

1.原码

原码 = 符号位(0表示正,1表示负)+真值(数字转换成二进制的值)

10 -> 1010(真值) -> 1010

10的原码: 00000000 00000000 00000000 00001010

-10的原码: 10000000 00000000 00000000 00001010

2.反码

负数的反码: 符号位不变,其他位取反(0变1,1变0)

10 -> 1010(真值) -> 1010

10的反码: 00000000 00000000 00000000 00001010

-10的反码: 11111111 11111111 11111111 11110101

2.补码

负数的补码: 反码加1

10 -> 1010(真值) -> 1010

10的补码: 00000000 00000000 00000000 00001010

-10的补码: 11111111 11111111 11111111 11110110

举例:

2 + 3 == 5

2的原码: 00000010

3的原码: 00000011

2+3 = 00000010+0000011 = 00000101 = 5

2 + (- 3) == -1

2的原码: 00000010

-3的原码: 10000011 ->(反码)11111100->(补码)11111101

2-3 = 00000010 + 11111101 = 11111111(补)->(反)11111110->(原)10000001 = -1(用补码算)

2-3 = 00000010 + 10000011 = 10000101 = -5 (用原码算)

计算机负数采用补码的原因: 计算器没有减法器, 负数采用原码进行加法运算的时候结果不对,采用补码结果才对。计算机在进行负数运算的时候,会自动将负数由原码变为

反码,再变为补码进行运算,再将最后结果由补码转为原码。

四.运算符

python支持的运算符: 数学运算符、比较运算符、逻辑运算符、位运算、赋值运算符

1.数学运算符

+(求和), -(求差), (求积), /(求商), %(求余), //(整除),*(幂运算)

(1)+, -, *, / 和数学中的+, -, ×, ÷的功能一模一样

print(10 + 20)
print(10 - 20)
print(10 * 20)
print(10 / 20)

(2)% - 求余数

a.判断一个数是否能被另外一个数整除

print(10 % 3)   # 求10除以3的余数 

b.判断一个数的奇偶性: 让数字对2取余,看结果是0还是1

print(23 % 2, 101 % 2, 109 % 2)
print(230 % 2, 1012 % 2, 1096 % 2)

c.获取一个数的最后几位数

num = 123
print(num % 10)   # 取一个数的个位数
print(num % 100)

(3)// - 求商,取商的整数部分(整除)

num = 123
print(num//100)   # 1
print(num % 10)   # 3
print(num // 10 % 10)   # 2
print(num % 100 // 10)   # 2

(4) ** - 求次方值

print(2 ** 3)           # x ** y - 求x的y次方
print(16 ** 0.5)   # 4.0
print(8 ** (1/3))  # 2.0

2.比较运算符

比较运算符: >, <, >=, <=, ==, !=

所有比较运算符的结果都是布尔值(不是True就是False)

(1)>, <, >=, <=和数学中相应的比较运算符一样

print(100 > 10)   # True
print(100 < 10)   # False
print(100 >= 100)  # True
print(100 <= 100)  # True

(2)==(判断是否相等) / != (判断是否不相等)

print(100 == 100)   # True
print(100 == 20 + 80)  # True
print(100 != 100)   # False
print(10 != 100)    # True

注意: python中比较大小的时候可以像数学一样连写表示范围

你可能感兴趣的:(Python-day2-日志:2019-07-23)