1.常用的快捷方式:
- control + / ----单行注释
- control + s ----保存 control + b ----编译(编译执行)
- control + n ----新建文件
- control + c ----复制
- control + v ----粘贴
- control + a ----全选
- control + x ----剪切
- control + z ----撤销
- control + y / control + shift + z ----反撤销
- 按住control不放,让鼠标可以同时在多个位置设置光标
- control + f ----弹出搜索框
2.print 函数是python内置函数,作用是在控制台打印print后面()里面的任何内容
- ()里面的单引号,是字符串的标志,而不是内容
在python2.x中,print 'hello world'
在python3.x中,print后面需要括号 - A.B.C版本号。A--> 重大修改(不向下兼容) B--> 添加新的功能 C--> 修复一些bug
print ('hello world')
print ('世界你好')
输出结果为:
hello world
世界你好
3.注释
注释就是代码源文件中用来注解说明的文字,不会对代码的功能产生任何影响
注意:好的代码和好的程序员,需要对代码通过注释进行说明
例如:# 我是单行注释
"""
这是多行注释(一般用这个)
"""
'''
这是多行注释
'''
补充:编程语言中涉及到的所有的符号,都是指的英文输入法状态下的符号
4.标识符
标识符是用来程序中命名用的。(比如:变量名、类名、函数名)
a.标识符是由字母、数字和下划线组成,并且数字不能开头(硬性) ---python3.x中,标识符中可以有中文
b.不能是关键字(保留字)(硬性)
c.大小写敏感(区分大小写)
d.要见名知义(规范)
e.不推荐使用Python中的内置函数、类名去作为标识符(规范)
5.关键字
- 系统保留的有特殊功能或者特殊意义的一些单词,这些单词不能用来给变量\函数\类命名的。
具体的关键字有:
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 - 如何查看关键字:
import keyword
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.行与缩进
- 缩进:每一行代码的位置,与行开头的位置之间的空格。
- 在Python中,缩进的写法有严格的规范。同一级的代码必须写在同一个缩进下面。
- 如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError);如果在需要缩进的时候没有缩进也会报错
- 关于行的规范:
函数和类的声明的前后必须要有两个换行,一般一个功能实现完,实现下一个功能的时候,最好也换行
7.多行语句
- 一条语句在多行显示。
a.在需要换行的地方加反斜杠(\),然后再换行
b.字典,列表,集合,和元组等容器类型数据的字面量,在多行显示的时候可以直接换行 - Python中,一条语句结束,可以不写分号;但是如果一行中要写多条语句,那么每条语句之间必须使用分号隔开
例如:
print ('aa');print ('bb')
print ('安徽省就打开电话时空大家看好安徽
省就打开电话时空大家看好安徽省就打开电
话时空大家看好安徽省就打开电话时空大家看好')
print ([1,2,3,4,
5,6,7,8,9])
结果:
aa
bb
安徽省就打开电话时空大家看好安徽省就打开电话时空大家看好安徽省就打开电话时空大家看好安徽省就打开电话时空大家看好
[1, 2, 3, 4, 5, 6, 7, 8, 9]
8.字面量
数据类型对应的具体的值
10,100,-12 ---> 整数
12.5,3.1415,-0.13 ---> 小数
12e2,9e-2 ---> 数字
9 + 10j ---> 复数
'hello world','123','abc',"ac","!asda" --->字符串
True,False --->布尔值
[1,2,'a','asda'] ---> 列表
{'a':1,'b':'123'} ---> 字典
9.Python 中的基本数据类型
- 数字(整型(int)、浮点型、布尔、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none(代表没有值)
- 整型:int (在python2.x有long) ---> 值是所有的整数
- 浮点型:float --->包含所有的小数和科学计数
- 布尔:bool ---> 值只有True和False
- 复数:complex --> 值包含所有的复数
- 可以通过type函数查看数据的类型:type(数据)
例如:
print (type(10e2))
print (type('ab'))
结果为:
<class 'float'>
<class 'str'>
10. 什么是变量
- 在程序中可以通过变量来存储数据(容器)
- 怎么声明变量
a. 严格来说,Python中的变量不需要声明,直接通过赋值符号(=)给变量赋值,就是在声明变量。
因为Python是动态语言,在声明变量的时候,不需要指定变量的类型。并且同一个变量可以赋不同类型的值
b. 格式:变量名 = 值
变量名:标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线隔开,如:user_name)
c. 驼峰式命名:第一个单词首字母小写,后边每个单词的首字母都大写(例如:userName)
例子:
声明了一个变量age,并且赋值为18
age = 18
使用变量的时候,就相当于使用变量中存的值
print (age) - 如果重新给一个变量赋值,那么新赋的值会覆盖原来的值。同一个变量可以赋不同类型的值。
例子:
stu_age = 20
print (stu_age)
print (type(stu_age))
stu_age = 18.5
print (stu_age,type(stu_age))
结果:
20
<class 'int'>
18.5 <class 'float'>
补充:
- 一个数据有type(类型)、id(数据存储在计算机中的地址)和value(值)三个属性
- 变量存储数据的时候,有两种情况。第一种情况:存value ---> 数字类型、字符串,第二种情况:存id ---> 字典、列表、集合、元组、类的对象
输出number的地址:
number = 10
print (id(number))
结果:
140722589652288
11.数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)
- 数学运算符(+、-、、/、%、*、//)
- +:求和运算
注意:求和操作,+两边必须是数字类型
True --> 1 False --> 0
举例:
print (10 + 20.1,True + 1)
结果:
30.1 2
- -:求差
print (100 - 10)
90
- *:求乘积
number = 3 * 9
print (number)
27
- /:求商
print (5 / 2)
print (4 / 2)
2.5
2.0
- %:求两个数相除的余数
print (5 % 2)
1
- **:幂运算
x ** y :求x的y次方
浮点数在计算中存储的时候,有的时候会有一定的误差
print (4.2 ** 3)
print (2 ** 3)
74.08800000000001
8
- //:整除
求商,但是只取商的整数部分
print (5 // 2)
2
练习:
取一个二位整数的十位数(78)
print (78 // 10)
7
取2345中的4
print (2345 % 100 // 10)
或者
print (2345 // 10 % 10)
4
4
- 比较运算符:<、 >、 ==、 >=、 <=、 !=
比较运算符的结果全是布尔值:True/False
3.在Python中,可以像数学中一样,连续判断
例子:
判断number是否在10到20之间
number = 15
result = 10 < number <20
print (result)
结果:
True
- 逻辑运算符:与(and)、或(or)、非(not)
- and 优先级高于 or
- 逻辑运算符的运算数据是布尔值,结果也是布尔值
- 布尔1 and 布尔2:两个都为True结果才为True,只要有一个False,结果就是False。 并且
需要两个或者多个条件同时满足,就使用逻辑与(and) - 布尔1 or 布尔2:只要有一个是True,结果就是True,两个都是False结果才是False。 或者
需要两个或者多个条件中满足一个就可以,就使用逻辑或(or) - not 布尔1:如果是True(False),结果就是False(True)。
需要不满足某个条件的时候才为True
练习:
a. 写一个条件,判断一个人的年龄是否满足青年的条件(年龄大于18并且小于28,而且不能是20岁)
age = 25
result = age > 18 and age < 28 and age != 20
print (result)
结果:
True
b. 成绩不低于60分
score = 70
print (score >= 60)
print (not score < 60)
True
5.赋值运算符
=、 +=、 -=、 *=、 /=、 %=、 **=、 //=
- 赋值运算符的作用:将赋值符号右边的表达式的值赋给左边的变量
- 表达式:有结果的语句,例如:10,'abc',10+20,30>10.5等
- 赋值符号的左边必须是变量
- 赋值符号,是先算右边的结果,然后再把结果赋给左边的变量
举例:
number = 100
number += 10 (相当于:number = number + 10)
print (number)
结果:
110
6.运算符的优先级
a. 优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算数运算符
b. 算数运算符中:先先幂运算再乘除取余取整再加减(幂运算 > 乘=除=取余=取整 > 加=减)
c. 如果不确定运算顺序,可以加括号改变运算顺序,有括号先算括号内的
12.数据在计算机中的存储,存的都是二进制数(0101......)
十进制、二进制、八进制、十六进制
十进制
基数:0,1,2,3,4,5,6,7,8,9
特点:逢10进1二进制
基数:0,1
特点:逢2进1
101011 = 1 + 2 + 0 + 8 + 0 + 32 = 43八进制
基数:0,1,2,3,4,5,6,7
特点:逢8进1 12 ---> 10
24 = 4 * (8^0) + 2 * (8^1) = 20十六进制
基数:0-9,a-f(A-F) a = 10 ... f = 15
特点:逢16进1
2f = 47
进制间的转换:
- 十进制转换成二进制:除2取余(短除法,反向取余)123 ---> 1111011
- 十进制转换成其他进制:整除取余法
- 八进制转换二进制:一位八进制转换成三位二进制 ---> 23 = 010 011
- 十六进制转二进制:一位十六进制转换成四位的二进制 ---> 2f = 0010 1111
13.Python 中的二进制、八进制和十六进制
默认的数字都是十进制(如:169)
a. 二进制
基数是0,1,并且数字前加前缀0b表示二进制
例如:0b1101
bin(整数) --> 将其他进制的整数转换成二进制数
print(bin(10))
print(bin(0x10))
结果:
0b1010
0b10000
b. 八进制
基数的0-7,并且数字前加0o或者0O表示八进制
例如0o176 0O123
oct(整数) --> 将其他进制的整数转换成八进制
print(oct(10))
结果:
0o12
c. 十六进制
基数是0-9,a-f(A-F),并且数字前加0x或者0X表示十六进制
例如:0x1a 0X2af
hex(整数) --> 将其他进制的整数转换成十六进制
print(hex(10))
结果:
0xa
作业:
下列四组数,依次为二进制、八进制和十六进制,符合要求的是( d )
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19二进制数加法运算的基本特点是“逢二进一”,即0+0=0,0+1=1,1+0=1,1+1=0并进位。运用这一基本法则和十进制运算的类似规律,得出二进制数加法运算1001+101的结果为( c )
a. 1001
b. 1010
c. 1110
d. 1101八进制754中的数码7对应的位权是( c )
a. 10^2 b. 16^1 c. 8^2 d. 2^2十进制数53转换成二进制数是( b )
a. 100101
b. 110101
c.100100
d.110100(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为( b )进制
a. 6
b. 7
c. 8
d. 9(偏难)二进制的1000001相当十进制的 _ ④_ ,二进制的100.001可以表示为_ ④__。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3下面定义变量正确的是( a,d )
a. a = b = c = 10
b. a,c = 10
c. in = 20
d. num = 10; t = 20n = 6784,以下能够获取到7 的方法有( c,d )
a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:-17.5。
print (10 / 4 + 23 // 4 * 2 - 30 )
结果:
-17.5