python 学习知识点简记

Python学习笔记

 

1. 输出变量

“nihao {}”.formate(name)  ->  nihao  lirong  name=lirong

print(“你的身高是:%d%high)  %d:int   %s:string

 

2. 赋值

age = Input(“请输入年龄”) #默认是string类型

 

3. 类型转换

Age = Int(str)  #str -> int

 

4. if else

If age > 18:  #tab键代替大括号

Print(“XXX”)#不满足if不执行

Print(“XXX”)#不满足if不执行

Print(“XXX”) #执行

If条件: if 数字: 数字:0 false    非零:True

 If 空字符串,空数组,空列表 : False

5. 运算符

or  and  ==  ! =   <   >  .....

3.注释:单行:#    多行 ’’’  XXX   ‘’’

4.python2中文问题:

第一行+ #coding=utf-8 #_*_ coding:utf-8 _*_(推荐)

5. 输入:apple_price = input(“请输入苹果的价格:”)

6. 字符串

A.字符串切割 c[起始位置:结束位置:步长]

C=“abcdefABCDEFG”  c[2:5]=”cde”  c[2:-2]=”cdefABCDE”

C[-2]=’F’

c[1:7:2] -> 2表示取一个之后跳一个再取 == “bdf” 不包括c[7]

C[5:2:-1] -> fed 不包括c[2]  步长-1,表示从右到左

Ps:结束位置不写。为到最后

B. 查询

Str.find(“hello”) #找不到返回-1,否则返回h的下标

Str.index(“hello”)#找不到抛异常,否则返回h的下标

str2 = Str.replace(“被替换字符串”,”替换成字符串”)

Str.split(“_”)#按传入的切,不如不传,不可见的都切空格,tab之类的

.....

 

 

7. 数组 list

数组赋值:赋内存地址

Names=[“aa”,”bb”,”cc”,12,124]  -> names[0]=”aa” name[3]=12

数组加元素 name.insert(2,”abc”) -> 下标2的地方插入

Name.append(“abc”) -> Names=[“aa”,”bb”,”cc”,12,124,”abc”]  #当做整体加进去

Name.extend(“abc’) -> names=[“aa”,”bb”,”cc”,12,124,’a’,’b’,’c’]  

删除元素: del names[0] -> 删除下标是0

Name.remove(“cc”) -> 删除cc这个元素

修改元素:names[0]=”XXX”

查找数组if "r44" in a:

排序:names.sort()

快速赋值:

 

 

 

Ps:for循环值控制循环次数,最后是i 赋值给列表

 

 

 

 

8. 键值对(字典)

Key:可以是字符串,数字,元祖 不能是数组

info={"name":"laoli","age":18}

Info[“name”] == ”laoli”

增删改查:

添加:info[“address”]=”XXXX”  address不存在,就添加

删除:del info[“name”]

: info[“name”]=”XXXX”

: info.get(“name”)  不存在不报错  info[“name”] 不存在会报错

Info.keys()  info.values()

If name in info.keys():  -> true

9. for 循环

For temp : names

XXXX

Else:#执行完for后执行else,如果forbreak方式退出,不执行else

XXX

10. 元组 tuple

Tuple = (12,”213”)  #list的区别:readyonly

a , b = tuple  -> a = 12, b = “213”

11. 函数

 

 

缺省传值

 

接受不确定参数个数(用普通值元组tuple来接收,键值对用字典接收)

 

拆包(拆元组一个*,拆字典两个 **)把元组和字典拆掉存储

结果:A的存储到argsB的存储到kwargs

 

 

12. 匿名函数

函数名:getSum

 

匿名函数排序字典

 

13. 方法

A. eval(str)#将字符串的双引号去掉
1、读取文件(cp)

 

f.seek(偏移量,方向) 方向:0,文件开头,1:当前位置 2:文件结尾

2range方法

Rang(10,15)  -> [10,11,12,13,14]

Rang(10,15,2)  -> [10,12,14]  #后面跟的2是步长

风险:python2中,如果rang(10,1000000很大值).,程序会报错。不给你这么的空间存数组

 

14. 

 

 

 

  Def __init__(self) #init()

  Def __str__(self)

Retun “name=%s”%self.name  #等价于 tostring()

对象中有对象的成员变量

 

私有方法:def __selfFunc(self):

Pass

 #析构函数del __del__(self):

Pass

#导入其他类

Ps

1. import 的时候,程序先从当前路径找py模块,如果没有,在去系统三方包的 路径下找

2. import 一个py模块的时候。执行一遍这个py文件

3. 如果写的是模块,又有实际运行代码,为了使别人调用这个模块的时候,不调 用实际的代码(只要方法),可以在模块实际运行代码(测试代码)上用一个if 起来 if __name___ == ‘__main__’ : 执行测试代码 。 ps:如果是直接调用模块,

__name__ 的值为 __main__  如果是别人导入 ,__name 的值为__类名__

4.

Import XXX as tt #不跟.py    as tt:   取别名

From XXX from test()  #导入XXX中的test方法

 

 

 

15. 继承

直接在类定义的时候,括号上写上要继承的类

 

 

16. 重写

直接在子类中定义和父类一样方法名,参数的类

Super().类名()  #调用父类被重写的方法

 

 

多继承:如果A,B中都有test方法,按定义C中先继承的那个方法,即执行B中的test的方法

 

 

17. 类方法/属性

所有对象公用属性或方法,直接用类名调,或用实例对象调

Num:类属性

Class_method;类方法  方法名上用@classmethod注释

 

Def __new__(cls):#返回类的实例,如果重写这个方法,必须调用父类的new方法,并且return,否则生成的实例,为空指针

Return Object.__new__(cls)

单例模式:

 

 

18. 关键字

None,False,True

Eval(stu_info) #原来stu_info是什么类型,就转回什么类型

19. 异常

Raise Exception()  #手动抛出异常

 

自定义异常:

 

 

20. Ubuntu命令

1. Sudo pip3 install pygame : 安装pygame这个安装包

2. 

 

21. 模块

本质:import XXX.py

XXX.py 中:

1. __all__[“function1”,”function2”....]//如果.py中存在all这个标识 ,则导入这个py文件的类只能用到all中定义的这些方法,变量等

2.如果一个文件夹下有多个模块,要在文件夹下建立一个__init__.py文件。并且要在__init__.py中写入__all__[“功能”],将来别人导入包。则可以使用__init__.py中定义的文件

A.发布模块,使每个路径下的程序能使用该模块

1.将该模块搬到系统目录下

2.在该模块目录下新建setup.py文件 setup.py内容:

 

3. 执行命令 python3 setup.py build  #当前目录会自动新建一个 build文件夹

4. 执行命令 python3 setup.py sdist  #当前目录会自动新建一个 sdist文件夹,里面有一个dongGe.tar.gz的压缩包(tar -zxvf XXX.tar 解压包命令)

5. Sudo python3 setup.py install  #安装到系统目录下,所有人都可以使用了

22. 程序传参

 

 

23. 集合

A=[12,32,42,12,2,4]

B=set(A)

B.add(XX) ....   #类似java中的 set集合特点(有序不重复)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值