day2-python基本语法、变量和进制

今天给大家分享的是python入门第一课,python基本语法。
下面进入正题

一、注释

大家都知道,计算机语言都是英文的,这对我们国人并不是很友好,(没办法,这电脑不是中国人发明的…),给你一百行代码看(全是英文),也许你得一词一句的翻译;相比之下,如果代码后面跟着中文,那看起来就很直观,理解起来也很方便。所以,就需要用到"#"来加以注释
注释,就是用来对代码进行说明的;注释是给开发人员(给我们)看的,解释器会忽略注释。

注释的分类

单行注释:
python里使用 # 来对代码进行单行注释,单行注释不允许换行
多行注释:
使用三个单引号(‘’‘ ’‘’)或者三个双引号(“”“ ”“”)来包裹,表示多行注释。多行注释可以换行
python里提供了一个快捷键ctrl+/,苹果是command+/,可以快速的注释一行代码

二、语句

一条有效代码就是一个语句

  1. 一般情况下,一条语句占一行
  2. 一条语句结束不需要分号(如果多条语句要在一行显示,语句之间必须用分号隔开)
  3. 如果一条语句很长,需要多行显示的时候,在换行的时候需要用 \ 连接

三、缩进

python是通过缩进和冒号来产生代码块的,在没有块语法的时候不能随便在代码中添加缩进
python中,缩进一般指的是4个空格

四、标识符和关键字

(一)标识符

什么是标识符?

计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。

1、python中标识符的要求:
1)由字母、数字或者下划线 _ 组成
2)不能以数字开头
注意: python3.x中标识中可以出现中文,但是实际开发的时候不能这么做
合法的标识符: L40, 40, a_b10, abc12, _
不合法:40L, abc+123, abc.123
2、标识符命名要做到顾名思义
3、遵守一定的命名规范
驼峰命名法,又分为大驼峰命名法和小驼峰命名法。
小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName.

(二)关键字

关键字的概念

一些具有特殊功能的标识符,这就是所谓的关键字。 关键字,已经被python官方使用了,所以不允许开发者自己定义和关键字相同名字的标识符。

五、变量及数据类型

一、变量的定义

对于重复使用,并且经常需要修改的数据,可以定义为变量,来提高编程效率。
定义变量的语法为: 变量名 = 变量值。(这里的 = 作用是赋值。),定义变量后可以直接使用变量名来访问变量值。
所谓变量名,可以理解为箱子,当需要使用变量值,就把对应的箱子拿来。
变量即是可以变化的量,可以随时进行修改。
程序就是用来处理数据的,而变量就是用来存储数据的。

二、常用的数据

1. 数字数据

用来表示大小的数据才是数字数据,数字数据在程序中表示的时候直接写
例如:789,100,13.78,-789,+780
注意:手机号码这类型的,可不是数字数据

2.文本数据

用文字信息描述的数据就是文本数据,文本数据在程序中表示的时候需要放在单引号或者双引号中
例如:‘今天夜色很好’ , ‘‘适合刺猹’’

三、变量的类型

在 Python 编程里为了应对不同的业务需求,也把数据分为不同的类型。

常见的数据类型,如下图所示:

截屏2020-06-09 下午8.27.17.png

四、查看数据类型

在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别。也就是说在使用的时候 “变量没有类型,数据才有类型”。
比如下面的示例里,我们没法预测变量 b 的类型,但是 a 的类型可以根据数据来确认。截屏2020-06-09 下午8.30.55.png
如果临时想要查看一个变量存储的数据类型,可以使用 type(变量的名字),来查看变量存储的数据类型。截屏2020-06-09 下午8.36.02.png

六、输出和输入

输出,简单来说,就是将程序的运行结果显示出来。
1.输出函数 - print

用法一:print(数据) - 在控制台打印指定数据(打印结束后会自动换行)
print(‘hello world!’)
print(True)
print(“你好!”)

用法二:print(数据1, 数据2, 数据3, …) - 在控制台的一行打印多个数据,数据之间用空格隔开,所有数据打印结束后换行
print(‘你好’, 100, False)

用法三:print(数据1, 数据2, …, end=文本数据) - 在控制台的一行打印多个数据,数据之间用空格隔开,所有数据打印结束后打印指定的文本数据(不会换行)
print(‘hello world!’, end=’ ')

用法四:print(数据1, 数据2, 数据3,…, sep=文本数据)
print(10, 20, 30, 40, sep=‘加上’, end=‘等于’)
print(120)

2. 输入函数 - input

用法: 变量 = input(输入提示信息) - 用变量获取输入提示信息后输入的内容(输入的时候按回车结束)
注意: 不管输入的内容是什么,变量获取到的数据的类型都是字符串
tel = input(‘请输入手机号:’)
print(tel)

七、进制

数字在计算机中表现的方式常见的有四种:十进制、二进制、八进制、十六进制

十进制
  1. 十进制
    1)基数:0,1,2,3,4,5,6,7,8,9
    2)进位:逢10进1
    3)位权:10的n次方 (n从低位到高位从0开始依次增加)
    1231 = 110^3 + 210^2 + 310^1 + 110^0
    4)程序中的表示方式:直接写
二进制(0b/0B)

1)基数:0,1
2)进位:逢2进1
例如:
11011 + 10111 = 110010
1011 + 111010 = 1000101
3)位权:2的n次方 (n从低位到高位从0开始依次增加)
101011 = 2^5 + 2^3 + + 2^1 + 2^0 = 32 + 8 + 2 + 1 = 43
4)程序中的表示方式:二进制数前加 0b或者0B
0b101
0B1010011
0b102 # 错误写法

八进制(0o/0O)

1)基数:0,1,2,3,4,5,6,7
2)进位:逢8进1
“”"
76 + 45 = 143
“”"
3)位权:8的n次方 (n从低位到高位从0开始依次增加)
123 = 18^2 + 28^1 + 3*8^0 = 64 + 16 + 3 = 83
4)程序中的表示方式:八进制数前加 0o或者0O
0o10
0O27

十六进制(0x/0X)

1)基数:0,1,2,3,4,5,6,7,8,9,a/A,b/B, c/C, d/D, e/E, f/F
2)进位:逢16进1
“”"
9 + 6 = F
7 + 9 = 10
“”"
3)位权:16的n次方 (n从低位到高位从0开始依次增加)
123 = 16^2 + 216^1 + 316^0 == 256 + 32 + 3 = 291
4)程序中的表示方式:十六进制数前加 0x或者0X
0x9afdab
0x8AabF1

注意:十进制数能做的事情其他的进制数都可以做
print(291 + 1)
print(0x123 + 1)

八、不同进制相互转换

1. 其他进制转十进制

手动转换: 每一位上的数乘以位权再求和
“”"
0b1011 -> 2^0 + 2^1 + 2^3 = 1 + 2 + 8 = 11
0o12 -> 28^0 + 18^1 = 10
0xaf -> 1516^0 + 1016^1 = 175
“”"
使用代码:直接用print函数打印
print(0b1011) # 11
print(0o12) # 10
print(0xaf) # 175

2. 十进制转其他进制

手动转换:辗转取余法
“”"
100 -> 0b1100100
100 -> 0o144
100 -> 0x64
“”"
print(0b1100100, 0o144, 0x64) # 100

3.八进制、十六进制与二进制之间的相互转换

八进制转二进制: 将1位8进制数转换成3位的二进制
十六进制转二进制: 将1位16进制数转换成4位的二进制
0o67 -> 0b110 111
0o624 -> 0b110 010 100
0xaf -> 0b1010 1111
0xf21 -> 0b1111 0010 0001
0xa8e4 -> 0b1010 1000 1110 0100

二进制转八进制:将3位的2进制数转换成1位的8进制
二进制转十六进制:将4位的2进制数转换成1位的16进制
0b011 010 111 011 -> 0o3273
0b0110 1011 1011 -> 0x6bb

4. 代码转换

1.bin(数字) -> 将其他数字转换成二进制
2.oct(数字) -> 将其他数字转换成八进制
3.hex(数字) -> 将其他数字转换成16进制
print(bin(0o67))
print(hex(100))

九、原码、反码和补码

计算机存储数据的时候存的是数字的补码
位(bit)
字节(byte): 1字节 == 8位
1kb = 1024字节
1Mb = 1024kb
1G = 1024Mb
1T = 1024G

程序员编程能操作的内存的最小单位是字节:malloc(字节)

正数的原码、反码和补码一样

1. 原码

原码 = 符号位+真值
符号位:最高位表示符号位(0表示正,1表示负)
真值:数字的绝对值的二进制
10的原码:00001010
-256的原码:10000001 00000000
56的原码:00111000
print(0b10101011)

2.负数的反码 - 原码符号位不变其余位取反

-10的反码:11110101
-3的反码:10000011(原) -> 11111100(反)
-2的反码:10000010(原) -> 11111101(反)

3.负数的补码 - 反码加1

计算机在存储和操作数据的时候使用的是原码,查看结果的时候用原码
-2的补码:11111110
-3的补码:11111101

结尾 (原码、反码和补码多练自然就熟了)

计算机在对负数进行加法运算的时候结果不对,需要通过补码进行运算(计算机没有减法器只有加法器)
3 - 2 = 1
00000011(原) + 10000010(原) = 10000101(原码) -> -5(错)
00000011(补) + 11111110(补) = 000000001(补) -> 000000001(原) -> 1(对)

今天就分享到这里,谢谢观看。

猜你喜欢

转载自blog.csdn.net/qq_48484950/article/details/106651019