2018-08-21-day02-python基础

一.储备知识 1.print()是python中的打印函数,功能就是在控制台将括号中的内容输出 2.快捷键ctrl+/添加注释,ctrl+//消除已经注释的代码 ctrl+s 保存
ctrl+z 撤销
ctrl+b 编译(在sublime里是编译执行)
ctrl+r 编译执行
ctrl+shift+z 反撤销
ctrl+f 查找
ctrl+a 全选
ctrl+n 新建文件
ctrl+shift+n 新建工程
二.python基础 (一).注释 注释是不会参与代码的编译与执行的,只是对代码进行解释和说明的文字
单行注释:就是在注释文字前加#
多行注释:1.三个双引号或者单引号括起来的文字
"""
注释
"""
2.三个'''括起来的文字
'''
注释
'''
(二).标识符 专门用来命名的
要求:
a.是由字母数字下划线组成,只能少不能多
b.数字是不能开头的
c.大小写敏感
d.python3以后,标识符中可以包含非ASCII码(可以包含中文),但是在实际开发中不建议使用中文
A,B,C A-大版本 重大修改
(三).python中的关键字(保留字) python中保留用来作为特殊语法和拥有特殊功能的一些单词
通过

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']

(四).行与缩进 缩进的要求:
a.同一级的代码必须保持统一缩进
b.python通过缩进来产生代码块(类似于其他语言中的大括号{})
行的规范:
a.声明函数的前后必须要有两个换行
b.声明类的前后也需要两个换行
c.多个功能模块间用换行隔开
一句代码多行显示:
在想要换行的地方加一个\,并且换行之后缩进不受限制
a = 100+200\ +3400

注意:列表,字典,元组和集合的字面量换行不加\,直接换行
[ 123, 24 ]

(五).字面量(具体的值) 注意:2e2 == 200 == 2x10^2
注意:复数的字面量(python中的复数只有j)
10+2j
a.数字字面量:10,12.5,-20,+10.0
b.布尔值:True,False
c.字符串:'sscs',"dsdssd"
d.列表:[10,20,'h','w',True]
e.字典:{'a':10,'name':"张三"}
(六).python中的基本数据类型 【2018-08-21-day02-python基础】a.数字相关的
int(整型),float(浮点型)
complex(复数)
b.布尔(bool)
只有True和False两个值
c.字符串(str)
d.列表(list)
e.字典(dict)
f.元组(tuple)
g.集合(set)
h.函数(function)
i.字节(bytes)
(七).变量 声明变量就是在内存中开辟空间存储数据。(变量就是标签)
python是动态语言
1.怎么声明变量
变量名 = 值
说明:
a.python声明变量的时候不需要确定类型
b.变量名是标识符,不能是关键字
c.=:赋值符号,将值贴上变量的标签
值:表达式,就是有结果的,例如:字面量,运算表达式,其他的变量
要求:
a.见名置义
b.遵循PEP8命名规范(所有字母都小写,多个单词之间用_连接)
2.python中每条语句结束之后不用分号,但是如果一行要写多天语句,就必须加分号
number1 = 10; number2 = 20

也可以
num1,num2=1,2

3.同时声明多个变量,并且赋一样的值
str1 = str2 = 'abc'

使用print同时打印多个值
print(str1,str2,str3)

4.id函数
id(变量)---查看变量的地址
python声明变量和给变量赋值的原理:先在内存中开辟空间存数据,然后再将变量名作为数据对应的内存的标签
注意:常量池地址是一样的
5.int(整型)
#所有的整数都是整型,python3中的整型只有int,python2中有int和long

内置函数type()----获取括号中数据的类型
注意: 科学计数法数是浮点数
print(type(2e2))

6.布尔
布尔就True和False
True对应的值是1
False对应的值是0
(八).运算符 1.数学运算符
+加 -减 *乘 /除 //整除整除之后没有小数点,只取商的整数部分,就是c语言里的除, %取余a**b即求a的b次方 **幂运算 注意:+,-,*,/和数学中的加、减、乘、除、求余的功能一模一样 例子:9**(0.5) 练习:取出一个四位数中的百位数是几 方法一: ``` num=number%1000 num=num//100 ``` 方法二: ``` num=number//100 num=num%10 ```

2.比较运算符
>大于 <小于 >=小于等于 <=小于等于 ==等于 !=不等于 注意:所有的比较运算的结果都是布尔值

3.逻辑运算符:操作的数据是布尔值,返回的结果也是布尔
and 与两个都为True结果为True,只要一个是False,结果就是False or或至少一个为True结果为True,全部为False,结果为False not 非取反,True则为False

4.赋值运算符:
=赋值 +=加等于 -=减等于 *=乘等于 /=除等于 %=取余等于 //= 整除等于 **= 幂等于 要求:赋值符号的左边必须是变量;运算顺序是先算赋值符号右边的值,然后再将右边的结果赋给左边 变量 += 值 注意:这儿的变量必须是已经声明过的变量,变量必须先声明,再使用 a +=2 #相当于a = a+2 b+=2是在原址进行值修改 b=b+2是进行运算后再把新地址贴上b标签

5.运算符的优先级
数学运算符>比较运算符>逻辑运算符>赋值运算符 数学运算符中:** >(*,/,%,//) >(+,-)注意:正负大于数学运算符 优先级高的先计算,如果优先级相同就从左往右依次计算,可以通过加括号改变运算顺序

(九).进制 1.计算机中常用的进制:二进制,八进制,十进制、十六进制
十进制: 1.基数:0,1,2,3,4,5,6,7,8,9 2.进位:逢10进1 二进制 1.基数:0,1 2.进位:逢2进1 二进制转十进制 1010=1*2^3+0*2^2+1*2^1+0*2^0=10 八进制: 1.基数:0,1,2,3,4,5,6,7 2.进位:逢8进1 十六进制 1.基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 2.进位:逢16进1

2.进制间的转换
1.二进制,八进制,十六进制-->十进制
进制数^位数(从0开始)*每一位上的值的和

2.八进制、十六进制-->二进制
将一位的八进制转换成三位的二进制 将一位的十六进制转换成四位的二进制 二进制转换成八进制或者十六进制与以上操作相反

3.十进制-->成二进制
相除取余法:除到商为0为

3.python对进制的支持
python支持二进制,八进制,十六进制 python中二进制,八进制,十六进制的表示: 二进制:a = 0b11 通过添加前缀0b表示二进制,后面的数只能是0或1的组合 八进制:a = 0o77 通过添加前缀0o表示八进制,后面的数只能是0到7的组合 十六进制:a = 0xaf 通过添加前缀0x表示十六进制,后面的数只能是0-9和a-f的组合 内置函数: bin():将其他的进制转换为二进制 oct():将其他的进制转换成八进制 int():将其他的进制转换成十进制,也可以将其他数据类型转换成整型 hex():将其他的进制转换为十六进制#day2作业

1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是(d) a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19
2.二进制数加法运算的基本特点是“逢二进一”,即0+0=0,0+1=1,1+0=1,1+1=0并进位。运用这一基本法则和十进制运算的类似规律,得出二进制数加法运算1001+101的结果为(c) a. 1001
b. 1010
c. 1110
d. 1101
3.八进制754中的数码7对应的位权是(c) a. 10^2 b. 16^1 c. 8^2 d. 2^2
5.十进制数53转换成二进制数是(b) a. 100101
b. 110101
c.100100
d.110100
6.(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为(b)进制 a. 6
b. 7
c. 8
d. 9
7.(偏难)二进制的1000001相当十进制的,二进制的100.001可以表示为_④ __。 A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3
8. 下面定义变量正确的是(a,d) a. a = b = c = 10
b. a,c = 10
c. in = 20
d. num = 10; t = 20
9. n = 6784,以下能够获取到7 的方法有(c,d) a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10
10.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:-17.5

    推荐阅读