python快速入门

python入门

数据类型

字符串、整型、列表、集合、字典、元祖

不可变类型:字符串、整型、元祖

可变类型:列表、字典

*字典的元素下标不能使用列表和集合

*使用+=的问题

​ 列表变量调用+=本质上是在执行列表变量的extend方法,不会修改变量的引用。

​ 列表变量使用 + 不会做相加再赋值的操作,+=本质上是在调用列表的extend方法。

def demo(num, num_list):
	num += num
  num_list = num_list + num_list
  
  // 这两种情况相同
  // num_list += num_list
  // num_list.extend(num_list)
  
  print(num)
  print(num_list)
  
gl_num = 9
gl_list = [1, 2, 3]

demo(gl_num, gl_list)
print(gl_num) // 9
print(gl_list) // 相加输出[1,2,3]; +=或extend输出[1,2,3,1,2,3]

if条件判断

语法:

if 表达式1:
      语句
        if 表达式2:
            语句
        elif 表达式3:
            语句
        else:
            语句
    elif 表达式4:
        语句
    else:
        语句

*其中判断是不是None,用 is 或者 is not 判断

函数

def foo():
	...

有参数的情况,缺省参数放在最后

def foo(param1, param2='', param3=[]):
	...

元祖和字典的拆包

def demo(*args, **kwargs):
	...

args接收元祖,kwargs接收字典

gl_nums = (1,2,3)
gl_dict = {"name": "xxx", "age": 18}
demo(*gl_num, **gl_dict)

类和对象

dir内置函数,传入标识符/数据,可以查看对象内的所有属性和方法。

def demo():
	...
dir(demo)

类名必须是大驼峰方式命名

类中的方法第一个参数是self。哪一个对象调用的方法,self就是哪一个对象的引用。

调用方法时,不需要传递self对象。

在方法内部,可以通过self. 访问对象的属性,也可以通过self.调用其他的对象方法。

定义私有属性或方法,在属性名或方法名前增加两个下划线即可。

继承:在类名后跟上父类的名称。可以同时继承多个父类。

​ 如果没有父类,统一继承自obiect。class Demo(obiect):

类是特殊的对象,所以也可以在类中定义属性

class Demo(Base1, Base2):
	
  count = 0
	
  def __init__(self, age):
    # 在初始方法中定义属性
    #self.属性名 = 属性的初始值
    self.name = 'xxx'
    self.age = age
    self.__last_name = 'xxx';
    
	def foo(self):
		print(self.name)
    
  def __secret(self):
    ...
    
demo = new Demo(18)
print(demo.name)
print(demo.age)

异常

try:
  # 尝试执行的代码
except: 错误类型1:
    #针对错误类型1,对应的代码处理
    pass
except: 错误类型2:
    #针对错误类型2,对应的代码处理
    pass
except (错误类型3, 错误类型4):
    #针对错误类型3 和 4,对应的代码处理
    pass
except Exception as result:
  # 打印错误信息
  print(result)
 else:
    # 没有异常才会执行的代码
    pass
  finally:
    # 无论是否有异常,都会执行的代码
    pass
  

模块

每个文件名都是模块名称

模块名应该用大驼峰方式命名

最好不要这样引入全部,因为如果当多个模块有相同的变量或方法时,不容易排查错误。

from module import *

也不推荐不换行。要每个语句占一行

import module1,import module2

别名

import module_name as alias_name
from module_name import foo as foo_alias

__ name__属性

__ name__属性可以做到,测试模块的代码只在测试情况下被导入时不会被执行。

__ name__是python的一个内置属性,记录着一个字符串:

如果是被其他文件导入的,__ name__就是模块名;

如果是当前执行的程序, __ name__ 是 __ main__

# 导入模块
# 定义全局变量
# 定义类
# 定义函数

# 在代码的最下方
def main():
  #...
  pass

#根据__main__判断是否执行下方代码
if __name__ == "__main__":
  main()

包是包含多个模块的特殊目录,必须包含有 __ init __.py文件的文件夹。

包名的命名方式和变量名一致,小写字母 + _

要在外界使用包中的模块,需要在__ init __.py中指定对外界提供的模块列表

# 从当前目录 导入 模块列表
from . import module1
from . import module2

制作压缩包

1.在包中建立setup.py文件

from distutils.core import setup
setup(name="xxx", # 包名
     version="1.0", #版本
     description="xxx", #描述信息
     long_description="xxx", #完整描述信息
     author="xxx", #作者
     author_email="xxx", #作者邮箱
     url="xxx", #主页
     pymodules=[
       "包名.模块名",
       "包名.模块名"])

2.构建模块

在终端进入包,执行

python3 setup.py build

3.生成发布压缩包

python3 setup.py sdist

安装模块

tar -zvxf 压缩包名
sudo python3 setup.py install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值