什么是python?
python是一款编程语言
javago c c++ php
python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言
代码写完之后,用计算机运行代码,需要将代码转换成计算机可以识别的语言
解释型:python 属于解释型的编译语言,python 在执行代码的过程中不需要手动将代码转换成二进制代码,python 有自带的解释器,可以直接通过解释器进行转换成计算机可以识别的语言
在代码的运行过程当中将代码转换成计算机可以识别的语言
编译型:在代码运行之前将代码声明成计算机可以识别的二进制代码语言,需要手动的进行编译
面向对象:python属于面向对象的编程语言
面向过程:c就是属于面向过程的编译语言
python适用的领域:
python开发,python自动化测试,python运维,python爬虫
python ai智能,python大数据分析
python性能不行,代码运行速度慢
PYTHON里面注释的快捷键:
1. 代表注释行 注释内容单行
2. ctrl + / 同时注释多行
3. 使用三引号注释内容
作用:表示当前的内容不会被运行
注意:笔记写好之后一定要加上注释
python 的输出语句:
print():作用:输出内容到python 的控制台
python 2 python 3 的区别:
python 2 已经停止更新了,我们现在使用的python版本是python 3
1.print 的区别:
python2 print 不需要加上括号 print "hello word"
python3 print 需要加上括号 print ("hello word")
2.编码格式的区别:
python2 在编辑文件的时候需要声明当前的py文件的格式,需要
在文件的首行加上 encoding:utf-8
python3 默认的编码格式就是 utf-8 不需要做编码格式的声明
Print 属于python 的内建函数(python自带的方法),作用用于输出内容
print("hello word")
print(type("1111")) #<class 'str'>
print(1.11)
print(type(1.11)) #<class 'float'>
print(1)
print(type(1)) #<class 'int'>
python 中格式化输出的方式
%s:字符串(采用str()的显示)
%c:单个字符
%d:十进制整数
%i:十进制整数
%o:八进制整数
%x:十六进制整数
%f:浮点数
%%:字符"%"
%s:字符串(采用str()的显示)
str1 属于变量属性值的名称,一个等于号叫做赋值
%s 可以输出 字符串,整数,浮点数
str1 = "张三"
str1 = "李四"
print("name is :%s" % str1) #name is :李四
%c:只能输出单个字符串
str1 = "w"
print("str is %c" % str1) #str is w
%d:十进制整数
str1 = 10
print("number is :%d" % str1) #number is :10
%o:八进制整数
str1 = 10
print("number is :%o" % str1) #number is :12
%x:十六进制整数
str1 = 10
print("number is :%x" % str1) #number is :a
%f:浮点数
str1 = 10.11
print("number is :%f" % str1) #number is :10.110000
%%:字符"%"
str1 = "测试用例"
已经使用格式化输出方法
print("%s:完成率80%" % str1) #报错
%% 输出单个 % 的意思,只用一个%系统会认为格式化输出语句不完整
print("%s:完成率80%%" % str1) 测试用例:完成率80%
python当中常见的数据类型
字符串:str,任何加上引号的属于字符串
浮点数:float
整型,整数类型:int
type:查看数据的类型
输入语句:input 输入内容
python2 raw_input 输入内容
python3 input 输入内容,关键字不一样
可以进行赋值操作,将控制台输入的值赋给a
a = input("请输入你的账号:") #请输入你的账号:admin
print(a) #admin
单引号:可以用于输出字符串,但是单引号里面不能包含单引号,可以
包含双引号和三引号
双引号:可以用于输出字符串,但是双引号里面不能包含双引号,三引号
,可以包含单引号
三引号:一般用于注释内容,三引号也可以用于输出字符串,三引号
可以包含单引号和双引号,但是不能包含三引号
print('hello word')
print("hello word")
print("""hello word""")
python中变量的命名规则:
1.不要用下划线开头 _ _ 一般下划线开头代表私有的属性
2.变量不要用数字开头,也不要以大写的字母开头,大写字母开头
具有特殊的意思,大写开头的表示类(class)
3.变量一般都是小写的字母,加其他的组合 _ 数值
python数据类型之间的转换
int
str
float 转换成其他的类型属性
str1 = "10000"
print(type(str1)) #<class 'str'>
int也是python自带方法,主要将其他类型转换成int,但字符串内容
必须为整形才能使用该方法进行转换
str1 = int(str1)
print(type(str1)) #<class 'int'>
float也是python自带方法,主要将其他类型转换成float
str1 = float(str1)
print(type(str1)) #<class 'float'>
print(str1) #10000.0
python运算符:
print(3 + 4) #7
print(3 - 4) #-1
print(3 * 4) #12
#取小数
print(3 / 4) #0.75
#取整
print(3 // 4) #0
#取余
print(5 % 3) #2
#幂运算
print(5 ** 3) #125
赋值运算
a = 5
b = 3
第一种
c = a + b
第二种:a + b 的结果重新赋值给a
a += b
把a // b 的结果重新赋值给a
a //= b
print(a)
python当中的比较运算符号:
返回的结果都是布尔值:true false
a = 5
b = 3
print(a > b) #True
print(a < b) #False
print(a >= b) #True
print(a <= b) #False
print(a == b) #False
print(a != b) #True
python当中的逻辑运算符号:
返回的结果都是布尔值:true false
and : 且的关系,所有条件都成立则返回 True
or :或的关系,有一个条件成立,则返回true,如果都不满足则返回false
not :取相反的结果
a = 5
b = 3
print(a > b and b < a) #True
print(a > b or a < b) #True
print(not a > b) #False
python当中的成员运算符号
in :在这个序列/对象当中
not in :不在这个序列/对象当中
返回的结果同样是布尔值
str1 = "123456789"
print("1" in str1) #True
not in
print("1" not in str1) #False
位运算:存储单位的运算方法:
存储单位:
1tb = 1024gb
1gb = 1024mb
1mb = 1024kb
1kb = 1024byte
1byte = 8 bit
简称叫做比特位,是由8位数值组成的,只包含0和1,
也就是二进制数
0 0 0 0 0 0 0 0 2进制
128 64 32 16 8 4 2 1
为0则为false,为1时为true
100 是 十进制数:我需要将他转换成 2进制
01100100 这八位数转换完成的就是100的二进制数
10101010 将他转为10进制:
128+32+8+2 = 170
小练习
171 转换成 2 进制
10101011
11100011转换为 10 进制
128+64+32+2+1 = 227
按位与: &
参与运算的两个值都为1时则结果为1,否则为0
17 6 按位与
17 00010001
6 00000110
结果:00000000 转为 10 进制 结果:0
a = 5 #00000101
b = 3 #00000011
print(a & b) # 00000001 转为 10 进制 结果为1
按位或:|
有一个为 1 时结果就为1
5的二进制位:000000101
3的二进制位:000000011
结果:00000111 转换成 10 进制 7
17 | 6
17 00010001
6 00000110
结果:00010111 转为 10 进制 结果:23
按位异:^
两个结果不一样时为1 一样为0
5的二进制位:000000101
3的二进制位:000000011
结果:00000110 转换成 10 进制 6
28 ^ 13
28 00011100
13 00001101
结果:00010001 转为 10 进制 17
a = 5
b = 3
print(a ^ b)
按位取反:~
-(x + 1)
取相反的值
print(~-17) #16
print(~17) #-18
按位左移:<<
将参与运算的10进制数转换成2进制数向左移动,右边的数自动补齐0
5 00000101
5<<2 00010100
尖括号前面的值是参与运算的值,后面的值是移动的位数
print(5 << 2) #20
按位右移:>>
将参与运算的10进制数转换成2进制数向左移动,右边的数自动补齐0
5 00000101
5>>2 00000001
尖括号前面的值是参与运算的值,后面的值是移动的位数
print(5 >> 2) #1
128 10000000
128<<2 1000000000
print(128 << 2) #512
1 00000001
1>>2 00000000
print(1 >> 2) #0
python索引:python 当中序列当中的值,都会为其分配一个
索引位置,可以通过索引进行取值的操作
正向索引:从0开始
负向索引:从序列长度的最大值的负数开始
用括号进行索引的操作[ ]
str1 = "abcde"
print(str1[2]) #c
print(str1[-3]) #c
print(str1[1]) #b
print(str1[-4]) #b
python当中切片的操作:
1.切片也是建立在索引的基础上进行操作的
2.切片参数
1.起始的索引位置
2.结束的索引位置,结果的索引位置的值不会被取到
3.索引的步长值 默认值为1
表达式:[ ]
str1 = "123456789"
========================正向索引切片==============================
print(str1[2:5]) #345
取索引位置为6后面所有的值,包括6
print(str1[6:9])
print(str1[6:]) #789
默认起始索引位置为0
print(str1[:5]) #12345
=========================步长值============================
跳一位值,取一位值
print(str1[::2]) #13579
跳两位值,取一位值
print(str1[::3]) #147
========================负向索引切片============================
str1 = "123456789"
print(str1[-3:]) #789
print(str1[-6:-3]) #456
=========================负步长取值========================
负步长:可以改变取值的方向,切片默认是从左往右开始取值,改变之后
是从右往左开始取值--------也称为反转输出
str1 = "123456789"
print(str1[::-1]) #987654321
print(str1[::-2]) #97531
print(str1[-3:-6:-1]) # 765
print(str1[6:3:-1]) #765
使用负步长取值:起始的索引位置一定要比结束的大
print(str1[4:7:-1]) #空
print(str1[2:-4]) #345
print(str1[-3::-1]) #7654321
print(str1[-3:3:-1]) #765
|
|