1、变量

为了节省内存,python解释器会对一些简单的字符串以及小整型数,做出一些优化,当要定义的新变量的内容与定义过的内容相同时,会让两者使用同一个内存空间。

例如:

在这个例子里面,‘old’是一个简单的字符串,因此python解释器使name1与name2都指向同一个内存地址,用这一个地址存储‘oldboy’。

注意:对于长字符串和数字(对于范围在【-5,257】的数字,优化机制仍存在),优化机制将不再存在,变量将会各自占用一个内存地址。

小伙伴们要记得哦,查看内存地址时,使用id()这个命令哦!

2、字符编码

①ASCII,最早只有127个字母,即大小写英文字母、数字和一些符号,后128位被称为扩展ASCII码。

②GBK和GB2312:为了能显示中文,并且和ASCII兼容 ,中国制定GB2312.。而GBK是GB2312的扩展字符集,支持繁体字,且兼容GB2312.

③Unicode:把各国的编码语言都统一到一套编码里,防止乱码的问题。值得注意的是:现代操作系统和大多数编程语言都直接支持Unicode。ASCII与Unicode的区别:ASCII编码是1个字节,而Unicode编码通常是两个字节。

小伙伴们,是不是觉得Unicode很厉害呦,但同时与ASCII一比较,有没有看出一个问题,那就是:如果都统一成Unicode编码,我们肯定对不用担心乱码的问题了,但是若文本都是英文的话,用Unicode编码就多占了一部分的存储空间,而传输速度也会减慢。

④UTF-8:为了改良Unicode的缺点,UTF-8诞生。UTF-8是一个‘可变长编码’,即UTF-8编码可以把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英语字母被编码成1个字节,汉字通常是3个字节,仅一些生僻字符被编码成4-6个字节。

总结:计算机系统通用的字符编码的工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存时再将Unicode转换为UTF-8保存到文件中。具体见下图:

3、进制转换

bin():转换为二进制,二进制前面标注为0b。oct():转换为八进制,八进制前面标注为0o。hex():转换为16进制,16进制前面标注为0x。

4.字符串(常用操作)

例如 s = ‘world’

s.index()  #索引

s.find ()  #查找

#移除空白:

s.lstrip = left strip = 去除字符串左边的 = strip leading = 去除(字符串)开始的

s.rstrip = right strip = 去除字符串右边的

s.strip = strip left and right = 去除(字符串)左边的和右边的

len(s)   #字符串s的长度

#替换:

s = ‘hello world’

s.replace('h','H')     #将h替换为H

输出:‘Hello world’

#切片

s = ‘helloworld’

s[0:7]     #取出0到6,即取头不取尾

输出:hellowo

5、字符串中的工厂函数(常用的总结如下):

例如:s = ‘Hello world’

s.capitalize()  #将首字母大写,其它的均小写

s.count('o')  #统计字符串中o出现的次数  s.count(‘o’,0,5) #统计字符串s中0-5字符中o出现的次数

s.center(50,'*') #一共占用50个字符,不够50个字符,则用*来填充,而目标文字s始终位于中间位置

s.find('o',0,3)  #从字符串s中位于0-3位置的字符中寻找‘o’,返回所找到的最小索引值

s.format()   #格式化输出,如下图所示

s.index('o',0,5)  #返回0-5字符中找到o的位置的索引值,但若没有找到,则会报Valueerror

s.join() #举例如下:

s.split():

使用方法如下:

s.join()

python基础学习笔记一的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  3. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  4. Python基础学习笔记(十三)异常

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...

  5. Python基础学习笔记(十二)文件I/O

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...

  6. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  7. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

  8. Python基础学习笔记(九)常用数据类型转换函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www ...

  9. Python基础学习笔记(八)常用字典内置函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...

  10. Python基础学习笔记(七)常用元组内置函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...

随机推荐

  1. 标准库bind函数中使用占位符placeholders

    placeholders ,占位符.表示新的函数对象中参数的位置.当调用新的函数对象时,新函数对象会调用被调用函数,并且其参数会传递到被调用函数参数列表中持有与新函数对象中位置对应的占位符. 举个例子 ...

  2. NLP+语义分析(四)︱中文语义分析研究现状(CIPS2016、角色标注、篇章分析)

    摘录自:CIPS2016 中文信息处理报告<第二章 语义分析研究进展. 现状及趋势>P14 CIPS2016> 中文信息处理报告下载链接:http://cips-upload.bj. ...

  3. RGMII,MII,GMI接口

    简介 RGMII(Reduced Gigabit Media Independent Interface)是Reduced GMII(吉比特介质独立接口).GMII和RGMII均采用8位数据接口,工作 ...

  4. 判断一个jquery对象是否为空

    今天用jquery $获取一个jquery对象.$("#id") 然后用判断这个对象是否存在,id不存在的时候,判断这个是否存在, if($("#id")) 始 ...

  5. stm32之keil开发环境搭建

    只要按照下面的一步步来,绝对能从0开始建立一个STM32工程.不仅包括工程建立过程,还有Jlink设置方法.本文使用芯片为STM32F103CB. 1 下载stm32F10x的官方库 http://w ...

  6. Unhandled event loop exception GC overhead limit exceeded

    1.错误描述 java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.zip.ZipFile.<init>( ...

  7. Visio如何调整锁定图像大小

    在Visio中,比如模板中的UML类图,是不可调整大小的,这可能给我们设计图片带来了一些不便之处,如下图: 可以看到其边框是显示锁定状态无法修改的,当我们在左下角修改器长宽时,也会出现不可修改的情况. ...

  8. java将字符串转换为指定的时间格式

    *String dateString = "18:31:43";    try {     Date date = new SimpleDateFormat("HH:mm ...

  9. WPF自学入门(三)WPF路由事件之内置路由事件

    有没有想过在.NET中已经有了事件机制,为什么在WPF中不直接使用.NET事件要加入路由事件来取代事件呢?最直观的原因就是典型的WPF应用程序使用很多元素关联和组合起来,是否还记得在WPF自学入门(一 ...

  10. Python基础_文件的的处理及异常处理

    今天主要讲讲文件读写及异常处理. 一.文件操作 1.1 文件的创建及读 打开文件 open 函数  open(file,[option]) file 是要打开的文件 option是可选择的参数文件的打 ...