Python入门语法(简洁不啰嗦)

鸭梨大吗 2021-10-27 23:37:09
编程语言 Python

#标识符

标识符和其它语言一样,只能字母、数字和下划线组成,且数字不能作为开头。

对大小写敏感。

​#注释

​单行注释用#

多行注释用'''或"""  (因为python中单引号和双引号使用完全相同)

#书写代码规则

python以缩进表示代码块,不是用括号

#数据类型

数字类型int bool float complex,其它类型str list tuple dict set

python创建变量,函数等不需要像c语言一样声明类型,在python中,类型是属于对象的,而不是属于变量。比如a=1,python将会完成:1.创建一个对象来代表1;2.创建一个变量a,如果还没有创建的话;3.将变量引用对象1。

强制类型转换:

· int( x) 将x转换为一个整数
· float( x) 将x转换到一个浮点数
· str( x) 将对象 x 转换为字符串
· tuple( s) 将序列 s 转换为一个元组
· list( s) 将序列 s 转换为一个列表
· set( s) 将序列 s 转换为一个集合
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.


#索引

Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

#字符串

拼接字符串:

如果直接将两个字符串紧挨着写在一起,Python 就会自动拼接它们 

1. s1 = "Hello," 'Charlie'
2. print( s1)
  • 1.
  • 2.

Python 使用加号(+)作为字符串的拼接运算符

1. s2 = "Python "
2. s3 = "iS Funny"
3. #使用+拼接字符串
4. s4 = s2 + s3
5. print( s4)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

输入:

input() 函数用于向用户生成一条提示,然后获取用户输入的内容。由于 input() 函数将用户输入的内容放入字符串中,因此用户输入任何内容,input() 函数总是返回一个字符串。

常用函数:

  • len(s)  测字符串长度
  • int(s)   将字符串转换成整形
  • ord(s)与chr(ASCII) 将字符串和ASC码转换
  • strip(s)去除首尾空格
  • lstrip  去除左边的空格
  • rstrip  去除右边的空格
  • S.startwith(prefix[,start[,end]]) #是否以prefix开头
  • S.endwith(suffix[,start[,end]])  #以suffix结尾
  • isalnum 判断字符串是否是合法字符构成的(数字和字母)
  • isdigit    判断字符串是否都是由数字构成的
  • isalpha   判断字符串是否都是由字符构成的
  • islow()  判断字符串是否小写
  • isupper() 判断大写
  • isspace()  判断空字符串
  • S.lower()   #小写
  • S.upper()   #大写
  • S.swapcase()   #大小写互换
  • S.capitalize()   #首字母大写
  • 值拷贝(在python中字符串是不可修改的,只会创建新的字符串)
  • s = "baidu"
  • t = s[:3] + "x" + s[5:]
  • replace函数
  • "Mokaffe".replace("Mo","hello")  (旧的,新的)
  • 复制字符串strcpy(sStr1,sStr2)
  • 比较字符串strcmp(sStr1,sStr2)
  • ​截取字符串:字符串名[起始:终点:步长]
  • 字符串查找:
  • S.find(substr, [start, [end]])   #返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索 【可以判断一个字符串是否包含另外一个字符串】
  • S.index(substr, [start, [end]])   #与find()相同,只是在S中没有substr时,会返回一个运行时错误 【可以判断一个字符串是否包含另外一个字符串】
  • S.rfind(substr, [start, [end]])   #返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号
  • S.rindex(substr, [start, [end]])
  • 子字符串出现次数计算: S.count(substr, [start, [end]])    #计算substr在S中出现的次数 【可以判断一个字符串是否包含另外一个字符串】
  • str1 in str2 # 【可以判断一个字符串是否包含另外一个字符串】
  • max(str) 返回字符串str中最大的字母
  • min(str)返回字符串str中最小的字母

#列表

  • 切片: 列表名[起始:终点:步长]
  • 重复: 列表名*次数 #比如a=[1,2] 那么print(a*3) 结果为[1,2,1,2,1,2]
  • 连接: 用+号
  • 成员操作符: in
  • list( seq ) 元组字符串转换为列表。
  • len(list) 计算列表中元素的个数
  • max(list) 返回列表元素中的最大值。(当用 max() 函数当比较容器类型中的列表或者元组数据类型时,当其中的元素全部为数字类型时,直接根据值的大小比较。当其中的元素全部为字符串类型(string)时,则比较的是每个字符串元素的第一个字符的 ASCII 的大小。如果列表或者元组中的元素为数字类型和字符串类型混杂时,则无法比较。)
  • min(list)
  • list.append(obj) 在列表末尾添加新的对象,该方法无返回值,但是会修改原来的列表。
  • list.count(obj) 统计某个元素在列表中出现的次数。
  • list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。(seq – 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。
  • list.index(x[, start[, end]]) 从列表中找出某个值第一个匹配项的索引位置。
  • list.insert(index, obj) 将指定对象插入列表的指定位置。
  • list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。(index – 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 -1,删除最后一个列表值。
  • list.remove(obj) 移除列表中某个值的第一个匹配项。
  • list.reverse() 反向列表中元素
  • list.sort( key=None, reverse=False) 用于对原列表进行排序,如果指定参数,则使用指定的比较函数。(key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
  • list.clear() 清空列表,类似于 del a[:]。
  • list.copy() 复制列表,类似于 a[:],浅拷贝。

#元组

元组(tuple)是  ​Python​ 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。


元组和列表(list)的不同之处在于:

  • 列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表是可变序列;
  • 而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列。


元组也可以看做是不可变的列表,对元组的操作和相关函数,基本都可类比列表。通常情况下,元组用于保存无需修改的内容。


从形式上看,元组的所有元素都放在一对小括号​( )​中,相邻元素之间用逗号​,​分隔。

需要注意的一点是,当创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号​,​,否则 Python 解释器会将它视为字符串。

#字典

  • 字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 
key=>value  对用冒号  :  分割,每个键值对之间用逗号  ,  分割,整个字典包括在花括号  {} 中
  • 访问字典里的值,把相应的键放入[]中即可;但如果用字典里没有的键访问数据,会输出错误
  • 既可使用花括号语法来创建字典,也可使用 dict() 函数来创建字典
  • 字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。
  • 通过 key 访问 value 使用的也是方括号语法,就像前面介绍的列表和元组一样,只是此时在方括号中放的是 key,而不是列表或元组中的索引。
  • 如果要为 dict 添加 key-value 对,只需为不存在的 key 赋值即可
  • 如果要删除宇典中的 key-value 对,则可使用 del 语句
  • 如果对 dict 中存在的 key-value 对赋值,新赋的 value 就会覆盖原有的 value,这样即可改变 dict 中的 key-value 对
  • 如果要判断字典是否包含指定的 key,则可以使用 in 或 not in 运算符。需要指出的是,对于 dict 而言,in 或 not in 运算符都是基于 key 来判断的。
  • dict.clear() clear() 用于清空字典中所有的 key-value 对,对一个字典执行 clear() 方法之后,该字典就会变成一个空字典。
  • get() 方法其实就是根据 key 来获取 value,它相当于方括号语法的增强版,当使用方括号语法访问并不存在的 key 时,字典会引发 KeyError 错误;但如果使用 get() 方法访问不存在的 key,该方法会简单地返回 None,不会导致错误。
  • update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。
  • items()、keys()、values() 分别用于获取字典中的所有 key-value 对、所有 key、所有 value。这三个方法依次返回 dict_items、dict_keys 和 dict_values 对象,Python 不希望用户直接操作这几个方法,但可通过 list() 函数把它们转换成列表。
cars = { 'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
# 获取字典所有的key-value对,返回一个dict_items对象
ims = cars. items()
print( type( ims)) # <class 'dict_items'>
# 将dict_items转换成列表
print( list( ims)) # [('BMW', 8.5), ('BENS', 8.3), ('AUDI', 7.9)]
# 访问第2个key-value对
print( list( ims)[ 1]) # ('BENS', 8.3)
# 获取字典所有的key,返回一个dict_keys对象
kys = cars. keys()
print( type( kys)) # <class 'dict_keys'>
# 将dict_keys转换成列表
print( list( kys)) # ['BMW', 'BENS', 'AUDI']
# 访问第2个key
print( list( kys)[ 1]) # 'BENS'
# 获取字典所有的value,返回一个dict_values对象
vals = cars. values()
# 将dict_values转换成列表
print( type( vals)) # [8.5, 8.3, 7.9]
# 访问第2个value
print( list( vals)[ 1]) # 8.3
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • pop() 方法用于获取指定 key 对应的 value,并删除这个 key-value 对
cars = { 'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
print( cars. pop( 'AUDI')) # 7.9
print( cars) # {'BMW': 8.5, 'BENS': 8.3}
  • 1.
  • 2.
  • 3.

#集合

  • 花括号和逗号创建集合,或使用set()函数
  • 集合(set):存储元素不重复、无序数据类型,只支持成员操作赋、for循环迭代、枚举。无序的数据类型,添加顺序和在集合中的存储顺序不一样。不支持索引,重复,连接,切片。
  • 当集合内有重复元素时,输出集合会自动将重复元素去掉
  • 增删
s. add( 1) ###增加一个元素
s. update([ 5, 2, 3, 6]) ###添加多个元素

s. pop() ##删除最前面的元素【第一个】
s. remove() ###指定删除某个元素
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 两个集合之间的关系:
  • 交集: s1.intersection(s2)
  • 并集: s1.union(s2)
  • 差集:s1.difference(s2)
  • 超集:s1.issuperset(s2) #s1包含s2
  • 子集:s1.issubset(s2) #s1包含于s2
  • s1.isdisjoint(s2) #s1 s2互不相交时返回True

#条件语句

  • if、elif、else 语句的最后都有冒号​​:​​,不要忘记。

#循环语句

while 判断条件:
  • 1.


for 变量 in 序列:
  • 1.
  • 通过range()可以创建一个执行指定次数的for循环


range( start, stop, step)
#start:开始,默认是从 0 开始,可省略;stop:结束,但不包括 stop;step:步长,默认为1,可省略
  • 1.
  • 2.
  • continue语句用在while和for循环中,只要在循环里遇到continue, continue语句后的命令不在继续执行,中断本次循环,继续下一次循环。
  • break语句用在while和for循环中,只要在循环里遇到break,则立即结束循环。
  • pass是空语句,不做任何事情,一般用做占位语句。例如我们再搭建程序成体框架时,某些具体细节语句暂时不需要完善, 此时就可以通过 pass 语句来占位,留出语句位置或补齐所需要的语法格式。

#函数

def 函数名( 形参列表):
#可执行语句
return 返回值
  • 1.
  • 2.
  • 3.

#格式化输出

  • 指定最小输出宽度,如%10d 表示输出的整数宽度至少为 10;%20s 表示输出的字符串宽度至少为 20。当数据的实际宽度小于指定宽度时,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。
  • 指定对齐方式,默认情况下,print() 输出的数据总是右对齐的。指定左对齐可用 -,如%-10d
  • 对于字符串,只能使用​​-​​标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。
  • 指定小数精度

版权声明
本文为[鸭梨大吗]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15397571/4351135

  1. python的site-packages复制直接到其他电脑环境上能用吗
  2. Pycharm如何给项目配置python解释器
  3. conda创建python虚拟环境
  4. Python selenium的爬虫无法完整爬取整个页面的内容
  5. 高清版!这18张 Python 数据科学速查表,让你的代码变得更强大!
  6. python代码不会敲,请好心老哥帮助我一下
  7. Python敲七输出符合的个数
  8. Python 有人能给提供简单的思路嘛
  9. python单次运行写入csv成功,循环写入失败
  10. python利用os模块进行增量备份
  11. 【算法学习】807. 保持城市天际线(java / c / c++ / python / go / rust)
  12. 如何利用python输出等腰杨辉三角
  13. python按键执行倒计时小程序不能实现要求,要怎么改才好?
  14. Python request模块post请求的问题
  15. Django连接已有Oracle时的主键设置问题,没主键无法查询怎么办?
  16. 如何用python的dictionary编写一个联系人通讯录程序
  17. 如果Python里range反向输出,不输出步长会怎么样?
  18. 一个关于Python pip的问题: 出现Cannot open \python\Scripts\pip-script.py报错
  19. 富婆闺蜜非让我用Python给她写个淘宝双十一抢购脚本,那只能安排了
  20. 【全网最全】python正则表达式大全,所有讲解都在这,包教包会,学不会找我!
  21. AI python课和 python课都是198 这两个课是同一个课程内容吗?有什么区别和相似点?
  22. python的__new__()疑问
  23. Python代码阅读(第24篇):根据筛选函数将列表元素分成两组
  24. python怎么实现动态障碍物按固定路径行走
  25. Python代码阅读(第24篇):根据筛选函数将列表元素分成两组
  26. Python题目,希望帮我解答一下辛苦
  27. python +selenium 如何获取下拉列表,默认选中值
  28. 有个pb文件做好的模型,对此模型的操作想用python封装成api,怎么做?
  29. 请问,mac的Pycharm中新建项目时候的Base interpreter选项里有两个Python3.8,该选哪个?
  30. python如何读取指定文件名的excel并分别汇总
  31. 如何写利用python将fastq文件转换成fasta文件的脚本
  32. python小工具
  33. 新猿0基础python教程 如何写好接口文档
  34. 请问我哪里错了呀,数值计算,python运算符号出错,但是我看不出来
  35. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏(2)
  36. Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤
  37. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏(3)
  38. 大神们这个问题用python怎么解决啊
  39. 简单理解python装饰器
  40. 货物托运收费问题用python 求解 一直输出错误
  41. 使用 Python 实现的卷积神经网络初学者指南
  42. 为什么Python中调用模块传递列表报错,而直接模块内调用列表就不会报错。
  43. 可视化 Python 打包 exe,这个神器绝了!
  44. 如此高效!数据科学中这4款 Python 神器真的很棒!
  45. 用 Python 开发交互式 Web 应用,So Easy
  46. Python多分类问题pr曲线绘制(含代码)
  47. 80 行 Python 代码搞定全国区划代码
  48. 有包含一阶贝塞尔函数的Python库吗
  49. Python输出乘法口诀表中的2d是什么意思
  50. Python 爬虫goole图片 使用selenium+chromedriver 出错DevToolsActivePort file doesn't exist
  51. python怎么做,我不会做,别走,留下代码!
  52. (数据科学学习手札129)geopandas 0.10版本重要新特性一览
  53. MySQL备份之xtrabackup(Python)
  54. (数据科学学习手札129)geopandas 0.10版本重要新特性一览
  55. Python:枚举列表中所有元素的可能组合
  56. 编写python 程序 人的心跳频率与温度的关系 计算人的累记心跳次数
  57. python相关,请问这张图里代码c for c in coinValueList if c&lt;=change是什么意思
  58. Python中的分段函数问题求解
  59. Python中的递归求年龄问题
  60. python如何求出多个股票的移动均价