Python入门学习笔记1-Python基础
Python入门学习笔记1-Python基础
前言:本文介绍了Python学习的前导知识概念以及必记基础函数,如善用help方法查看帮助文档,以及内置对象类型的概念以及常用函数的详解。
一、Python前导知识概念
1、什么是Python内置对象类型?
Python已经定义的一些数据类型。
2、Python内置对象类型包括如下:
整数、浮点数、字符串、列表、元祖、字典、集合。
3、什么是Python内置函数?
Python已经定义的函数。
4、Python内置函数包括如下:
更多详细Python内置函数请参见官方文档:
5、常用内置函数介绍:
Tip:以下代码均是在cmd的Python交互界面书写并运行的。“开始–>运行(cmd)–>python”进入Python交互界面
5.1 type(object)
返回一个对象类型,例如:
>>> type(2)
<class 'int'>
可以看到这个方法返回2是一个int类型的数据
5.2 help(object)
返回某对象的帮助文档,例如
非常重要
>>> help(id)
Help on built-in function id in module builtins:id(obj, /)Return the identity of an object.This is guaranteed to be unique among simultaneously existing objects.(CPython uses the object's memory address.)
返回id这个函数的相应说明。
5.3 round(number [,ndigits ] )
number ==> 数字
ndigits ==> 保留几位数
例如:
>>> round(0.1+0.2, 2)
0.3
返回的是0.3
如果我们直接print(0.1 + 0.2)
,返回的结果是0.30000000000000004。
>>> print(0.1 + 0.2)
0.30000000000000004
我们知道0.1+0.2=0.3,但是由于进制转换的原因变成了0.30000000000000004,因此我们四舍五入就能解决。
6、 四则运算
加(+)减(-)乘(*)除(/)、取余(%)取商(//)
二、Python内置对象类型详解
1、 字符/字符串
1.1 描述
用一对单引号或者双引号进行包裹,例如
name="pan"
addr='gx'
tip:单引号、双引号要成对出现。如下
'what's you name'
这样会报语法错误,原因是电脑识别到了又三个单引号,前面两个配对之后后面一个就单了,也就不符合成对出现的原则。那应该怎么解决呢?可以这样
“what's you name”
或这样
‘what“s you name’
这样就不会报错。最外面的如果是单引号里面就不要再使用单引号,反则也一样。
2、字符串相关函数
2.1 在字符串里+号是连接符/拼接符
例如:
n="python"
m="book"
n+m
输出”pythonbook“
而这个”pythonbook“其实是一个新对象,不是n也不是m
2.2 len(str/object)
返回字符串的长度,例如
>>> n = "python"
>>> len(n)
6
>>> len("python")
6
返回结果都是 6
2.3 字符串的索引
'str' in object
返回一个boolean值,存在则返回true 否则返回false,例如
>>> n = "python"
>>> 'p' in n
True
返回true,证明n这个对象的字符串里存在‘p’这个字符
str.index('str')
返回某字符串的下标。从左向右搜索,返回遇到的第一个对于字符的下标。如下:
>>> str = ”python book“
>>> str.index("o")
4
返回结果是一个int值,4表述‘o’在这个字符串中的位置下标,下标从0开始。
2.4 字符的切片
字符串可以通过下标直接
str[startIndex: endIndex: stepLength ]
- str 字符串
- startIndex 开始下标(从左边开始下标第一个是0,从右边开始下标第一个是-1)
- endIndex 结束下标 (含头不含尾,假设截取0到3的字符串,实际上只能截取到0-2的字符串)
- stepLength 步长。(如果不填则默认是1,也就是连续的。那么如果填个2那就是隔空截取)
例子如下:
>>> r = "python book"
>>> r
'python book'
>>> len(r)
11
>>> r[0]
'p'
>>> r[-1]
'k'
>>> r[1:9]
'ython bo'
>>> r[0:9:1]
'python bo'
>>> r[0:9:2]
'pto o'
>>> r[:9:2]
'pto o'
>>> r[2::]
'thon book'
>>> r[:]
'python book'
>>> r[::-1]
'koob nohtyp'
>>> r[::-2]
'ko otp'
>>>
Tip:字符串切片(截取)实际上是copy创建一个新的对象,对原本的字符串对象是没有影响的。
实现这个功能的还有一个方法,str.split(obj/str)
按照某种规则进行切割字符串,下面这个例子是按照空格进行切割的,返回的是一个字符串列表,如下:
>>> str = "python book"
>>> str
'python book'
>>> str.split(" ")
['python', 'book']
字符串占位符
>>> "I like {0} and {1}".format("python", "phpcice")
'I like python and phpcice'
Tip:这个代码里的{0}和{1}就相当于一个占位符,占位符可以理解为就是占据一个空间或者位置。
设置占位字符长度,以及设置文本对齐方式
如下:
>>> "I like {0:10} and {1:>15}".format("python", "phpcice")
'I like python and phpcice'
{0:10} 10代表的是字符长度。
{1: >15} >代表右对齐,^居中,<左对齐。默认就是左对齐
Tip:一个重要的函数 dir(object)
查看某对象的成员函数及对象有哪些
例如你想知道str到底还有哪些方法你可以用这个dir(str)函数进行查看,就能看到如下结果。
从上面的截图可以看出关于字符串的函数还有很多,如果感兴趣可以自己去学习。
3、列表
列表什么元素都能装,同一个列表可以装各种不同的元素,但是通常只会装一种。列表是有序的,所以它具有序列的操作特点。列表能通过下标赋值修改元素,而字符串不可以。如,列表lst[0]="12" 成功,字符串str[0]="12"失败列表的基本操作函数如索引、切片等均与字符串相同。
定义:listName = [object]
如下,
lst = [1,2,3,4,5,6]
列表的常用函数
3.1 向列表中增加元素
末端增加一个元素
list.append(element)
参数:list 列表名; element 要添加的元素
例子如下:
>>> lst = [1,2,3,4,5,6]
>>> lst
[1, 2, 3, 4, 5, 6]
>>> lst.append("7")
>>> lst
[1, 2, 3, 4, 5, 6, '7']
在索引前面插入一个元素
list.insert(index, element)
参数:list 列表名;index要插卡位置,即下标;element被插入的元素
例子如下:
>>> lst
[1, 2, 3, 4, 5, 6, '7']
>>> lst.insert(1,12)
>>> lst
[1, 12, 2, 3, 4, 5, 6, '7']
通过可迭代的对象来扩展列表
list.extend(iterable)
参数:list 源列表名;iterable可迭代元素,如字符串“12348565”
例子如下:
>>> lst
[1, 12, 2, 3, 4, 5, 6, '7']
>>> str = "abcdef"
>>> lst.extend(str)
>>> lst
[1, 12, 2, 3, 4, 5, 6, '7', 'a', 'b', 'c', 'd', 'e', 'f']
3.2 删除列表中的元素
删除某个指定元素,并返回被删除元素的值。
list.pop(element)
不填参数时默认删除列表最后一个元素
例子如下:
>>> lst
[1, 12, 2, 3, 4, 5, 6, '7', 'a', 'b', 'c', 'd', 'e', 'f']
>>> lst.pop(7)
'7'
>>> lst
[1, 12, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e', 'f']
>>> lst.pop()
'f'
>>> lst
[1, 12, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e']
删除某个指定的元素,没有返回值。必须指定元素
list.remove(element)
例子如下:
>>> lst
[1, 12, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e']
>>> lst.remove('e')
>>> lst
[1, 12, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']
删除整个列表的元素。
list.clear()
例子如下:
>>> lst
[1, 12, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd']
>>> lst.clear()
>>> lst
[]
tip: list=[]也能达到clear的效果,但是他们是有本质的区别的。list=[]重新赋值一个空列表以达到效果,此时的这个list其实已经不是之前的那个list了,相当于是新建了一个list,其与之前的list指向的内存地址不同了。但是clear前后指向的都是同一个地址。
>>> lst = [1,2,3,4]
>>> lst = []
>>> lst
[]
3.3 列表排序
list.sort()
只能对同一种元素进行排序。默认是升序。若想降序排序需要将参数 reverse=True即可。list.sort( reverse=True)
例子如下:
>>> lst = [2,1,9,4,3,15,21,36,11,5]
>>> lst
[2, 1, 9, 4, 3, 15, 21, 36, 11, 5]
>>> lst.sort()
>>> lst
[1, 2, 3, 4, 5, 9, 11, 15, 21, 36]
>>> lst.sort(reverse=True)
>>> lst
[36, 21, 15, 11, 9, 5, 4, 3, 2, 1]
list.reverse()
反序排序,即将整个列表的元素全部反过来。
例子如下:
>>> lst
[36, 21, 15, 11, 9, 5, 4, 3, 2, 1]
>>> lst.reverse()
>>> lst
[1, 2, 3, 4, 5, 9, 11, 15, 21, 36]
4、元祖
类似列表。
列表用“[]”中括号定义,元祖用“()”小括号定义。
与列表相同元祖能放任何数据类型。
当元祖只有一个元素时,元素后必须添加一个逗号“,”,否则不是元祖,而且字符串。
元祖也是一个序列,一次元祖也具有序列的一般方法,例如index函数
元祖是不可变对象,不能像列表一样通过下标修改元素值。可以向元祖转成列表在修改,修改完在转回来。
4.1 定义元祖
>>> t = (1,2,"python",[1,2,3])
>>> type(t)
<class 'tuple'>
4.2 索引与切片
与前面的列表一样,参照前面的例子。
5、字典
5.1 字典的定义
>>> d = {'name':'pan','age':'22','city':'nanning'}
>>> d
{'name': 'pan', 'age': '22', 'city': 'nanning'}
>>> dict(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
Tip:字典是以键值对(key-value)的形式进行存值的。key不能重复,key通常是不可变的一个关键字,并且能唯一识别一个元素的。
5.2 字典的基本操作
取值
通过key来获取某一个键值对的值value,如:
>>> d['name']
'pan'
修改元素
通过key修改指定的元素值,如下:
>>> d
{'name': 'pan', 'age': '22', 'city': 'nanning'}
>>> d['name'] = "ruihe"
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning'}
更新/添加元素
dictName.update(object)
,例子如下:
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning'}
>>> d.update(sal="6000")
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning', 'sal': '6000'}
删除元素
del dictName[key]
删除指定元素,无返回值
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning', 'sal': '6000'}
>>> del d['sal']
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning'}
dictName.pop(key)
删除指定元素,并返回删除元素的value值。
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning'}
>>> d.pop('city')
'nanning'
>>> d
{'name': 'ruihe', 'age': '22'}
>>> d.pop('city','已经不存在了')
'已经不存在了'
>>> d
{'name': 'ruihe', 'age': '22'}
dictName.popitem()
删除字典末端的元素,并返回剩下的字典元素。
Tip:这个方法在3.6之前Python版本中是随机删除一个元素,在3.6之后则是删除字典中最后一个元素。
>>> d.popitem()
('age', '22')
5.3 字典的两个重要的方法
当我们查看一个不存在的key值时,代码会报错,这样可能会终止我们的程序或者出现一些不可预计的错误,如下:
>>> d['aa']
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'aa'
该如何解决呢?
dictName.get(key,tipStr)
参数:key 字典元素的key tipStr 没有找到key时返回给用户的提示语。如果不填tipStr 就没有提示语。
这样程序不会报错,并且也有良好的交互。
>>> d.get('aa')
>>> d.get('aa','没有该元素')
'没有该元素'
同样的效果的还有一个方法,如下:
dictName.setdefault(key,tipStr)
>>> d.setdefault('aa','没有所以创建')
'没有所以创建'
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning', 'sal': '6000', 'aa': '没有所以创建'}
不同之处在于,当没有找到对应的key的时候,会根据搜索的key和提示语创建一个新元素。如果不填提示语也会创建一个对应的元素,值为None。如下:
>>> d.setdefault('bb')
>>> d
{'name': 'ruihe', 'age': '22', 'city': 'nanning', 'sal': '6000', 'aa': '没有所以创建', 'bb': None}
5.4 字典与列表的区别
字典不是序列
两者都是容器类对象
两者都是可变对象
Python3.6开始,字典也有顺序
6、集合
6.1 集合的定义
可变集合的定义
>>> s = set([1,2,3,4,5,1,2])
>>> s
{1, 2, 3, 4, 5}
>>> type(s)
<class 'set'>
>>> s2 = {"python",2,3}
>>> type(s2)
<class 'set'>
不可变集合的定义
不可变的集合里面有add,pop,remove等对于集合的基本操作。
>>> f3 = frozenset('panruihe')
>>> f3
frozenset({'h', 'p', 'r', 'i', 'a', 'e', 'n', 'u'})
6.2 可变集合的基本操作。
添加元素
set.add(object)
例子如下:
>>> s2
{3, 2, 'python'}
>>> s2.add('php')
>>> s2
{3, 2, 'python', 'php'}
删除元素
set.pop()
删除首位元素,例子如下:
>>> s2
{3, 2, 'python', 'php'}
>>> s2.pop()
3
>>> s2
{2, 'python', 'php'}
set.remove(element)
删除指定元素,例子如下:
>>> s2
{2, 'python', 'php'}
>>> s2.remove(2)
>>> s2
{'python', 'php'}
set.discard(element)
删除指定元素,例子如下:
>>> s2
{'python', 'php'}
>>> s2.discard('php')
>>> s2
{'python'}
Tip:remove和discard都是删除指定元素,那他们俩的区别是什么呢?remove删除一个不存在的元素时会不错,而discard删除一个不存在的元素时不会报错。如下:
>>> s2
{'python'}
>>> s2.remove('php')
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'php'
>>> s2.discard('php')
Python入门学习笔记1-Python基础相关推荐
- 《流畅的python》学习笔记之python是什么类型的语言?
讨论类型时,最好考虑两条不同的坐标线! 强类型和弱类型 如果一门语言很少隐式转换类型,说明它是强类型语言.如果经常这么做,说明它是弱类型语言.其中,java,c++和python是强类型语言,php, ...
- python从零开始到精通_「Python 入门学习指南」0基础小白助你从入门到精通!
Python比较简单,非常适合初学者入门,内置了各种库,还有丰富的大约13万第三方库,掌握了语法和编程思维后,可以直接使用这些库做出自己的产品.这篇 Python 入门学习指南,针对没有任何编程经验. ...
- python入门学习笔记——详细基础知识篇(第10章 正则表达式(重点)与JSON)
第10章 正则表达式(重点)与JSON 初识正则表达式 元字符与普通字符 字符集 概括字符集 数量词 贪婪与非贪婪 匹配0次1次或者无限多次 边界匹配符(^ .$) 组 匹配模式参数 re.sub正则 ...
- Python入门学习笔记
1 Python入门教程 2 Hello, world! 3 Python中的数据类型 4 可迭代对象 4.1 tuple和list 4.2 set和dict 4.3 range() 4.4 切片 5 ...
- Python入门学习笔记(5)
今日周末安排的学习内容比较简单是元组. 元组和列表结构相似,区别在于元组中的元素不可以单独修改,二列表中的元素可以任意修改. 1.元组的创建和删除 使用赋值运算符创建 num = (1,2,7,9,1 ...
- Python入门学习笔记(4)
今天学习序列和列表. 1.序列 在python中,序列结构主要有列表.元组.集合.字典和字符串.对于这些序列通常会有如下操作: 1.1索引 序列中的每一个元素都有一个编号,称之为索引,是从0开始递增的 ...
- python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)
最近我参加了一个人工智能与自然语言处理的课程,这是第一周的学习笔记.这份笔记不涉及一般知识,全部都是与实践(我在这门课上的作业)有关的总结. 文章目录理论学习人工智能的五种模型:作业1. Rule B ...
- Python+Selenium学习笔记5 - python官网的tutorial - 交互模式下的操作
这篇笔记主要是从Python官网的Tutorial上截取下来,再加上个人理解 1. 在交互模式下,下划线'_'还可以表示上一步的计算结果 2.引号转义问题. 从下图总结的规律是,字符串里的引号如果和引 ...
- 零基础Python入门学习笔记(持续更新)
编译器:Pycharm 库安装: 快捷键Ctrl+Alt+S 点击项目->Python解释器点加号搜索库名称 常见问题: debug无法使用 卸载重新安装对应版本的Python 符号快查: 转义 ...
最新文章
- react es6+ 代码优化之路-1
- 还在为快捷键烦恼吗?IntelliJ IDEA 快捷键大全 Mac 版
- 寻路的几种算法_Godot游戏开发实践之二:AI之寻路新方式
- 首次运行 tensorflow 项目之 vgg 网络
- 1059. C语言竞赛(20)-PAT乙级真题
- 设计模式网上资料整合理解——行为型模式(一)
- Atheros AR9285坑爹网卡仅仅有54M/65M,开启150M速率的方法
- CorelDRAWX4SP2简体中文正式版精简增强版
- 数据结构第七次作业·第四题·北京地铁线路查询Dijkstra算法
- 入股不亏!LINQ凭什么被誉为最好的技术?
- CC3200 TI RTOS LPDS模式
- Unity3D Animator人物模型下沉的一种原因
- 【ABP】 框架的使用
- EventBus使用与分析
- 26套Java实战项目大合集
- 【BP数据预测】基于matlab人工鱼群算法优化BP神经网络数据预测【含Matlab源码 523期】
- MATLAB里一些有意思的小彩蛋
- 20230606夏新(Amoi)的4K显示器D320B2000的亮点检测
- C#编程学习15:应用程序帮助文档(chm/pdf)制作与C#调用
- 二、达尔文机器人开发指南(针对中国机器人比赛、华北五省机器人比赛)-----达尔文基础使用说明
热门文章
- 常州刘国钧计算机专业,2020常州刘国钧高等职业技术学校的录取分数线
- 8051单片机Proteus仿真与开发实例-光敏电阻+ADC0804仿真
- C语言填空答题考试系统
- MFC实现交通图导航系统
- docker logs
- python解包wxapkg_小程序反编译之获取wxapkg包
- <_main__.类名 object at 0x0000000002A7CEB8>
- 面试时,碰到职场“送命题”该怎么回答?送上这些有求生欲的答案~
- 微信热搜榜、订阅热词API
- 微信小程序使用特殊字体包