一、第一个Python程序
利用print函数输出“Hello World!”
print('Hello World!')
二、Python基础语法
1. 注释,注解代码中对代码进行解释和说明的文本内容,并且不会对程序的运行和功能产生影响
1) 单行注释:
在一行的说明文字前加# (由于代码规范,在#后面加上一个空格再写说明文字)
# 这是第一行注释
# 这是第二行注释
# 这是第三行注释
2)多行注释:
将注释写在三个双引号或者三个单引号中(但是一般使用三个双引号)
"""
这是第一行注释
这是第二行注释
这是地三行注释
"""
2.语句:
1)一条语句占一行,并且语句结束不用加分号
a = 1
b = 2
2)若是一行写了多条语句要用分号隔开。
a = 1; b=2
3)若果一条语句太长,可以使用‘\’进行换行,但是要注意不要破坏数据结构。
正确示例:
a = 123**33 + 1234 - 1234 + 33 *\
10000 - 1 + (45 - 33) * 999
错误示例:
a = 123**33 + 1234 - 1234 + 33 *100\
00 - 1 + (45 - 33) * 999
3.缩进Python代码中每一行代码的开头不能随便加减缩进(即空格和制表符)在语法要求有缩进的位置一定要有缩进
a = 1
if a == 1:
print('正确的语法缩进')
a = 1
if a == 1:
print('错误的语法缩进')
4.标识符:一般用来给变量、函数、类等命名
命名规则:所有的标识符都必须是由字母、数字、下划线组成。(不能以数字开头)
a = 1
_a1 = 2
a_ = 3
a_1 = 4
1a = 4 # 错误的命名方式
1_ = 5 # 错误的命名方式
5.关键字(保留字)在Python中有特殊功能和意义的标识符叫做关键字,不能做它用
print(keyword.kwlist)
"""
['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.常见的数据类型和数据
数字数据:
整形(int):10,89,-10
浮点型(float):12.1,-22.3,10.0
字符串(str(不表示数字大小)):
用双引号或单引号引起来的文本数据:'86-135 1234 1234', "cichuanchengdu"
布尔(bool):只有True和False两个值, 其中True代表真/肯定, False代表假/否定
列表(list)、元组(tuple)、集合(set)、字典(dict)、函数(function)...
类型转换:类型名(数据) -> 将括号中的数据转换成指定的类型并返回
print(float(100))
print(int(2.33))
print(str(1123))
7.输入输出函数
print 函数 - 输出函数,在控制台打印括号中的内容结果 自动换行 也可以打印多个结果,但是不会主动换行
input 函数 - 输入函数,获取在控制台输入的数据,括号内写提示信息 回车结束数据输入
注意:不管从键盘上输入的内容是什么,input返回的结果的类型都是字符串类型
print(100, 'abc', 10**20)
print('abc')
vale = input('输入:')
print(vale, type(vale)) # 通过type输出数据类型
三、进制转换
1.十进制:
a.基数:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
b.进位:逢十进一 10 == 10
c.位权:123(10) = 100 + 20 + 3 = 1 * 10^2 + 2 * 10^1 + 3 * 10^0 = 123 (10^x)
d.表示方式:默认十进制数,直接写
# 十进制 其它进制转10进制直接print就可以了
num = 10
print(num)
2.二进制:
a.基数:0, 1
b.进位:逢二进一 10 == 2
c.位权:101(2) = 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 5(10)
d.表示方式:在二进制前加0b/0B
e.转换:bin()
# 二进制
num = 0b10 # 2
print(num)
print('转二进制:', bin(100), bin(0o56), bin(0xaf))
3.八进制:
a.基数:0, 1, 2, 3, 4, 5, 6, 7
b.进位:逢八进一 10 == 8
c.位权:111 = 1 * 8^2 + 1 * 8^1 + 1 * 8^0 = 73 (10)
d.表示方式:在八进制前加0o/0O
e.转换:oct()
# 八进制
num = 0o10 # 8
print(num)
print('转八进制:', oct(200), oct(0b11111), oct(0xaad))
4.十六进制:
a.基数:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f(A, B, C, D, E, F)
b.进位:逢十六进一 10 == 16
c.位权:111 = 1 * 16^2 + 1 * 16^1 + 1 * 16^0 = 273(10)
1f(16) = 31(10)
d.表示方式:在十六进制前加0x/0X
e.转换:hex()
# 十六进制
num = 0x10 # 16
print(num)
print(47+2, 0x2f+0b10)
print('转十六进制:', hex(200), hex(0b1111), hex(0o134))
四、原码反码补码
计算机存数据的时候,只能存数字,而且存的是数字的二进制的补码
数据进制:
1位(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 的反码: 10000000 00000000 00000000 00001010
-10 的反码: 11111111 11111111 11111111 11110101
3.负数的补码:反码加1
10 的补码: 10000000 00000000 00000000 00001010
-10 的补码: 11111111 11111111 11111111 11110110
4.计算机负数采用补码的原因:计算机没有减法器,负数采用原码进行加法运算的时候结果不对,采用补码结果才对
五、运算符
Python支持的运算符:数学运算符、比较运算符、逻辑运算符、位运算、赋值运算符
1.数学运算符:+(求和),-(求差),(求积),/(求商),%(取余),//(对商取整),*(幂运算)
1) +,-,*,/ 和数学中的+, -, ×, ÷ 的功能一样
print(10 + 20)
print(10 - 20)
print(10 * 20)
print(10 / 20)
2)取余
print(11 % 3) # 求11除以3的余数
也可以用来判断一个数是否能被另一个数整除
判断一个数的奇偶性 对2取余看是0还是1
获取一个数的最后几位数 对10,100,1000 取余
判断年份是否是闰年
3) // 对商取整 求商并取整数部分
print(10 / 3) # 求商
print(10.0 // 3) # 对商取整 被除数是什么类型结果就是什么类型
num = 123
print(num//100)
print(num % 10)
print(num // 10 % 10)
4)幂运算
print(2 ** 3)
print(16 ** (1 / 2))
print(8 ** (1 / 3))
2.比较运算符:
>, <, >=, <=, ==, != 所有比较运算符的运算结果都是布尔值 True or False
>, <, >=, <= 和数学中的相应的比较运算符一样
print(100 > 10)
print(100 < 10)
print(100 >= 100)
print(10 <= 100)
== 判断是否相等 / != 判断是否不相等
print(10 == 20 + 30)
print(10 != 100)
Python 中比较大小时可以向数学一样连写表示范围
print(0 <= 10 <= 20)
网友评论