第二篇:python基础_2

本篇内容

  1. 数字
  2. 字符串
  3. 元祖
  4. 字典
  5. 列表
  6. 集合
  7. for循环
  8. 二进制
  9. 字符编码
  10. 文件处理

一、数字

1、int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647   在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

x = 10
print(x, type(x))

#输出10 <class ‘int‘>

2、long(长整型)  

  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。   

  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

  注意:在Python3里不再有long类型了,全都是int

3、float(浮点型)

 浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

x = 3.5
print(x, type(x))

#输出3.5 <class ‘float‘>

二、 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

a = "hello word"

print(a, type(a))

print(a.strip())          #去除首和尾多余的空格

print(a.split("o"))

print(a[1:3])

print(a.isdigit())

print(a.count("l"))

print(len(a))

print(a.replace("hello","hi"))

#输出:
#hello word <class ‘str‘>

#hello word

#[‘hell‘, ‘ w‘, ‘rd‘]

#el

#False

#2

#10

#hi word

三、 元祖

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

t = ("gangdan", "yanglei", "xiaofei", "yanglei")

print(t, type(t))

print(t.count("yanglei"))

print(t.index("gangdan"))

#输出:
#(‘gangdan‘, ‘yanglei‘, ‘xiaofei‘, ‘yanglei‘) <class ‘tuple‘>

#2

#0

四、 字典

Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

dic = {
    "name":"yanglei","age":23,"job":"IT"
}

print(dic, type(dic))

dic.pop("age")
print(dic)

dic.setdefault("age",23)
print(dic)

print(dic.get("job"))

print(dic.get("wu"))

print(dic.items())

print(dic.keys())

print(dic.values())

#输出:
#{‘name‘: ‘yanglei‘, ‘age‘: 23, ‘job‘: ‘IT‘} <class ‘dict‘>

#{‘name‘: ‘yanglei‘, ‘job‘: ‘IT‘}

#{‘name‘: ‘yanglei‘, ‘job‘: ‘IT‘, ‘age‘: 23}

#IT

#None

#dict_items([(‘name‘, ‘yanglei‘), (‘job‘, ‘IT‘), (‘age‘, 23)])

#dict_keys([‘name‘, ‘job‘, ‘age‘])

#dict_values([‘yanglei‘, ‘IT‘, 23])
#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

lis = [11,22,33,44,55,66,77,88,99,90]

dic = {}
for i in lis:
    if i > 66:
        dic.setdefault("k1",[]).append(i)
    elif i < 66:
        dic.setdefault("k2", []).append(i)

print(dic)

#输出:
#{‘k2‘: [11, 22, 33, 44, 55], ‘k1‘: [77, 88, 99, 90]}

五、 列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

lis = ["yanglei","gangdan","yanglei","xiaolan","xiaolv"]

print(lis, type(lis))

print(lis[1])

print(lis[0:3])

lis.pop()
print(lis)

print(lis.index("gangdan"))

print(lis.count("yanglei"))

lis.append("xiaohong")
print(lis)

lis.insert(1,"xiaolv")
print(lis)

lis.remove("xiaolan")
print(lis)

#输出:
#[‘yanglei‘, ‘gangdan‘, ‘yanglei‘, ‘xiaolan‘, ‘xiaolv‘] <class ‘list‘>

#gangdan

#[‘yanglei‘, ‘gangdan‘, ‘yanglei‘]

#[‘yanglei‘, ‘gangdan‘, ‘yanglei‘, ‘xiaolan‘]

#1

#2

#[‘yanglei‘, ‘gangdan‘, ‘yanglei‘, ‘xiaolan‘, ‘xiaohong‘]

#[‘yanglei‘, ‘xiaolv‘, ‘gangdan‘, ‘yanglei‘, ‘xiaolan‘, ‘xiaohong‘]

#[‘yanglei‘, ‘xiaolv‘, ‘gangdan‘, ‘yanglei‘, ‘xiaohong‘]

六、 集合

在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

s1 = {22,33,55,66,88}
s2 = {33,77,99,66}

#交集
print(s1 & s2)

#并集
print(s1 | s2)

#差集
print(s1 - s2)
print(s2 - s1)

#对称差集
print(s1 ^ s2)

#输出:
#{33, 66}

#{33, 66, 99, 77, 22, 55, 88}

#{88, 22, 55}

#{99, 77}

#{99, 22, 55, 88, 77}

七、 for循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

s = "hello gangdan gangdan say hello sb sb"

dic = {}

for i in s.split():
    if i not in dic:
        dic[i] = 1
    else:
        dic[i] += 1
print(dic)

#输出:
#{‘hello‘: 2, ‘gangdan‘: 2, ‘say‘: 1, ‘sb‘: 2}

八、 二进制

二进制实际上就是用10进制的数的每一位数字的2的幂数

来看例子:

然后再Python的操作中,只要在数字前面加上0b的字符,就可以用二进制来表示十进制数了。

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

print(0b1)

print(0b10)

print(0b11)

print(0b100)

print(0b101)

print(0b110)

print(0b111)

#输出:
#1

#2

#3

#4

#5

#6

#7

九、 字符编码

python3解释器在加载 .py 文件中的代码时,会对内容进行编码(默认unicode)。

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。

Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536, 注:此处说的的是最少2个字节,可能更多,UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

--------------------------------------------------------------------------------------------------------------------------------------------------------------

关于中文

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

#!/usr/bin/env pyhon
#auth: yanglei

print("中国")

#输出:
#中国

编码与转码

十、 文件处理

对文件操作流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件
#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

f_file = open("lock","r",encoding="utf-8")
for i in f_file.read()
    print(i)
f_file.close()

打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

with语句

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

import os

with open("old.txt","r",encoding="utf-8") as f_read,    open(".old.txt.swap","w",encoding="utf-8") as f_write:
    res = f_read.read()
    res = res.replace("xiaolan","yanglei")
    f_write.write(res)

os.remove("old.txt")
os.rename(".old.txt.swap","old.txt")
时间: 2024-12-11 17:02:22

第二篇:python基础_2的相关文章

第二篇 python基础知识总结:数据、运算符

引子 我们跟任何人交流,说的每一句都是都一些文字组成,包含名词.动词.语句.标点符号等,组成我们说普通话构成的基本要素.同理我们学习python语言也要明白这些基本要素,也就是我们常说的基本语法,这是我们必须掌握的基础知识.下面我就根据我们常用的知识总结一下.对此内容不过多的讲解!我们需要的是多练!坚持练!反复练!着重强调! 一 变量与常量 任何一门计算机语言中,变量与常量都是首先要了解的最基础知识.变量就是变化的量,常量就是一个不变的量,一个常数.python语言中的变量不指定存储类型,这点与

[转帖]虚拟内存探究 -- 第二篇:Python 字节

虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦 翻译 虚拟内存  翻译 这是虚拟内存系列文章的第二篇.这次我们要做的事情和<虚拟内存探究 – 第一篇:C strings & /proc>类似,不同的是我们将访问Python 3 脚本的虚拟内存.这会比较费劲, 所以我们需要了解Pyhton3 内部的一些机制. 一.预备知识 本文基于上一篇文章&

Python第二弹python基础

python基础1.语句和语法#号:表示之后的字符串为python注释\n换行是标准的分隔符\(反斜线)继续上一行;(分号)将两个语句链接在一行中,允许将多个语句写在同一行上,语句之间用分号隔开,而这些语句也不能在这行开始一个新的代码块,降低程序的可读性.:(冒号)将代码块的头和体分开,像if.while.def.class.这样的复合语句,首行以关键字开始,以冒号:结束.语句(代码块)用缩进的方式来实现不同的缩进深度代表不同的代码块,python使用缩进来分割代码组.代码的层次关系是通过同样深

Python基础篇-Python基础语法

Python基础语法 为什么学习python Python的安装 rpm -q python uname -r python -V yum -y install python-pip pip install ipython         支持 2.7 pip install ipython==1.2.1                支持 2.6

python笔记 [第二篇]:基础数据类型

运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基础数据类 1.数字: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 class int(object): def bit_length(self): "&q

第二章 Python基础知识

第1章 第一个Pyhton程序 Pyhton的两种执行方式:交互式与脚本文件 1.1 交互式 l  交互式模式 直接在Windows或者Linux环境下打开Python解释器执行. 优点:快捷,调试方便. 缺点:不能够保存代码. C:\Users\cc>python3 Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", &quo

第二章 python基础(二)

第九节 函数 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字. 可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句. 自定义函数 用户自己编写的 预定义的Python函数 系统自带的一些函数,还有一些和第三方编写的函数,如其他程序员编写的一些函数,对于这些现成的函数用户可以直接拿来使用. 为什么使用函数 降低编程的难度 通常将一个复杂的大问题分解成一系列更简单的小问题,然后将小问题继续划分成更小的问题,当问题细化

第二篇 Python图片处理模块PIL(pillow)

本篇包含:16.Point    17.Putalpha    18.Putdata    19.Putpalette    20.Putpixel      21.Quantize     22.Resize   23.Rotate     24.Save                                   25.Seek    26.Show   27.Split    28.Tell     29.Thumbnail    30.Tobitmap     31.Transf

第二节 Python基础之变量,运算符,if语句,while和for循环语句

我们在上一节中,我们发现当我们用字符串进行一些功能处理的时候,我们都是把整个字符串写下来的,比如"jasonhy".startwith("j"),如果我们在程序中,很多地方用到"jasonhy"的时候,每个都这样写的话,代码看起来就很low了,而且你有时候还有可能写错,再有一个就是,如果现在需求改变了,不再是"jasonhy"里,变成了"Jasonhy",那这个时候你是不是得每个地方都要改呢?这个工作量就可