一、认识python
1.常用快捷键(不是只在python中有效):
(1)常用的快捷键
# control+/ 添加注释/取消注释
# control+s 保存
# control+b 编译
# control+r 执行(编译+执行)
# control+c 复制/拷贝
# control+v 粘贴
# control+x 剪切
# control+z 撤销
# control+shift+z 反撤销
# control+y 反撤销
# control+f 查找
# control+a 全选
# control+n 新建
# shift 可以选中部分(和鼠标配合,选中开始和结束中间的部分)
# control 可以让多个位置出现光标(和鼠标配合)
2.在控制台中打印结果
注意:代码中如果需要符号的位置,符号必须是在英文输入状态下输入的符号
代码
print('hello world! 你好,世界!')
print('欢迎来到python1807!')
print('欢迎来到千锋~')
结果
二、python基本语法
1.注释
写在代码中不参与编译执行的部分就是注释。作用是用来对代码进行注释说明,方便程序员更好的阅读代码。
注意:要勤写注释,方便自己也方便别人!
a.单行注释:在文本内容的前面加#
b.多行注释:每一行前都加一个#号
例子
#我是注释1
#我是注释2
将注释放在三个单引号/三个双引号中(推荐使用双引号)
"""
我是多行注释1
我是多行注释2
"""
'''
我是多行注释1
我是多行注释2
'''
2.标识符
标识符是用来命名的(比如变量名、函数名、类名)
要求:
a.由字母数字和下划线组成,并且不能以数字开头 ---python2.x规范。
b.在Unicode编码中,除了ASCII码表中的字母、数字、下划线以外不能作为标识符的一部分,其他的都可以,数字不能开头。(由字母数字下划线和中文组成,数字不能开头) ---python3.x规范。
注意:在实际开发中,现在还是推荐使用python2.x的规范
例子
abc = 100
abc123 = 100
abc_123 = 20
_123 = 100
你好 = 100
# 1abc=100 # 报错:SyntaxError
3.语句
C/Java语法,每条语句结束必须加分号。python中一条语句结束可以加分号也可以不加;如果一行要显示多条语句,那么每条语句之间必须加分号。
例子
print('hello python!');print('hello world!')
4.行和缩进
python中对缩进有严格规范,要求同样等级的代码对应的缩进必须一致;只有在需要产生代码块的时候才需要加缩进。
行:要求函数的声明和类的声明的前后需要有两个空行(不会报错)。
例子
print('abc')
print('ABC')
5.多行显示问题
a.在需要换行的位置加\,然后在换行(\不要破坏数据本身)。
b.如果是列表、字典、元组和集合的值,可以直接换行。
例子
sum1 = 19646489 + 694948 + 946556513249449 + 3134948943 + \
164894494 + 56949
names = [
316494665,
16484949,1649,
15644,444989796,4546
]
6.常见的数据类型及其字面量
整形(int)、浮点型(float)、布尔型(bool)、字符串(str)、列表(list)、字典(dict)、元组(tuple)、集合(set)等。
整形:相当于数学中的整数,例如:100,-12,+30,0
浮点型:带小数点的数,例如:12.5,3.14,0.23,0.0,-5.6
布尔型:只有两个值分别是True(真)和False(假)
字符串:用单引号或者是双引号括起来的数据,例如:'abc','100',"abc100~!"
7.常见的数据类型及其字面量
在python中有特殊功能和特殊意义的一些标识符(单词)。
查看关键字代码
import keyword
print(keyword.kwlist)
结果
['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']
注意:在上面的[]中的内容才是关键字,其他的都不是
三、数字类型
1.python中的数字类型有四个:整形(int)、浮点型(float)、布尔型(bool)、复数(complex)
不同的类型,在内存中存储时候所占的内存不一样
a.整形(int):包含python中所有的整数,python3.x整形只有int类型这一种,但是python2.x除了int还有long。
例子
100
123
-78
+782
b.浮点型(float):包含了python中所有的小数。
注意:浮点型支持科学计数法
例子
12.89
-123.9098
+237.890
12e2
12e-3
c.布尔型(bool):布尔类型的值只有两个,分别是True(真)和False(假)。
注意:布尔值的首字母是大写的
True对应的数值其实是1,False对应的数值是0
d.复数(complex)
复数:有实部和虚部组成的数字10+10j
2.type(数值/变量):获取括号中值的类型
代码
print(type(10j))
print(type(100))
print(type(True))
print(type(2e2))
结果
3.类型名():将其他的类型的数据转换成当前类型
代码
print(int(12.5))
print(bool(10))
print(float(100))
print(complex(100))
# print(int(100+10j)) # 注意:复数不能转化成整形/浮点型
结果
四、变量
1.什么是变量
声明变量,就是在内存中开辟空间存储数据。变量就是程序在内存中存储数据的容器。
2.怎么声明变量
C/Java声明变量:类型 变量名 = 初值;
Python声明变量:变量名 = 初值;
说明:
a.变量名:程序员自己命名,要求是标识符,并且不能是关键字;所有的字母必须是小写的,如果变量名是由多个单词组成,多个单词之间用下划线隔开;见名知意(看见变量名,要知道这个变量大概存的是什么样的数据)。
b. =:赋值符号,功能是将=右边的值赋给左边的变量。
c.初值:有值得表达式(具体的字面量、其他已经声明过的变量)。
声明一个变量number,并且赋值为100
代码
number = 100
print(number)
结果
声明一个变量student_name,赋值为'小明'
代码
student_name = '小明'
print(student_name)
结果
注意:虽然int、float、bool、str等不是关键字,但是在需要命名的时候最好不用他们来命名。否则会改变他们原来的功能。
3.声明完一个变量可以给这个变量重新赋值
重新赋值后,新的值会覆盖变量中原来的值。
代码
student_name = '小明'
student_name = '小花'
print(student_name)
结果
python中,同一个变量可以存储不同类型的值。
代码
student_name = '小花'
student_name = 100
print(student_name)
结果
4.同时声明多个变量
变量名1 = 变量名2 = 变量名3... = 初值
代码
a = b = c = 123
print(a,b,c) # print同时打印多个数据,多个数据之间用逗号隔开
结果
注意:变量只有在赋完值后才能使用(只能声明后才能使用)
五、运算符
python中的运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算
1.数学运算符:+,-,,/,%,//,*
a. +:求和,和数学中的+号功能一样。
b. -:求差,和数学中的-号功能一样。
c. *:求乘积,和数学中的x号功能一样。
d. /:求商,和数学中的÷号功能一样。
注意:和C语言中的/不一样
e. %:求余数。
f. //(整除):求商,结果只取商的整数部分。
g. **(幂运算):求幂。
代码
print(100 + 10)
result = 99 - 23 # 将99-23的结果赋给变量result
print(result)
print(1.23 * 3)
print(5/2)
print(5%2)
print(5//2)
print(2**3)
结果
2.比较运算符:>,<,==,!=,>=,<=
所有比较运算的结果是布尔值:True/False。
==:判断左右两边的值是否相等, =:将右边的值赋给左边的变量print(100 > 10)
代码
print(100 > 10)
print(100 < 10)
print(12.5 == 12.5)
print(10 == 12.5)
number = 10
print(number == 10)
print(number != 100)
print(100 >= 100)
print(10 <=10)
结果
3.逻辑运算符: and(与),or(或),not(非)
逻辑运算符的结果是布尔值,运算对象也必须是布尔值。
a. 值1 and 值2: 逻辑与运算,两个都为True,结果才是True,否则都是False。
什么时候使用and:要求多个条件同时满足的时候使用and连接。
b. 值1 or 值2:两个都为False的时候结果才是False,否则就是True。
什么时候使用or:要求多个条件中只要有一个条件满足。
代码
print(False and True)
print(True or False)
结果
4. not 值:值取反(True -> False;False -> True)
否定某个条件的时候用not。
代码
print(not True)
print(not False)
结果
5.python中and和or会有短路现象
and的短路现象:值1 and 值2 --> 一旦确定值1的值是False,就不会再去执行判断值2。
or的短路现象:值1 or 值2 --> 一旦确定值1的值是True,就不会再去执行判断值2。
6.赋值运算符:=,+=,-=,=,/=,%=,//=,*=
赋值运算符的左边必须是变量,赋值的时候先算赋值符号右边的结果,然后再将结果赋给左边的变量。
a. =: 单纯的将=右边的值赋给左边
b. +=,-=,=,/=,%=,//=,*=
注意:要求左边的变量本身必须是有值的。
变量1 += 值 ---->变量1 = 变量1 + 值
代码
num1 = 100
num2 = 100
num2 += 10 #相当于:num2 = num2 + 10
print(num1)
print(num2)
结果
7.运算符的优先级:
a.数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
b.先计算优先级高的,如果优先级相等就从左往右依次运算。
c.如果有括号,先算括号里面。
d.数学运算符中:** > *,/,%,// > +,-
六、作业
1、写代码获取数字1234中的十位上和百位上的数字
代码
decade = 1234 // 10 % 10
print('数字1234中十位上的数字是'+str(decade))
hundreds = 1234 // 100 % 10
print('数字1234中百位上的数字是'+str(hundreds))
结果
2、如果变量n的值是6784, 以下表达式的结果是多少?
n / 1000 % 100
结果:6.784
n % 1000 / 100
结果:7.84
n // 100 % 10
结果:7
n // 10 % 100 //
结果:7
3、表达式 10 / 4 + 23 // 4 * 2 - 30 的结果是多少?
结果:-17.5
4、写出下面每一行中n3的结果:
n1 = 4; n2 = 5
n3 = n1 >n2
n3=False
n3 = n1<n2
n3=True
n3 = n1==4
n3=True
n3 = n1!=4
n3=False
n3 = n1 == 1+3
n3=True
5、写出以下代码执行完成后,num的结果
num = 10
num /= 2
num += 10 * 10 / 4 + 23*2
num=48.0
6、下面定义变量正确的是(a、d)
a. a = b = c = 10
b. a, c = 10
c. in = 20
d. num = 10; t = 20