Python-day2
一、常用的快捷键 (不是只在python中有效)
ctrl+/ 添加注释/取消注释
ctrl+s 保存
ctrl+b 编译
ctrl+r 执行(编译+执行)
ctrl+c 复制/拷贝
ctrl+v 粘贴
ctrl+x 剪切
ctrl+z 撤销
ctrl+shinf+z 反撤销
ctrl+y 反撤销
ctrl+f 查找
ctrl+a 全选
ctrl+n 新建
shift 可以选中部分(和鼠标配合,选中开始和结束中间的部分)。
ctrl 可以让多个位置出现光标(和鼠标配合)。
二、python的基本语法
1.注释(写在代码中不参与编译执行的部分就是注释,作用用来对代码进行注释说明,方便程序更好的阅读代码)
注意:要勤写注释,方便自己也方便别人!
a.单行注释:在文本内容的前面加#号。
b.多行注释:
每一行前都加一个#号
将注释放在三个单引号/三个双引号中(推荐使用双引号) 例子如下:
"""
我是注释1
我是注释2
"""
'''
我是注释1
我是注释2
'''
2.标识符:标识符是用来命名的(比如变量名、函数名、类名)
要求:a.有字母 数字 下划线组成,并且数字不能开头 ---python2.x规范
b.在Unicode编码中,出来ASCTII码表中的字母 数字 下划线以外不能作为标识符的一部分,其他的都可以。数字不能开头(有字母数字下划线和中文组成,数字不能开头) ---python3.x规范
注意:在实际开发中,现在还是推荐使用python2.x的规范。
3.语句。
c/java语法,每条语句结束必须加分号。
python中一条语句可以加分号也可以不加;如果一行要显示多条语句,那么每条语句之间必须加分号。
4.行和缩进。
python中对缩进有严格规范,要求同样等级的代码对应的缩进必须一致;只有在需要产生代码块的时候才需要加缩进。
行:要求函数的声明和类的声明的前后需要有两个空行(不要报错)。
5.多行显示问题。
a.在需要换行的位置加个\,然后再换行(\不要破环数据本身)。
b.如果是数组 字典 元祖和集合的值可以直接换行。
6.常见的数据类型及其字面量。
整型(int) 浮点型(float) 字符串(str) 布尔(bool) 列表(list) 字典(dict)。
整型:相当于数学中的整数,列如:100,-12,+30。
浮点型:带小数点的数,列如:12.5 ,3.14,0.23。
布尔型:只有两个值分别是True(真)和False(假)。
字符串:用单引号或者双引号括起来的数据,列如:'100','abc',"abc100"。
7.关键字(保留字)
在python中有特殊功能和特殊意义的一些标识符(单词)。
import keyword 导入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','lambad','ninlocal','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,-100,+54。
b.浮点型(float):包含python所有的小数.如:12.89,-123.98,+237.89。
注意:浮点型支持科学计数法.如下:
print(12e2) 注:12e2=12*10^2
print(12e-3) 注:12e-3=12*10^(-3)
c.布尔(bool):布尔类型的值只有两个,分别是True(真)和False(假)。
注意:布尔值的首字母是大写的。
True对应的数值是1,False对应的数值是0。
d.复数(complex)
复数:有实部和虚部组成的数字。如:10+10j
2.type(数值/变量);获取括号中值的类型。
print(type(10j)) 获取类型为complex(复数)
print(type(100)) 获取类型为int(整型)
print(type(True)) 获取类型为bool(布尔型)
print(type(2e2)) 获取类型为float(浮点型)
3.类型名():将其他的类型的数据转换成当前类型。
print(int(12.6)) 获取的答案为:12
print(bool(10)) 获取的答案为:True
print(float(100)) 获取的答案为:100.0
print(complex(20)) 获取的答案为:20+0j
注意:复数不能转换为整型和浮点型数据类型。
四、变量
1.什么是变量
声明变量,就是在内存中开辟空间存储数据。变量就是程序在内存中存储数据的容器。
2.怎么声明变量?
C/Java声明变量:类型 变量名=初值;
python声明变量:变量鸣=初值
变量名=初值
说明:a.变量名:程序员自己命名,要求是标识符,并且不能是关键字;所有的字母必须小写,如果变量名是多个单词组成,多个单词之间用下划线隔开;见名知义(看见变量名,要知道这个变量大概存的什么样的数据)。
b.=:赋值符号,功能是将=右边的值赋给左边的变量。
c.初值:有值的表达式(具体的字面量,其他已经声明过的变量)。
声明一个变量并且赋值为100。如下:
number=100
print(number) 输出的值为100
True=12.5 错误为:SyntaxError: can't assign to keyword
1abc=True 错误为:SyntaxError: invalid syntax
声明一个变量student_name,赋值为'小明'。
注意:虽然int、float、bool、str、等不是关键字,但是在需要命名的时候最好用他们来命名。
student_name='小明'
print(student_name)
3.声明完一个变量可以给变量重新赋值。
重新赋值后,新的值会覆盖变量中原来的值。
student_name='小花'
print(student_name)
python中,同一个变量可以存储不同类型的值。
student_name=100
print(student_name)
4.同时声明多个变量。
变量名1=变量名2=变量名3-初值
如:a=b=c=123
print(a,b,c) print同时打印多个数据,多个数据自己用逗号隔开。
将变量student_name中的值,赋给new_name。
new_name=student_name
注意:变量只有在赋完值后才能使用(只能声明后才能使用)。
print(new_name2) 错误为:NameError: name 'new_name2' is not defined
五、运算符
python中运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算。
1.数学运算符:+,-,*,/,%(取余),//,**。
a.+;求和,和数学中的加号一样。
b.-:求差,和数学中的减号一样。
c.*:求乘积,和数学中的乘号一样。
d./:求商,和数学中的除号一样。
注意:和c语言中的/不一样。
e.%:求余数。
注意:python中小数和整数可以求余数。
print(5%2) 输出的结果为:1
print(5.5%2) 输出的结果为:1.5
f.//:求商,结果只取商的整数部分。
print(5//2) 输出的结果为:2
# g.**(幂运算):求幂。
x**y:求x的y次方。
技巧:可以通过把y的值设置为1/2(0.5)来求一个数的开平方。例子如下:
print(2**3) 输出的结果为:8
print(100**0.5) 输出的结果为:10.0
2.比较运算符:>,<,==,!=,>=,<=。
比较运算的结果是布尔值:True/False。
==:判断左右两边的值是否相等,=:将右边的值赋给左边的变量。
3.逻辑运算符:and(与),or(或),not(非)。
逻辑运算符的结果也是布尔值,运输对象也必须是布尔值。
a.and:值1 and 值2 :两个都是True,结果才是True,否则都是False。
print(True and True) 输出的结果为:True
print(True and False) 输出的结果为:False
print(False and True) 输出的结果为:False
print(False and False) 输出的结果为:False
练习:设置获得奖学金的条件:绩点在3.5以上,并且操评分高于90。
grade=3.8
score=95
# 条件1:
grade>3.5
# 条件2
score>90
print(grade>3.5 and score>90) 输出的结果为:True
注意: 什么时候使用and:要求多个条件同时满足的时候使用and连接。
b.值1 or 值2:两个都是False的时候才是是False,否则为True。
print(False or False) 输出的结果为:False
print(False or True) 输出的结果为:Ture
print(True or True) 输出的结果为:True
练习:是否穿毛衣出门:温度低于20度,或者风速高于五级。
temperature=22
wind_speed=6
# 条件1
condition1=temperature<20
# 条件2
condition2=wind_speed>5
print(condition1 or condition2) 输出的结果为:True
注意:什么时候使用or:要求多个条件中有一个条件满足。
3.not值:值取反(True->False;False->True)。
print(not True) 输出的结果为:False
print(not False) 输出的结果为:True
age=18
# 条件:年龄不大于18
print(age<=18)或者print(not age>18)
注意:否定某个条件时用not。
4.python中and和or会有短路现象。
and的短路现象:值1 and 值2 -->一旦确定值1的值是False,就不会再去执行判断值2。
or的短路现象:值1 and 值2 -->一旦确定值1的值是Ture,就不会再去执行判断值2。
5.赋值运算符:=,+=,—=,*=,%=,//=,**=。
赋值运算符的左边必须是变量,赋值的时候是先算赋值符号右边的结果,然后再将结果赋给左边的变量。
a.=:单纯的将=右边的值赋给左边。
b.+=,—=,*=,%=,//=,**=
要求左边的变量本身必须有值。
num=100
num+=10
print(num) 相当于:num=num+10
num1=4
num1*=2
print(num1) 相当于:num1=num1+2
6.运算符的优先级:
a.数学运算符>比较运算符>逻辑运算符>赋值运算。
b.先计算优先级高的,如果优先级相等就从左往右依次运算。
c.如果有括号,先算括号里面。
d.数学运算符:**>*,*,/,%,//>+,-。
六、今日作业
1.写代码获取数字1234中的十位上和百位上的数字?
x=1234
求十位上的数字:
print(x//10%10)
求百位上的数字
print(x//100%10)
2.如果变量n的值是6784, 以下表达式的结果是多少?
n / 1000 % 100 结果为:6.784
n % 1000 / 100 结果为:7.84
n // 100 % 10 结果为:7
n // 10 % 100 // 10 结果为:7
3.表达式 10 / 4 + 23 // 4 * 2 - 30 的结果是多少?
print(10 / 4 + 23 // 4 * 2 - 30) 结果为:17.5
4.写出下面每一行中n3的结果:
n1 = 4; n2 = 5
n3 = n1 >n2 结果为:False
n3 = n1<n2 结果为:True
n3 = n1==4 结果为:True
n3 = n1!=4 结果为:False
n3 = n1 == 1+3 结果为:True
5.写出以下代码执行完成后,num的结果
num = 10
num /= 2
num += 10 * 10 / 4 + 2*3**2 结果为:48
6.下面定义变量正确的是(a)
a. a = b = c = 10
b. a, c = 10
c. in = 20
d. num = 10; t = 20