-
列表和元组之间的区别:
python的元组与列表知类似,不同之处是元组的元素不能修改,元素使用(),而列表使用[]
-
Python中的继承:
和Java一样python也有继承的概念,父类的所有的属性和方法都可以被子类继承,但是子类虽然没有父类的__init__方法,但是父类有,所以在子类继承父类的时候,这个方法就被子类继承了.
1.子类在继承父类的时候,在定义类时,小括号()中为父类的类名
2.父类的属性,方法,会被子类给继承
-
Python中的字典:
python字典使用了键值对的方式存储,内置了字典:dict的支持,可以理解为Java中的map,具有极其快的查找度.
-
使用*args和**kwargs的含义
不定长参数:需要一个函数批处理比当初声明时更多的参数
加了*的变量args会春芳所有未命名的参数变量,args为元组,而加了**的变量kwargs会存放命名数,key=value,kwargs
-
请写一个Python逻辑,计算一个文件中的大写字母数量
with open("e://wc.txt","r") as f count=0 content=f.read() for i in content: if i.issupper(): count+=1 print(count)
-
什么是负索引?
python中的索引,既可以是正数,还可以是负索引,如果是正索引,0为序列中第一个索引,
如果是负索引,-1是序列中第一个索引,-2为第二个索引以此类推.
-
Python区分大小写吗?
python严格区分大小写,比如方法的名一定要大写,在有就是True False的关键字也得大写
-
怎么移除一个字符串中的前导空格?
strip()函数将从字符串开头和结尾删除空格
-
怎样将字符串转换为小写?
print(str.lower())
-
Python中的pass语句是什么?
pass一般用于占据一个位置,如果因为定义一个空的函数程序在运行的时候会报错,所有要用pass占位,让它正常运行
-
解释一下Python中的//,%和 ** 运算符
//取整除 %取模 **幂
-
在Python中有多少种运算符?解释一下算数运算符。
+加 -减 *乘 /除 //取整 除 %取模 **幂
-
解释一下Python中的关系运算符
==等于 >=大于等于 <=小于等于 !=不等于 <>不等于条件为真
-
解释一下Python中的赋值运算符
= += -= /= %= **==幂赋值 //=整除赋值 在python中没有a++ ,–a等操作
-
解释一下Python中的逻辑运算符
and与 or或 not非
-
解释一下Python中的成员运算符
in 如果在指定的序列中找到值返回True
not in 如果在指定的序列中没找到值返回False
-
讲讲Python中的位运算符
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符,对数据的每一个二进制位取反,把0变1,把1变0
‘’<<左移动运算符:运算数的各二进制全部左移若干位,有<<右边的数字指定了移动的位数,高位丢弃,低位补0
“>>右移动运算符:把”>>"左边 的运算数的各二进制位全部右移动若干位,>>右边的数字指定了移动的位数
-
怎样获取字典中所有键的列表?
字典名.keys() 来获取键的列表
-
怎样声明多个变量并赋值?
a=b=c=d=1 or a,b,c,d=1,2,“obj”,True
-
为何不建议以下划线作为标识符的开头
因为会在python中下划线带有含义,init new 等都带下划线 ,一般下划线表示私有属性
-
一行代码实现1到100的求和
print(sum(range(1,101))) 左闭右开
-
详细描述单例模式的实现
确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个实例为单例模式,单例模式是一种对象创建型模式
class Singleton: __instance=None __Frist_init=True def __init__(self,name): if self.__Frist_init: self.__Frist_init=False self.name=name print("init.....") def __new__(cls,name): if not cls.__instance: cls.__instance=object.__new__(cls) return cls.__instance def run(self): print("running......") s=Singleton("zhangsan") s1=Singleton("lisi") print(id(s)) print(id(s1)) s.run() s1.run() print(s.name) print(s1.name)
-
详细描述工厂模式的实现
简单工厂模式也被称为静态工厂模式,是用工厂方法替代new操作的一种模式,为系统带来了更大的维护性和扩展性
class Person(object): def __init__(self,name): self.name=name def work(self,type): print(self.name,"工作开始了...") # axe = StoneAxe() # axe = SteelAxe() # axe.cut_tree() axe = Factory.getAxe(type) axe.cut_tree() class Axe(object): def __init__(self,name): self.name=name def cut_tree(self): print("使用",self.name,"砍树....") class StoneAxe(Axe): def __init__(self): pass def cut_tree(self): print("使用石斧开始砍树") class SteelAxe(Axe): def __init__(self): pass def cut_tree(self): print("使用钢斧开始砍树") class DianjuAxe(Axe): def __init__(self): pass def cut_tree(self): print("使用电锯开始砍树") # 工厂类 class Factory(object): # @classmethod #有参数 @staticmethod #不用写参数 def getAxe(type): if "stone"==type: return StoneAxe() elif "steel"==type: return SteelAxe() elif "dianju"==type: return DianjuAxe() else: print("参数有误") p=Person("zhangsan") p.work("dianju")
-
python操作数据库的步骤
1.先下载 pip install pymysql
2.在导入 from pymysql import *
conn = connect("localhost","root","root","phone",3306) #拦截数据库 cur=conn.cursor() #创建 # 查询 # count=cur.execute("select * from mobile")#查询所有 # print(count)
-
NumPy中几个熟悉的函数的使用
#创建矩阵 # array= np.array([1,2,3]) # print(array.ndim)#一组 # print(array.shape)# # print(array.size)#元素的个数 # print(array.dtype)#类型 # 使用range创建数组 # array=np.arange(1,10).reshape(3,3) # array=np.arange(1,13).reshape(2,2,3)#reshape必须要精确等于前面的个数左开又闭 # 通过随机数生成矩阵 # array=np.random.randint(1,10,12).reshape(2,3,2) #1,10,12一到10之间的随机数,12为个数 randint整数范围 # array = np.random.rand(9).reshape(3,3) #rand 0-1之间的小数 # 通过固定值生成数组 # array = np.empty(9).reshape(3,3) #empty无限趋近与0 # 筛选条件 # array = np.random.randint(1,10,9).reshape(3,3) # print(array) # print(np.where(array>5,array,0))#把大于5的保留下来,小于5的用0替代 # 切片 # array = np.random.randint(1,10,16).reshape(4,4) # print(array) # 取第一行的所有值 # print(array[0]) # 取第一列的所有值 # print(array[:,0]) #取第一行 第三行 # print(array[0::2]) #利用切片 [起始值(从零开始):结束值(从零开始):步长] #取第二列和第四列 # print(array[::,1::2]) #取第一行和第三行,取第二列和第四列 # print(array[0::2,1::2]) # print(sum(range(1,101)))
python知识总结
最新推荐文章于 2024-07-20 17:12:48 发布