2018-08-21_day2_python基础
一、快捷键
- control+/ 注释/取消注释
- control+S 保存
- control+c 复制
- control+v 粘贴
- control+x 剪切
- control+B 编译(执行)
- control+R 编译执行
- control+A 全选
- control+Z 撤销
- control+shift+Z 反撤销
- control+F 查找,弹出搜索框
- control+N 新建(文件)
- control+shift+N 新建工程
- 按住shift点鼠标可以选中部分内容
注
写代码一定是在英文状态下
print是python中的打印函数,功能是在控制台将括号中的内容输出
例: print('hello world')
二、基础要求
1.注释
- 单行注释,在注释文字前加#号
- 多行注释,在段前一行和段后一行使用三个单引号或双引号
例:
'''
多行注释
'''
"""
多行注释
"""
2、标识符
- 是由字母数字下划线组成(只能少不能多)
- 数字不能开头
- 大小写敏感的(大小写不同)
- python3以后,标识符中可以包含非ASCII码(可以包含中文,但在实际开发中不建议使用)
例:
na=10
a1=1
姓名(非ASCII码)=21
3、关键字(保留字)
python中用来作为特殊语法和特殊功能的一些单词:
'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'
4、行与缩进
缩进的要求:
- 同一级代码必须保持同一缩进(统一使用Tab来产生缩进)
- 通过缩进来产生代码块(内似{})
行的规范:
- 声明函数的前后必须有两个换行
- 声明类的前后也需要两个换行
- 多个功能模块间用换行隔开
5、多行显示(一句代码多行显示)
- 换行时加''',换行后缩进不在限制
- 列表、字典、元组和集合的字面量换行不用加\
6、字面量(具体的值)
a、数字字面量:10,23.5,-20,+20,2e2(2*10^2)科学计数法,10j(复数)
b、布尔值:True——真,False——假
c、字符串:'kjdsfvsw'由单引号括起来的
d、列表:[10,20,30,'python',True]
e、字典:{'a',10,'发生'}
7、python中的基本数据类型
a、数字相关的 int(整型),float(浮点型),complex(复数)
b、布尔(bool)——只有True和False两个值
c、str(字符串)
d、list(列表)
e、dict(字典)
f、tuple(元祖)
g、set(集合)
h、function(函数)
i、bytes(字节)
三、变量
1、怎么声明变量
- 格式:变量名=值
- 说明:
- python声明变量的时候不需要确定类型
- 变量名:标识符,不能是关键字,见名知义,PEP8命名规范(所有的字母都小写,多个单词之间用'_'隔开)
- '='赋值符号,将右边的值赋给左边变量
- 值:表达式(就是有结果的,例如:字面量,运算表达式(10+20),其他的变量)
例:声明了一个变量name,赋值为'路飞'。使用name,就相当于在使用'路飞'
name='路飞'
class_name='python1806' **驼峰式命名**:className 中间字母大写
print(name)
声明一个变量,可以存储不同的数据
number=100
number='娜美'
print(number)
python中每条语句结束可以不用分号,但是如果一行要写多条语句,必须加分号
number1=100;number2=200
同时声明两个变量,并且赋一样的值
str1=str2=str3='abc'
使用print同时打印多个值
print(str1,str2,str3)
3.id函数
id(变量)——查看变量地址
a = 10
print(id(a))
python声明变量和给变量赋值的原理:先在内存中开辟空间,然后再将变量名作为数据对应的内存的标签
b=10
print(id(b))
注:a和b同一个值地址相同
四、数据类型
1.int(整型)
- 所有整数都是整型,python3中的整型只有int,python2中有int和long**
num=10
num2=12
- 内置函数:type()——获取括号中的数据类型
print(type(num))
2.float(浮点型)
- 所有带小数点的数,都是浮点型。python中的浮点型只有float
num3=0.12
num4=+100.0
num5=2e2
num6=-3.14
print(type(num5))
3.bool布尔
- 布尔只有True和False
bool1=True
bool2=False
五、运算符
1、 数学运算符:+,-,,/,//(整除),%(取余),*(幂运算)
- //(整除)--求商取整数部分
print(5//2)
print(6.3//2.1)
- ** (幂运算)——x ** y: x的y次方
print(2**3)
例:取出一个4位整数的百位
(1)number=3512
number1=number//100
number2=number1%10
print(number2)
(2)print(number%1000//100)
2.比较运算:>,<,==(等于),!=(不等于),>=,<=
所有的比较运算结果都是布尔值
print(10>20)
print(10==20)
3.逻辑运算符:and(与),or(或),not(非)
逻辑操作的数据是布尔值,返回的结果也是布尔值
- and(与)--和,并且--两个都为True结果为True
score1=4.0
score2=80
print(score1>3.5 and score2>=90)
要求两个或多个条件全都满足才行
- or(或)——或者:只要有一个True结果为True,两个都为False结果才是False
要求两个或多个只要条件满足就行 - not(非)
True变成False,False变成True
例:年龄不小于18
age=20
print(not age<18)
print(age>=18)
4.赋值运算符:=(赋值),+=,-=,=,/=,%=,//=,*=
赋值符号的左边必须是变量;运算顺序是先算赋值符号右边的值,再将右边的结果赋给左边
* a=值
a=10
b=10+20
c=a+b
d=a>10
print(d)
- 变量+=值
这儿的变量必须是已经声明过得变量
a=10
a+=2——相当于a=a+2
print(a)
b=10+20
b-=10——相当于b=b-10
5.运算符的优先级
- 数学运算符优先级 > 比较运算符 > 逻辑运算符 > 赋值运算符
- 数学运算符:*>(,/,%,//)>(+,-)
- 优先级高的先计算,如果优先级相同就从左往右依次计算
print(10*20+30<40/2-100) ——False
print(10*20+(30<40)/2-100) ——100.5
print(2*2**3) ——16
六、进制及换算
计算机常用的进制有:二进制、八进制、十进制、十六进制
1、十进制
- 基数:0~9
- 2.进位逢十进一
- 3.十进制数上每一位:123=102+2*101+3*10^0
2、二进制
- 基数:0,1
- 进位:逢二进一
- 二进制上的每一位:1011=20+21+22*0+23*1=11
3、八进制
- 基数:0~8
- 进位:逢八进一
- 八进制上的每一位:123=80*3+812+8^21=83(10)
4、十六进制
- 基数:0~F
- 进位:逢16进一
- 十六进制上的每一位:123=160*3+1612+16^21=291(10)
5、进制间的转换
-
二进制、八进制、十六进制——>十进制
进制数^位数(0开始)乘以每一位上的值 -
八进制、十六进制——>二进制
将1位八进制转换成3位的二进制
123(8)=001 010 011(2)
123(16)=0001 0010 0011(2)
- 二进制——>八进制、十六进制
将3(4)位的二进制转换成1位的8(16)进制
001 010 011(8)=123(8)
- 十进制——>二进制
相除取余
6、python对进制的支持
python支持整数的二进制、八进制、十六进制
- 二进制:加前缀0b
print(0b11)
print(bin(20)) #将十进制转换成二进制
print(bin(0x20))
- 八进制:0o
print(0o11)
print(oct(11)) #将十进制转换成八进制
print(oct(0b10))
- 16进制:0x
print(0xaf)
print(hex(20)) #将十进制转换成十六进制
7、 计算机存数据是以二进制形式存储的,存一个数的补码
-
原码:数据的二进制形式
最高位是符号位;正数符号位是0,后面是数值大小
负数符号位是1,后面是数值大小
10——>1010——>00001010
-10——>1010——>10001010 - 反码
正数的反码:反码和原码一样
负数的反码:符号不变,后面每一位取反
10->00001010
-10->11110101 - 补码
正数的补码:补码和原码一样
负数的补码:反码加一
10->00001010
-10->11110110 - 计算机只有加法器,没有办法做减法操作
2+(-3)
原码: 00000010+10000011=10000101=-5
补码: 00000010+11111101=11111111(补码)->反码11111110->原码10000001=-1