zoukankan      html  css  js  c++  java
  • python学习笔记

    Python格式化输出

    name = "laowang"     
    age = 18    
    print(age)     
    print(type(name))    
    print(name + str(age))    
    print("老王今年%d岁"%age)   
    print("%s今年%d岁"%(name,name))  
    

    打印浮点数(指定保留小数点位数)**
    print("His height is %.2f m"%(1.83))
    效果为 His height is 1.83 m
    print("hello")
    print("world")
    要是她不换行显示,可以改为
    print("hello",end="")
    print("world")

    print默认end ="/n"

    更多Python格式化输出点击此处
    input输入的东西为字符串
    num = input("请输入数字:")
    print("输入的数字为%s"%num)

    运算符

    a,b = 1,2    
    a,b = b,a  #a,b可以直接交换      
    

    输入两个数并输出两数的和
    num1 = input("请输入第一个数:")
    num2 = input("请输入第二个数:")
    result = int(num1)+int(num2)
    print("%s + %s = %d"%(num1,num2,result))

    字符串

    #######给定一个单词,依次打印给定的字母
    world = input("请输入一个单词:")
    for temp in world:
    print(temp)
    #######字符串切片
    name = 'abcdef'
    name[0:2]-------->'ab'从0开始取到2前面的一个字符
    name[:]----------->'abcdef'取全部
    name[-1]---------->'f' 最后一个字符
    name[0:-1]-------->'ancde'
    name[起始位置:结束位置:步长]
    name[::]---------->'abcdef'取全部
    name[::2]--------->'ace'步长为2
    name[::-1]-------->'fedcba'倒着输出

    列表

    添加

    append------------->向列表末尾添加元素
    extend------------->向列表末尾添加列表
    >>> a = [1,2]
    >>> b = [3,4]
    >>> a.append(b)
    >>> a
    [1,2,[3,4]]
    >>>a.extend(b)
    >>>a
    [1,2,[3,4],3,4]
    insert------------->在指定位置前插入元素
    >>>a = [0,1,2]
    >>>a.insert(1,3)
    >>>a
    [0,3,1,2]

    查找

    names =["xiaohong","xiaoming","laowang"]   
    shuru = input("请输入你的名字:")        
    if shuru in names:   
    	print("在花名册里")   
    else:  
    	print("不在花名册里")     
    

    index------->返回下标,如果不存在,异常
    count------->返回出现的次数,如果不存在,返回0

    删除

    del----------->根据下标进行删除del names[]
    pop----------->删除最后一个元素names.pop()
    remove-------->根据元素的值进行删除names.remove("")

    排序

    sort()---------->由小到大排序
    sort(reverse=True)----------------->由大到小排序
    revserse()--------------->将列表中的所有元素拟过来

    元组

    元组的值不允许修改,元组中只含有一个元素时,要加“,”,否则type 类型为元素的类型

    字典

    键值对:key不允许有相同的且不可修改。
    修改元素:变量名['key']='修改后的值'
    添加元素:变量名['键']=数据
    删除元素:del 变量名[键]
    del 删除整个字典
    clear 清空整个字典

    遍历

    1.遍历字典的key
    >>> for key in dict.keys():
    ...print(key)
    2.遍历字典的value
    >>> for value in dict.values():
    ...print(value)
    3.遍历字典的项
    >>>for item in dict.items():
    ...print(item)
    4.遍历字典的key-value(键值对)
    >>>for key,value in dict.items():
    ... print("key=%s,value=%s"%(key,value))

    函数

    调用函数:函数名()
    #######函数的文档说明
    >>>def test(a,b)
    ... "用来完成对2个数求和"
    ... print("%d"%(a+b))
    >>> help (test)
    Help on function test in module main:
    test(a,b)
    用来完成对2个数求和
    (END)
    函数定义前面不能加Tab键
    那么程序不会出现语法错误,原因是第一个return被执行后,这个函数就结束了,所有接下来的return都不会被执行
    如果定义的两个函数名相同,执行函数时只执行下面的函数
    如果在函数中直接修改全局变量会产生异常
    如果真的需要进行修改,那么可以在函数里面进行声明+global,其他函数都修改了

    不定长参数
    >>>def fun(a,b,*args,**kwargs):
        print(a)
        print(b)
    	print(args)
    	print(kwargs)
    	test(11,22,33,44,55,66,77,88,99,mm=11,nn=44)
    >>>11
       22
       (33,44,55,66,77,88,99)
       {"mm":11,"nn":44}
    >>>A=[11,22,33]
       B={"aa":100,"bb":200}     
    

    引用

    >>>a = 100
    >>>b = a
    >>>id(a)
       10914880
    >>>id(b)
       10914880
    >>>a = 200
    >>>b
       100
    >>>id(b)
       10914880
    >>>id(a)
       10918080      
    >>>A = [11,22]
    >>>B = A
    >>>A.append(33)
    >>>A
       [11,22,33]
    >>>B
       [11,22,33]	  
    

    可变数据类型:列表、字典
    不可变数据类型:数字、字符串、元组
    字典中的key为不可变类型
    a = a+a和a+=a 传递参数效果不一样
    a = a + a:先把a取出来,重新组织一份,在放到新的地址中去
    a+=a:直接对原来的a修改,地址不变

    匿名函数——————————lambda 参数:表达式

    b.sort(key=lambda x:x['xuhao'])按xuhao从小到大排序

    文件

    打开文件 : open(文件名,访问模式)
    关闭文件 :close()

    面向对象

    定义一个类的方式为:

    class 类名:
    	#类属性(常用“类”访问类属性)
    	#
    	#实例方法
    	def 方法名(self):
    		#实例属性
        	执行的程序
    		#如果类属性的名字和实例属性的名字相同,那么通过对象去获取的时候,会获取实例属性的值
    

    类名:规则 大驼峰

    给一个对象添加属性的方法为:
    对象名.新的属性名 = 值

    获取这个对象的属性,2种方法:
    1.对象.属性
    2.定义一个方法,这个方法中,使用self.属性

    init()方法

    1.是python自动调用的方法,调用的时间为:创建完对象之后,立马自动调用
    2.不需要开发者调用,即 对象名._inti_()
    3.这个方法一般情况下会完成一些默认的事情,比如添加一些属性
    4.
    class XXXX:   
    	def __init__(self,new_a,new_b):
    		self.a = new_a
    		self.b = new_b     
    

    注意:new_a、new_b是局部变量,并不是对象的属性,如果在__init__方法中添加属性的话,需要使用类似self.属性名 = 值 的格式,此时self.a = new_a表示的是给对象添加一个属性,这个属性名为a,这个属性的值为局部变量new_a里面的值

    只要属性名前面有2个下划线,就表示私有属性,所谓的私有属性,不能在外部使用 对象名.属性名获取,原来没有添加__的属性,默认是 公有的。
  • 相关阅读:
    Spring9:Autowire(自动装配)机制
    【Spring源码分析】非懒加载的单例Bean初始化前后的一些操作
    记一次synchronized锁字符串引发的坑兼再谈Java字符串
    Cglib及其基本使用
    Java回调机制解读
    【设计模式总结】对常用设计模式的一些思考
    【Spring源码分析】非懒加载的单例Bean初始化过程(下篇)
    【Spring源码分析】非懒加载的单例Bean初始化过程(上篇)
    【Spring源码分析】Bean加载流程概览
    Spring8:一些常用的Spring Bean扩展接口
  • 原文地址:https://www.cnblogs.com/levelstrcpy/p/8487975.html
Copyright © 2011-2022 走看看