python 基础

编译型  解释性

重置pycharm      家目录  ls -a           rm -rf  .pycharm****

命名规则:字母数字下划线组成     不能数字开头,不能与关键字重名

函数  def       定义好函数之后,之表示这个函数封装了一段代码,如果不主动调用函数,函数不会主动执行

round() 四舍五入    map()  相当于for

def sum_num(a, b, f):
    return f(a) + f(b)


result1 = sum_num(-1, 5, abs)
print(result1)


result2 = sum_num(1.1, 1.3, round)
print(result2)
str  
切片  
方法:capitalize()  center(num,*)   upper()  lower()  swapcase()
strip()   l/rstrip()      split()   ','.join(可迭代对象)     startwith()
erndwith()       find()(没有返回-1)    index()(没有报错)
replace()    isalpha(字母)     isalnum(数字及字母)    isdigit(数字)

格式化输出
3种
s='{1},{2},{0}'//'{}{}{}'//{age}{name}{sex}
s.fomat(' abc  ' ,  ' cde   ',   ' gfk'  )
name='',age= , sex=''
f  '  i  am   {name} {age}  {sex}'
'i am %s%s%s'%(name,age,sex)
列表:切片

append()    extend()  insert(num,content)
pop()(有返回值)    remove(迭代对象中的任意一个  只能删除一个)  clear()
del l1[索引] (按索引删除)  
改:
l1[索引] = 
查:
for  i in l1:
    print(i)


len(l1)
count("元素") 查看元素出现多少次
index(''  ) 找到第一个就返回 找不到就报错

排序sort
l1.sort() 从小到大
l1.sort(reverse = True) 从大到小
l1.reverse() 反转
元组:只能查看不能修改 
count( )    index()     切片


del  t1   整体删除
range:
for i in range(len(迭代对象))
for  i  in range(迭代对象)
for i in (1,10,2) 可以跨度排序
直接增加  setdefault    pop  clear   del  popitem (删除最后一个)  直接改  dic2.update(dic)    get('','次处不写为none 
写则替换none') dict() dict(zip(a,b)) for key in dic dic.values dic.items(列表可以【key,value】)
dic = { 'name': 'alex', 'name': '太白金星', 'age': 18 } # 键唯一 print(dic) -----》{'name': '太白金星', 'age': 18} # dic = { # 'name_list': ['博哥', '菊哥', 'b哥'], # 'barry': { # 'name': '太白金星', # 'age': 18, # 'hobby': 'wife', # } # } # 增删改查 # dic = { # 'name': '太白金星', # 'age': 18, # 'hobby': 'wife', # } # 增: # 1,有则修改,无则添加 # dic['hight'] = 176 # dic['age'] = 23 # print(dic) # 2,有责不变,无责添加 # dic.setdefault('weight') # {'name': '太白金星', 'age': 18, 'hobby': 'wife', 'weight': None} # dic.setdefault('weight',160) # {'name': '太白金星', 'age': 18, 'hobby': 'wife', 'weight': 160} # dic.setdefault('name','barry') # {'name': '太白金星', 'age': 18, 'hobby': 'wife'} # print(dic) # 删: # pop 按照键删除 # ret = dic.pop('age') # 按照键删除掉键值对 # print(ret) # dic.pop('age1') # 没有报错 # ret = dic.pop('age1', '没有此键') # 设置两个参数,第二个参数是提示语 一般设置成None # print(ret) # print(dic) # clear 清空 dic.clear() # print(dic) # popitem 3.6版本之后就是删除最后一个键值对 # ret = dic.popitem() # print(ret) # print(dic) # del # del dic['name'] # 按照键删除 # del dic['name1'] # del dic # 删除字典 # print(dic) # # dic['age'] = 30 # print(dic) # update # dic.update(car='逍客', money=1300) # dic = {"name": "jin", "age": 18, "sex": "male"} # dic2 = {"name": "alex", "weight": 75} # dic2.update(dic)把dic2加到dic中 有则不变无则增加 # # 1,不好 # print(dic['age']) # print(dic['age1']) # 2,get # print(dic.get('age')) # 没有此键默认返回None # print(dic.get('age1')) # 可以设置返回值 # print(dic.get('age1', '没有此键'))





dic = { 'name': '太白金星', 'age': 18, 'hobby': 'wife', } for i in dic: print(i) # # #dic.keys() 类似于list的容器类类型 ret = dic.keys() print(ret, type(ret)) for key in ret: print(key) # print(ret[0]) # #可以转化成list # print(list(ret)) # dic.values() # print(dic.values()) # 转化成list # print(list(dic.values())) # for v in dic.values(): # print(v) print(dic.items()) print(list(dic.items())) for i in dic.items(): i=list(i) print(i) # 分别赋值 # a, b = (1, 2) # print(a,b) # a, b, c = (1, 2, 3) # print(a,b,c) # a, b = 100, 1000 # a, b = [100, 1000] a, b = {'name':'alex', 'age': 73} print(a,b) # a, b = {'name':'alex', 'age': 73}.values() # print(a,b) #'alex' 7 3 a, b = {'name':'alex', 'age': 73}.items() print(a,b) #会返回两个元组('name', 'alex') ('age', 73) #a, b = ('alex', 73, 25, 36) print(a, b) #会报错可以# a, b = ('alex', 73, 25, 36)[:2] print(a, b) # 面试题: ''' a = 18 b = 32 通过一行代码 将a,b的值互换。 ''' # a = 18 # b = 32 # a, b = b, a # print(a,b) # print(dic.items()) # for k,v in dic.items(): # ''' # k,v = ('name', '太白金星') # k,v = ('age', 18) # k,v = ('hobby', 'wife') # ''' # print('这是键:', k) # print('这是值:', v)




result = {}
result['key1'] = result.get('key1', [])
print(result)
 
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]


a = ['a','b','c','d']
b = [1,2,3]
mydict = dict(zip(a,b))
print mydict
is  判断两个变量内存地址是否相同

# 同一个代码块驻留机制的目的:
'''
    1,节省内存空间.
    2,提升性能.
'''
# 驻留机制针对的对象: int bool str ()空元组.

# int: 范围 任意数字
i1 = 1212312312312312312312312
i2 = 1212312312312312312312312
print(i1 is i2)
# bool True Fasle
# str:几乎所有的字符串都会符合缓存机制,
s1 = 'fdsfdsjklffdsafdsadsjfkldsfldsfdsjlkfdsl@#$'
s2 = 'fdsfdsjklffdsafdsadsjfkldsfldsfdsjlkfdsl@#$'
print(s1 is s2)
# 通过相乘的形式构建的字符串长度不能超过20满足同一代码块的驻留机制.
# s1 = 'old_' * 5
# s2 = 'old_' * 5
# print(s1 is s2)  # True

pycharm  debug   F8(step over)执行一行代码        F7(step  into)进入函数内部执行    

函数注释:在 def 下面  缩进4个空格  3个“                调用函数处ctrl+q可查看函数注释

形参(定义时)  实参(调用时)

面向对象   初始化方法  def  __init__(self,name,age)

__del__方法 对象被内存销毁前自动调用

__str__ 必须返回字符串

继承  单继承  多继承(默认使用第一个父类同名属性和方法)

原文地址:https://www.cnblogs.com/qj696/p/12260627.html