千锋的第二天

2018-07-17  本文已影响517人  堪怜咏絮才

一、Python的简介

  1、Python的发展史

  2、Python的优缺点

  3、Python的应用领域

二、Hello World!

  1、第一个代码

print('Hello World!')
print('你好 世界!')

  2、快捷方式

  3、print函数

三、Python的基础语法

   1、注释

定义:一些用来说明的文字,对代码不造成任何影响 (应该养成写注释的习惯)
a、用#号来添加单行注释
b、用三个双引号(""")开头和三个双引号(""")结尾来 添加多行注释,也可以用三个单引号(''')开头和三个单引号(''')结尾来添加多行注释
特别注意:编程语言中涉及到的所有的符号,都是指的英文输入法状态下的符号

  2、标识符

(1)标识符的用途:变量、类名、函数名
(2)标识符的命名规则
a.标识符是由字母、数字和下划线组成,并且数字不能开头(硬性)不一定非要全部包含字母、数字和下划线,只要是其中的一种即可
补充:python3.x中,标识符里面可以有中文,但是不推荐使用
切记:标识符不能用数字开头——特别重要
b.不能是关键字(保留字)(硬性)(关键字就是在Python中有特殊意义的一些单词)
c.大小写敏感(需要区分大小写,aaa和Aaa、AAA、AAa是不一样的)
d.要见名知义(规范)
e.不推荐使用Python中的内置函数、类名去作为标识符(规范)

  3、关键字

定义:系统保留的有特殊意义和特殊运用的一些单词,这些关键字不能用来给函数、类、变量命名
查找关键字的方法

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']Python中的关键字

  4、行与缩进

定义:每一行代码的位置与行开头位置之间的空格
在Python中,缩进的写法有严格的规范。同一级的代码,必须在同一个缩进下面(没有实现块代码的时候写代码必须顶格写,不能留有空格)
如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError)如果在需要缩进的时候没有缩进也会报错
关于行的规范:
函数和类的声明的前后必须要有两个换行。一般一个功能实现完,实现下一个功能的时候,最好也换行

  5、多行语句

功能:实现一条语句在多行显示
a.在需要换行的地方加反斜杠(),然后在换行
b.字典、列表、集合和元组等容器类型数据的字面量,在多行显示的时候可以直接换行
Python中,一条语句结束可以不写分号;但是如果要在一行中写多条语句,那么每条语句之间必须要用分号隔开

  6、字面量

定义:数据类型对应的具体的值

  7、Python中的基本数据类型

主要包括:数字(整型(int)、浮点型,布尔、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none
可以用type函数查看数据的类型:type(数据)

print(type(10e2))
print(type('abc'))

四、变量

定义:在程序中可以通过变量来存储数据(容器)
声明:变量是不需要声明的,因为它是动态量
变量名:属性是标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线(_)隔开,例如:user_name
驼峰式命名:第一个单词首字母小写,后面每个单词的首字母都大写(例如:userName)

age=18
#声明了一个变量age,并且赋值为18
#使用变量的时候,就相当于使用变量中存的值
print(age)
student_age=12
print(student_age)
print(type(student_age))

#1.如果重新给一个变量赋值,那么新赋的值会覆盖原来的值
#2.同一个变量可以赋不同的值
student_age=18.5
print(student_age,type(student_age))
#补充:
#一个数据有type(类型)、id(数据存储在计算机中的地址)和value(值)三个属性
#变量存储数据的时候,有两种情况:第一种情况、存value----->数字类型、字符串,第二种情况、存id----->字典、集合、元组类的对象等
number=10
print(id(number))
结果:18
12
<class 'int'>
18.5 <class 'float'>
140711643895104
[Finished in 0.9s]

五、运算符

  1、数学运算符(+、-、,/,%、*、//)

+:求和
注意:求和操作,+两边必须是数字类型
-:求差
*:求积
/:求商
% :求两个数相除的余数
** :幂运算
浮点数在计算机中存储的时候,有的时候会有一定的误差
// :整除
在这些运算当中,只有幂运算最优先

  2、比较运算符(>、<、==、>=、<=、!=)

比较运算符的结果全是布尔值:True、False

  3、逻辑运算符(与(and)、或(or)、非(not))

逻辑运算的运算数据是布尔值,结果也是布尔值
布尔1 and 布尔2 :两个都为True结果才是True,只要有一个是False,结果就是False。并且
需要两个或者多个条件同时满足,就使用逻辑与(and)
布尔1 or 布尔2 :只要有一个是True,结果就是True.两个都为False结果才是False。或者
需要两个或者多个条件中满足一个就可以,就使用逻辑或(or)
not 布尔1 :如果是True,结果就是False;如果是False,结果是True
需要不满足某个条件的时候才为True
需要不满足某个条件才用not 非

  4、赋值运算符(=、+=,-=,=,/=,%=,*=,//=)

赋值运算符的作用:将赋值符号右边的表达式的值赋给左边的变量
表达式:有一个具体结果的语句,例如:10,'abc',10+20,,30>10.5等
赋值符号的左边必须是变量
赋值符号是先算右边的结果,然后再把结果赋给左边的变量

  5、运算符的优先级

优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算术运算符
算术运算符中:先幂运算再乘除取余取整再加减
如果你不确定运算顺序,可以通过添加括号来改变运算顺序。有括号就先算括号里面

六、进制转换

  1.十进制

基数:0,1,2,3,4,5,6,7,8,9
特点:逢十进一
1111=11000+1100+110+11
12345=110000+21000+3100+410+5*1

  2. 二进制

基数:0,1
特点:逢二进一 10---->2
101011=1(2^0)+1(21)+0*(22)+1(2^3)+0(24)+1*(22)=43

  3.八进制

基数:0,1,2,3,4,5,6,7
特点:逢八进一
123=3(8^0)+2(81)+1*(82)=83

  4. 十六进制

基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(a=10,b=11,c=12,d=13,e=14,f=15)
特点:逢十六进一
2f=47

     (1)进制间的转换:

十进制转换成其他进制:整除取余
八进制转二进制:一位八进制转换成三位二进制----->23=010011
十六进制转二进制:一位的十六进制转化成四位的二进制---->2f=00101111

     (2)Python中的二进制、八进制和十六进制

默认的数字都是十进制
a.二进制(binary)(bin)
基数是0,1,并且数字前加前缀0b或者0B表示二进制
bin(整数)------>将其他进制的整数转换成二进制数
b.八进制(octal)(oct)
基数是0-7,并且数字钱加前缀0O或者0O表示八进制
oct---->将其他进制的整数转换成八进制
c.十六进制(hexadecimal)(hex)
基数是0-9,a-f(A-F),并且数字钱加前缀0x或者0X表示十六进制

作业

1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是(d)
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19
注解:a,b选项中12,,12在二进制中只有基数0,1,不会出现2,因此错误,c选项中的78在八进制中基数是0-7,不会出现8,因此错误,因此答案为d选项
2.二进制数加法运算的基本特点是“逢二进一”,即0+0=0,0+1=1,1+0=1,1+1=0并进位。运用这一基本法则和十进制运算的类似规律,得出二进制数加法运算1001+101的结果为(c)
a. 1001
b. 1010
c. 1110
d. 1101
注解:1001+101=1102------>进位写成1110,答案为c
7.八进制754中的数码7对应的位权是(c)
a. 10^2 b. 16^1 c. 8^2 d. 2^2
注解:八进制中从低到高的位权依次为80,81,82,83..........因此7的位权为8^2,答案为c
8.十进制数53转换成二进制数是(b)
a. 100101
b. 110101
c.100100
d.110100
注解:53/2=26....1 26/2=13....0 13/2=6....1 6/2=3....0 3/2=1....1 1/2=0....1 合并结果为110101,答案为b
9.(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为(b)进制
a. 6
b. 7
c. 8
d. 9
注解:代入法:6进制,16^0+16^1=7 7进制 17^0+17^1=8 答案为b
10.(偏难)二进制的1000001相当十进制的④____,二进制的100.001可以表示为④___。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3
注解:(2)1000001=12^0+12^6=(10)65 (2)100.001=12^2+12^-3

  1. 下面定义变量正确的是(a,d)
    a. a = b = c = 10
    b. a,c = 10 (a,c = 10, 10)
    c. in = 20
    d. num = 10; t = 20
    注解:a选项从理论上来说没有错误,但是这种表达方式感觉欠妥,b选项中变量a和c应该分别赋值,如果定义参数才有这种表达方式,因此错误,c选项中变量名涉及到了in这个关键字,错误,d选项正确
  2. n = 6784,以下能够获取到7 的方法有(c、d)
    a. n / 1000 % 100
    b. n % 1000 / 100
    c. n // 100 % 10
    d. n // 10 % 100 // 10
    注解:n=6784 6784/1000%100=6.784%100=6.784 6784%1000/100=784/100=7.84
    6784//100%10=67%10=7
    6784//10%100//10=678%100//10=78//10=7
    答案为c、d
    13.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:-17.5
    注解:10/4+23//42-30=2.5+52-30=2.5+10-30=-17.5
上一篇下一篇

猜你喜欢

热点阅读