Python3基础 (一)

本文介绍了Python3中的数据结构,特别是字典和列表的嵌套使用。字典可以嵌套字典和列表,而列表也能包含字典,这种互相嵌套提供了灵活的数据组织方式。同时,讲解了如何从用户输入获取字符并转化为整数或浮点数。
摘要由CSDN通过智能技术生成
###############
  基础语法
###############
name.title()大写
name.upper()
name.lower()
\t制表符 \n
strip()删除空格 rstrip()删除右面的空格 lstrip()
list.append()
list.insert(index,para)
del list[index]
pop()弹出 a=list.pop() 弹出最后一个元素 然后保存给a  也可以 list.pop(index)弹出任意一个值
list.remove(value) 只删除第一个出现的value
list.index(2)第一次出现2的索引   a.find('a')与index相同但是不适用于list
list.count(1)统计1出现的次数
list.sort()队列表永久排序 按字母排序或者按照从小到大排序 list.sort(reverse=True)则反向排序
sorted(list)序列暂时排序  返回序列排序 但是不改变原序列
list.reverse()反转列表
len() type(a)查看a的类型  a%b返回余数  a//b 整除  **平方 set(list(a)) 返回一个set其中所有元素不重复
range(n1,n2)前关后开 a=list(range(1,5))创建序列  min(a)  max(a) sum(a)

tuple元组 元组中的元素不能像list被改变 适合储存不变的量 可以像list[index]一样显示元组中的值,也可以遍历for i in tuple:..,但是储存元组的变量可以被重新赋值:a = (2,3) >>重新赋值>> a = (3,6)

字典:
定义 a={} 赋值:以键值对的形式添加元素a['color']='yellow',a['pints']=5  删除也是以键值对的形式del a['color']
遍历字典中的所有键值对:for key,value in a.items(): 遍历所有键:for key in a.keys(): 遍历所有值:for value in a.values():  其实 .keys() .values()不仅可以用于遍历  他们返回的是字典所有的键、值

字典中可以嵌套字典 列表等 当然列表里也能存储字典,都是互相嵌套,定义的时候要保持格式。

input a = input("message") 从屏幕输入  返回值是字符型  如果需要返回数字   则调用int(a)返回整数float(a)返回浮点数

######################

   深浅复制:
list a
b = a 为浅复制:无论改变a b哪一个,两者同时改变,因为内存id相同。
id(a)  id(b)查看id
b = a[:]则为深复制,但是深度同copy.copy()。
也可以调用方法:
b = copy.copy(a)为深复制,但是当a=[1,2,[4,...]]时,改变前两个元素对ab不影响,但是改变第三个元素时,两者同变化
因此可以调用b=copy.deepcopy(a)为绝对深复制。

#######################
    条件循环:
and or  与 或
if a in list:检查a是否在list中  或者 if a not in list
布尔表达式:a = True b = False
if else     if elif elif elif:else是一条包罗万象的语句,尽量不要以else结尾,以防止引入恶意的结果
a=[] if a: 检查列表是否为空

while condition: do...
state = True 
while state:                                          
if():
do 111
###此处可以使用continue返回循环 跳过该循环内下面的语句
print("the fucking day!")
elif (xx==oo):
state=False 退出while   ###也可以使用 break强制退出循环


#######################
      函数:

定义时参数:形参  调用时参数:实参     定义时无赋值,则描述为位置实参   有赋值则描述为关键字实参。
定义函数形参时,等号左边的所有字符串不需要“”声明。
定义函数时,有初始值的形参要放在后面,以空字符‘’作为形参初始值则在调用函数时,该形参对应的实参可有可无,更加灵活。
在函数中对任何列表的修改都是永久性的,有时候为了避免列表被修改,可以将列表的副本list[:]传递给函数。
函数的参数可以有各种类型:
如果需要传递任意数量的位置实参,则:def make_pizz(*toppings) *toppings将使函数创建一个名为toppings的空元组,用于存储除声明参数以外的所有参数。
如果需要传递任意数量的关键字实参,则:def make_pizz(**toppings) **toppings将使函数创建一个名为toppings的空字典,用于存储除声明参数以外的所有关键字参数。使用:make_pizz(aa,bb='hh',cc='kk') 在函数中bb='hh',cc='kk'将以字典的形式存储。在函数中调用topping字典中的值跟正常使用字典中的值的方法是一样的。


#######################
       类:
定义类:
类名用驼峰  方法实例用小写加下划线
class Dog():
def __init__(self,a,b..):#初始化类属性,以self为前缀的变量可供类中所有方法使用
self.a = a
self.b = b
self.name = 'happy'#可以给属性指定默认的值
def sit(self,x,y): #定义类方法
......
self.name = 'sad' #可以在方法中改变属性的指定默认值
my_dog = Dog('guaiguai',10) #使用类的实例并在实例中改变属性的指定默认值
my_dog.name = 'normal'

类的继承:
class Husky(Dog):
def __init__(self,a,b..): #首先初始化父类的属性
self.a = a 
.....
super().__init__(h,i,j...):#再初始化子类的属性
self.IQ = 0   #注意此处缩进
def Erha(self,l..):
print("zhenaocanwanyi!")
子类将继承父类所有的方法,此外还有自己的方法,调用方式都是HUsky.method(),如果父类中的方法并不适用子类,那么在子类中重新定义同名方法,编写适用于新类的方法即可,程序将默认识别子类同名方法,忽略父类中的该方法--在调用子类时。
随着添加元素的增多,属性和方法的清单将越来越长,可以将某些元素单独分类出来组成新的类,然后将新类别作为原来大类的一个属性,这样就可以:Class1.Class2.methods()


#############################
       文件和异常
打开文件:
filename = '/home/xp/nvidia.txt'  #绝对路径   #默认先从相对路径开始搜索 windows r'\home\xp....'
with open(filename) as f:
contents = f.read() #read方法以字符串的形式返回文件的整个内容 
print(aontents.rstrip())
lines = f.readlines() #返回的是文件的每一行,以列表的形式存储 line = f.readline()每次读一行,依次向下读
with open(..) 方法读取的内容都是字符串形式,如果为数字需要转换。

写入文件:
with open('/home/../filename.txt','w') as f: #文件不存在则创建一个,默认是r只读、w写入(覆盖)、a写入(附加)、r+读写、
f.write(".......\n")
f.writw("*******\n")

存取文件:
先打开再存储或者提取
import json
import pickle
filename = 'name.txt'
data = dataset
存:
with open(filename,'w') as f:#以写作的模式打开 'wb'二进制模式写入json数据通常以文本形式存储人可读pickle常是二进制文件。 
json.dump(data,f)
pickle.dump(data,f)
取:
with open(filename) as f:
json.load(f)
pickle.load(f)

异常:
当发生让Python不知所措的错误时,它将会创建一个异常对象。可以使用:
try:
sentence
except ZeroDivisionError:
print something or install some dependences
else:
do something if try-sentence is passed
或者:
try:
with open(...) as f:
sentences
except FileNotFoundError:                或者  except (RuntimeError, TypeError, NameError):
pass   #不显示任何错误
except IOError:
lalallal except IOError as e: print(......:e)
else:
do something
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值