zoukankan      html  css  js  c++  java
  • 学习第二周

    经历了五一假期,平常上班有点忙,所以一放假就进入了散养状态。整个五一基本上都是这么忽忽悠悠过来的,课的进度就落后了好多。但是因为时间原因,我决定在这一两天内就把课程的进度赶完,废话不多说直接开始。

    第二周的课程就与之前接触过的高级语言有了一定的偏差,索性偏差不是很大。首先说说模块的事,模块类似于C中的类库(ps:不太喜欢Java,但是貌似Java里面也是这么叫的),相当于一个已经封装好了的方法的总集,Python在调用模块的时候总是会在当前目录下进行搜索。所以在引用模块时候尽量放在同一目录下,防止出错。课中讲了两个简单的模块以及一些方法,从而引出了一些关于Python的环境变量的讨论。

    sys模块

    sys.argv : 打印脚本的绝对路径。这里面就不得不提几个有意义的小知识了,首先是Python的官方包都会在一个bin文件下,而我们在第三方下载或者是自己写的封装包一般都会存在site—package下。所以我们就会在那个里面找一些小包包之类的。

    os模块:主要是系统的交互。

    os.system:只执行不保存,os.system(“dir”)打印当前目录。

    os.popen:对象内存地址,返回的只是地址,如果想读取内容还需要加上.read()方法。

    os.mkdir:创建新目录,不是文档。

    模块只是初识这两个较为简单的模块,并且也只介绍了一些浅显的方法,后来的学习中还是会继续学习一些模块和方法的。

    .pyc:这个文件的意义并不是那么大,Python是解释型语言,但是也会生成一个编译型的文件,它会对部分方法进行编译并保存,方便下次调用时加快运行速度。Pycode object位于内存中,用于存放编译结果。

    三元判断:

    二进制的数据类型:bytes,在Python3.x中字符串和二进制数据是严格禁止混用的,而且在获取网络数据进行信息传输的时候只能使用二进制信息流。

    string---->bytes 使用encode

    bytes---->string 使用decode

    列表:Python中较为常见的一种存储方式,在计算机中万事万物都是从0开始。所以列表里第一个元素的位置就是第0个。

    切片[0:2] :这里需要注意的是切片是会有首元素但是不包括尾部元素(东北人的顾头不顾腚)。切片都是从左到右,所以在采用逆序(也就是定义位置时从后往前)时要注意那个位置在前,那个在后。

    .append()方法:追加,在列表的尾部追加。

    .insert()方法:插入不能批量插入,只能一个个操作

    del [位置] = “新值”    .remove(“值”) .pop()如果无下标默认删除最后一个。

    .index(“值”)返回值得位置

    .count(“值”)计算值出现的次数

    .reverse()反转列表

    .sort()排序符号-->数字-->大写字母--->小写字母

    .extend() 合并两个列表

    .copy()复制列表,但是会是浅层的复制,只复制第一层,想要深度copy需要调用copy模块。

    课间小作业:购物车:输入工资,打印商品列表,根据商品编号购买,检测余额随时退出,打印已购买和余额,用了一小会就写出来了但是感觉很Low

    ,果然在Alex的课中居然还提到了我的写法,然后被否定了,之后会粘上他的写法,先看看自己搞的。

    字符串方法:

    .capitalize() 首字母大写

    .count()  统计字母出现次数

    .center(int,"")打印int个字符,空的位置由""内容来补充,字符串位于中间

    .endwith("") 判断由""内容结尾

    .find() 输出字符位置,可以用于字符串切片

    .format()引用

    .format_map(字典)  引用一个字典

    .isalnum()是否是数字与字母的组合

    .isalpha ()  是否是纯英文字符串

    .isdecimal () 是否为十进制

    .isdigit ()是否是整数

    .isidentifier ()判断是否是合法的标识符

    .isnumeric ()是否为纯数字

    .istitle ()

    .isprintable()是否可打印

    .join()将字符以特定形式链接为字符串

    .ljust (int,"") 右侧占位空位置用""内容来补充

    .lower ()  大写<-----小写

    .upper () 与上个方法相反

    .replace()  替换

    .rfind ()  最右侧检测值的下标

    .split() 按空格化为列表

    .swapcase ()大写 小写互换

    字典 :字典时无序的,没有顺序只能通过键值来进行定位

    .pop() 删除

    .popitem()如果不输入值默认随机删除

    .get()查找,不确定是否存在的查找

    .setdefault() 查找,如果不存在返回一个值

    .update() 合并两个字典,交叉的覆盖

    .item() 将字典转化为列表

    . fromkeys()初始化新字典

    三级列表:对于三级列表因为是一开始所以选择了一个很low的写法,就是循环套循环套循环(说实话因为这个弄得我很晕....)

    整个写的与Alex写的差不多就是有些细微的差别,因为最近工作有点忙所以发的晚了些,但是我会继续努力的,早日回归IT。作业在下一周的开头粘出来。

  • 相关阅读:
    腾讯TencentOS正式开放测试:支持“傻瓜式刷机”-android
    glob.h and glob.c for the Android NDK
    (OK) 在CentOS7—编译OpenSSL 静态库—for—Android
    Android
    Pass data to CGI script and back with jQuery.ajax
    yum—repo—How to Enable EPEL Repository for RHEL/CentOS 7/6/5
    裸机版的hello world
    CodeBlock 使用手册
    (NOT OK) How To Build CyanogenMod Android for Motorola Defy ("jordan")
    error: .repo/manifests/: contains uncommitted changes 解决办法
  • 原文地址:https://www.cnblogs.com/Jicc-J/p/10813746.html
Copyright © 2011-2022 走看看