1.python注释(python中一般单引号与双引号没区别,功能都相同,但是单双引号必须成对使用)
单行注释:#注释内容
多行注释:'''注释内容''' 或者 """注释内容"""
2.输出语句(看自己python版本)
print("输出的内容") #一般都自带换行,不要换行可以这样写:print("输出内容",end="其他符号"),就会以其他符号结尾
3.输入语句
input("请输入内容") #这里获得的是一个字符串
eval(str)是一个将字符串转化为整数的函数,从键盘获取整数:eval(input("请输入整数"))
4.python数据类型
1.Number(数字类型)-->整型 浮点型(小数) 复数 -->可以表示任意大小的数值
2.Boolean(布尔类型)
3.String(字符串)-->没有字符的概念
'''
字符串:不可变对象
占位符:%d整型,%s替换字符串,%f替换浮点数,%x替换16进制,假设不知道要替换的值是什么类型,此时用%s。
字符串大写函数,居中填充函数str.center(count,sign) count表示展示多少个符号,不够的用sign填充
计算子序列出现的个数:str.count('子序列',start,end) 查找在start-end中查找出现的个数,可以没用start-end
判断字符串以什么结尾:str.endswith('字符串',start,end) ,可以没用start-end
查找字符出现在字符串中的索引值:str.find('字符'),可以设定范围
判断字符串是否由字母或数字组成:str.isalnum(),
判断字符串是否全是由字母组成:str.isalpha(),
判断字符串是否全是由数字组成:str.isdigit(),
分割字符串:str.split(sign,start,end) 以y为分割符
'''
4.None(空值)
5.list(列表):
''''
列表:一个有序集合,可以随时向列表增加或删除函数
列表的定义:list=[],列表可以存无数个元素
列表里面的元素可以是任意类型。
len()函数可以确定任意数据类型的长度,list.__len__()获取list的长度;
增加元素:list.append(element);向指定位置增加元素list.insert(index,element);
取元素:list.__getitem__(index)=list[index]取出index位置的元素,范围[0,len(list)-1]。lsit[index],index范围[-1,-len(list)]
删除元素:list.pop[index]删除索引值元素;list.remove(element)直接删除相同元素
声明一个类似二维数组的列表:list=[[1,2],[2,3]]
'''
print("-----------列表-------------")
list=['a',1,2,3]
print(list.__len__());
print(len(list))
print(list.__getitem__(1))
list.insert(0,2)
list.pop(2)
list.remove(2)
print(list)
6.dict(字典)
'''
字典:和Java中的map类似,就是以键值对(key,value)形式存储数据,
定义:map={tom:10,an:20,lily:30},key值定义后不可改变。
作用:查找速度快,key值运用hash算法存储
查看:map.get(键名),map['key']
添加:map['key']=value方式
获取字典中所有键:map.keys(),当没用对应的键值时返回None; 获取所有value值map.values(),
清除所有元素:map.clear();删除一个元素:map.pop(key)
字典和列表的优劣势:字典查找、添加元素快,特别消耗内存;列表查找元素慢,内存消耗少。
假设在查看value时,没有向对相应的key,会发生什么?
-->当没有对应的键值时,返回None
判断给定的key在字典里面存不存在
--> 用in 返回True,表示该k值存在;反之,不存在
'''
#成绩表:学生姓名,分数
#学生表
#分数表
print("---------字典----------")
student=("tom","an","lily")
score=("10","20","30")
map=dict(zip(student,score))#将列表转化成字典
print(map)
print(map.get("tom"),map['tom'])
map['lb']='50'
map.pop('tom')
print(map.keys())
print(map.values())
print(map.items())
7.Tuple(元组):
元组:几乎和列表一样,只是元组是不可变序列
定义:变量名 = (元素1,元素2,...)
元组又不能增加,又不能修改,有什么意义?
因为不可变,所以肯定是安全。所以说能用元组的最好用元组。
只有一个元素,怎么声明?
tuple2 = (1)#因为(1)这个小括号和数学里面的小括号会产生歧义,所以说这样定义的时候
#认为只是一个数字1,为了避免这种情况,(1,)
8.set(集合)
set:无序不可重复序列:重复的会自动过滤掉
定义:变量名 = set{元素1,元素2...}
添加元素:add(元素)
删除元素:remove(元素)
set集合和字典区别:字典每一个key会对应一个value值,而set只有key值
5.python标识符
标识符:
概述:就是一个字符串(字符串并不一定是标识符)
规定:组成部分:数字+字母+下划线组成的字符串,只能以字母或者下划线开头
作用:给变量,函数等起名称
约束条件:标识符不能是关键字(在python里面有特殊含义的英文)
注意:见名知意 驼峰命名(例:bigAge smallAge)
怎么查看关键字?
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更新版本可能会变成关键字的英文
6.python常量与变量
变量:程序运行过程中可以被改变的量
注意:一定要声明该变量的类型(取决于后面的值)
定义:变量名 = 数据类型
查看变量的类型:type(变量名)
删除变量:del(变量名) 删除之后不能再引用
常量:程序执行过程中无法改变的值
注意;python里面没有专门定义常量的规定,一般来说,大写字母变量名看出常量
#一行声明多个变量
t1 = t2 = t3 = 6
#交互式声明变量
r1,r2 = 6,7 #r1 = 6 r2 = 7
7.python运算符
'''
算术运算符 + - * / % ** //
'''
num1 = 2
num2 = num1
print(num1+num2)
num3 = 5
num4 = 2
print(num3/num4) #结果和数学里面计算的结果一模一样(不会取整)
# // 取整除
print(num3//num4) #2
# %取余
print(5%2) #1
# ** 次方
print(2**3) print(math.pow(2,3)) #2的3次方
'''
比较运算 > < == != >= <=
==:判断等号两边的值的地址是否相同,相同返回True,反之False
!=:不等于
>=:大于等于
<=:小于等于
'''
num5 = num6 = 2
print(2>3) #False
print(2<3) #True
print(2==2)
print(num5==num6)
print(2!=3)
print(3!=3)
print(3>=3)
'''
赋值运算符 = += -= /= *= %= //=
'''
m1 = 2
m1-=-3 # -->m1-=3--> m1 = m1-3
print(m1)
m2 = 4
m2 *= 4 #--> m2 = m2 * 4
print(m2)
'''
逻辑运算符 and or not
and:逻辑与 表示and左右两边的Boolean(最好是)表达式全为True,
最终的结果才为True;反之,为False
or:逻辑或 表示and左右两边的Boolean(最好是)表达式全为False,
最终的结果才为False;反之,为True
not:取反 True变成False False变成True
优先级:not>and>or
'''
print(2 and (2>1))
print(2>3 and (2>1))
print(2>3 or (2>1))
print(not (2>3))
print(1 or not True and (5>3)) #注意逻辑运算符的优先级
print(0 or not True and (5>3)) #注意逻辑运算符的优先级
print(1 or True)
print(1 and (3>5))
print(0 or False)
'''
成员运算 in 丶 not in
in:和sql语句里面的in用法,只要该元素属于列表,远祖..里面的元素,返回True
in:和sql语句里面的 not in用法,只要该元素不属于列表,远祖..里面的元素,返回True
'''
list = [1,2,6,7]
print(2 in list)
print(8 not in list)
'''
位运算符 << >>
<<:左移符号 例:2<<1-->2*2 x<<n--> x*(2^n)
>>:右移符号 例:8>>2-->8/(2*2) x>>n--> x/(2^n)
'''
#计算2*2*2的最快速的方法(位运算)
print(1<<3)
print(2<<2)