Python学习笔记--Python基础


本文为廖雪峰Python教程的学习笔记
具体内容,可参考如下链接:
http://www.liaoxuefeng.com/


1. 字符串  

 字符串是以单引号’或双引号”括起来的任意文本。”或”“本身只是一种表示方式,不是字符串的一部分。
 如果’本身也是一个字符,可以用”“括起来,比如”I’m OK”。
 如果字符串内部既包含’又包含”,可以用转义字符\来标识。  
 Python还允许用r”表示,”内部的字符串默认不转义。但如果字符串以\结尾,会报错。
 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用”’…”’的格式表示多行内容。多行字符串”’…”’还可以在前面加上r使用。
 字符串为不可变对象,可以通过下标访问字符串特定位置的字符,但不能改变。

2. 空值  

 空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

3. 除法  

 在Python中,有两种除法。
 一种除法是/,/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数;
 还有一种除法是//,称为地板除,两个整数的除法仍然是整数。

4. 字符串和编码  

 ASCII编码是1个字节。
 Unicode编码把所有语言都统一到一套编码里,通常是2个字节,如果要用到非常偏僻的字符,就需要4个字节。
 UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
 例如,用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文;浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。
 在Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言。
 对于单个字符的编码,Python提供了:
 ord()函数获取字符的整数表示。
 chr()函数把编码转换为对应的字符。
 由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。
 Python对bytes类型的数据用带b前缀的单引号或双引号表示。’ABC’和b’ABC’,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。
 encode()函数可以将Unicode表示的字符串编码为指定的bytes,bytes中无法显示为ASCII字符的字节用\x##显示。

#str转换为ASCII码
'ABC'.encode('ascii')
#中文转化为UTF-8,只能用UTF-8编码为bytes
'哈哈'.encode('utf-8')

 decode()函数将bytes变为str。(从网络或磁盘上读取的字节流是bytes)
 由于Python源代码也是一个文本文件,所以,当源代码中包含中文的时候,在保存源代码时,就需要指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

 第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
 第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,源代码中的中文输出可能会有乱码。

5. 格式化字符串

 Python的格式化方式与C语言一致。用%实现。

'Hi, %s, I\'m %d years old.' % ('Mike', 23)
"Hi, Mike, I'm 23 years old."

 在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,%x表示十六进制整数,%%来表示一个%。有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
 格式化整数和浮点数还可以指定是否补0和整数与小数的位数:

'%2d-%02d' % (3, 1)  
' 3-01'  
'%.2f' % 3.1415926  
'3.14''  

 格式化字符串的时候,可以用Python的交互式命令行测试,方便快捷。

6. list & tuple

 list为有序列表,可以包含不同的数据类型。初始化后可以修改。

L = ['a', 'b']

 append(ele)函数追加元素ele到list末尾。
 insert(index, ele)函数将元素ele插入到index处。
 pop()函数删除list末尾元素。包含参数index,删除index处元素。
 
 tuple也为有序列表,一旦初始化就不能修改,指向永远不变。元素在定义的时候就要确定。因为不可变,所以代码更安全。

#定义包含一个元素的tuple,如果没有,表示数字1
t = (1, )

7. dict & set

 dict使用键-值存储,查找速度快,一个key只能对应一个value。
 key必须为不可变对象。

#dict的初始化
d = {'name1': 1, 'name2': 2, 'name3': 3}
d['name4'] = 4
d['name4']

 如果key不存在,dict会报错。通过in语句判断key是否存在,也可以通过get()方法判断,如果key不存在,返回None,或者自己指定的值。

#判断'name1'是否存在
'name1' in d
d.get('name1')
#不存在返回-1
d.get('name1', -1)

 set是一组不重复的key的集合。创建set需要提供一个list作为输入集合。
 add(key)方法添加元素到set中。
 remove(key)删除元素。
 两个set可以做交(&), 并(|)运算。

s = set([1,2,3])
s.add(4)

8. 不变对象 & 可变对象

 str是不变对象,而list是可变对象。对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
 例如,当我们对str类型a调用a.replace(‘a’, ‘A’)时,实际上调用方法replace是作用在字符串对象’abc’上的,而这个方法虽然名字叫replace,但却没有改变字符串’abc’的内容。相反,replace方法创建了一个新字符串’Abc’并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串’abc’,但变量b却指向新字符串’Abc’了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值