Python 基础语法
创始人
2024-05-28 17:52:05
0

文章目录

      • 条件判断
      • 循环
      • 数据类型
      • 变量
      • 字符编码
      • 字符串
      • 格式化
      • list
      • tuple
      • dict
      • set
      • 不可变对象

  • ”#“ 开头的是注释
  • 每一行是一个语句,当语句以冒号 “:” 结尾时,缩进的语句被视为代码块

好处:强迫代码格式化,强迫少用缩进
坏处:“复制-粘贴”失效,无法自动格式化

条件判断

if x:print(True)

只要 x 是非零,非空白字符串,非空 list,非 None 等空白或空值,就判断为 True,否则为 False

循环

  • for x in …:把每个元素代入变量 x
  • range(x):可以生成一个整数序列,从 0 开始,遇 x 停止
  • list(range(x)):可以得到[0,1,2,3,…x-1]
  • while n>0:满足 n>0 就不断循环
  • break:提前结束当前整个循环
  • continue:跳出当前这次循环

数据类型

类型精度大小说明
整型精确无大小限制十六进制,以 0x 为前缀,由 0-9,a-f 表示,允许数字中间以 ‘_’ 分隔,入 10_000_000(同 10000000),0xa1b2_c3d4(同 0xa1b2c3d4)
浮点型四舍五入无大小限制inf(无限大),科学计数法,把 10 用 e 替代,1.23e9
字符串--r’’ 表示’‘内部的字符串默认不转义,’‘’…‘’’ 的格式表示多行内容
布尔--可以用 and, or, not 运算
空值--None

整数除法

运算符说明
/结果是精确的商,永远是浮点数
//结果是商的整数部分,永远是整数
%结果是余数部分,永远是整数

变量

必须是大小写英文,数字和 ‘_’ 组合,并且不以数字开头;
可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量

变量在计算机内存中的表示,如下

a = 'ABC'

Python 解释器干了两件事情:

  1. 在内存中创建了一个’ABC’的字符串;
  2. 在内存中创建了一个名为 a 的变量,并把它指向’ABC’。

变量本身类型不变的计算机编程语言为动态语言

常量

常量就是不能变的变量,Python 通常用全部大写的变量名表示常量,Python 不强制常量无法修改

字符编码

  • 8 比特(bit)为一个字节(byte),最大表示 28-1 =255
  • ASCII 码有 127 个字符
  • Unicode 把所有语言都统一到一套编码里
  • UTF-8 把 Unicode 字符根据不同的数字大小编码成 1-6 个字节(常用英文字符编码成 1 个字节,汉字通常是 3 个字节,很生僻字才编码成 4-6 字节)
  • ASCII 可以看作 UTF-8 的一部分
  • 计算机内存统一使用 Unicode,当需要保存到磁盘或传输时,转为通用 UTF-8s

字符串

  • ord() 可以获取字符的整数表示
  • chr() 把编码转成对应的字符
  • len() 参数是 str 时表示字符数,参数是 list 时表示元素个数,参数是 bytes 时表示字节数

编码与解码

encode() 将 str 编码成指定的 bytes

>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'

decode() 将指定 bytes 解码为 str

# errors='ignore' 忽略错误的字节
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'

格式化

占位符

占位符替换内容说明
%d整数用空位或 0 补长,'%2d-%02d' % (3, 1) => 3-01
%f浮点数保留小数位数,'%.2f' % 3.1415926 => 3.14
%s字符串
%x十六进制整数

format() 用传入的参数依次替换字符串内的占位符 {0}, {1}...

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

f-string 字符串包含 {xxx},就会以 xxx 变量来替换

>>> r = 2.5
>>> s = 3.14 * r ** 2
>>> print(f'The area of a circle with radius {r} is {s:.2f}')
The area of a circle with radius 2.5 is 19.62

list

一种有序的集合,可以随时添加或删除其中的元素,元素的类型可以不同

方法说明
[]索引,listA[0]:获取第一个元素;listA[-1]:获取最后一个元素;listA[1] = ‘C’:把第二个元素替换为 ‘C’
append追加,listA.append(‘A’):在末尾最佳一个 ‘A’
insertlistA.insert(1, ‘B’):在第一个元素后面插入一个 ‘B’
poplistA.pop():删除末尾;pop(1):删除第二个元素

赋值语句不能与这些方法同用

>>> listB = listA.append('A')
>>> print(listB)
None

tuple

另一种有序集合,一旦初始化不能修改(指向不变:变量所指向的实例不能修改)

  • 定义空元组,t = ()
  • 定义单元素元组,t = (1,)
  • 要保证元组内容不可变,必须保证元组的每个元素本身不可变

dict

python 内置字典,在其他语言也叫 map,使用键-值存储,具有极快的查找速度,不会随着大小的变化而变慢,相比 list 占用大量内存,以空间换时间

方法说明
in'T' in d 判断’T’是否存在于 d.keys
getd.get('T') 获取 key 为 ‘T’ 的值; d.get('T', -1) 获取 key 为 ‘T’ 的值,如不存在取默认值 -1
popd.pop('B') 删除 key 为’B’ 的键值对

dict 的 key 必须是不可变对象,如:字符串,整数等,否则抛异常(TypeError: unhashable type)

set

与 dict 类似,也是一组 key 的集合,但不存储 value,key 不能重复,数学意义上的无序和无重复元素的集合

创建

>>> s = set([1,2,2,3,3])
>>> s
{1, 2, 3}

添加

>>> s.add(4)
>>> s
{1, 2, 3, 4}

删除

>>> s.remove(4)
>>> s
{1, 2, 3}

并交

>>> ss = set([2,3,4])
>>> s&ss
{2, 3}
>>> s|ss
{1, 2, 3, 4}

不可变对象

>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'

tuple 也是不可变对象

  • (1, 2, 3) 可以作为 dict 和 set 的 key
  • (1, 2, [1, 2]) 不可作为 dcit 和 set 的 key,TypeError: unhashable type

专栏:《Python 基础》

PS:感谢每一位志同道合者的阅读,欢迎关注、评论、赞!

相关内容

热门资讯

安卓系统限制无法录音,探索无法... 你有没有遇到过这种情况?手机里明明装了录音软件,却突然发现,哎呀妈呀,竟然无法录音了!这可真是让人头...
怎么降级手机系统安卓,操作指南... 手机系统升级了,新功能层出不穷,但有时候,你可能会觉得,这系统太卡了,想回到那个流畅如丝的年代。别急...
米oa系统是安卓系统吗,深入解... 亲爱的读者,你是否曾好奇过,米OA系统是不是安卓系统的一员?这个问题,就像是一颗好奇的种子,悄悄地在...
手机刷安卓车载系统,手机刷机后... 你有没有发现,现在开车的时候,手机和车载系统之间的互动越来越紧密了呢?想象当你驾驶着爱车,一边享受着...
vivo安卓怎么降系统,viv... 手机用久了,是不是觉得系统越来越卡,运行速度大不如前?别急,今天就来教你怎么给vivo安卓手机降降级...
nova 4刷安卓系统,体验全... 最近手机界可是热闹非凡呢!听说华为nova 4要刷安卓系统了,这可真是让人兴奋不已。你有没有想过,你...
如果当初没有安卓系统,科技世界... 想象如果没有安卓系统,我们的生活会是怎样的呢?是不是觉得有点不可思议?别急,让我们一起穿越时空,探索...
安卓电视装win系统,系统转换... 亲爱的读者们,你是否曾想过,在你的安卓电视上装一个Windows系统,让它瞬间变身成为一台功能强大的...
安卓手机还原系统好处,重拾流畅... 你有没有遇到过安卓手机卡顿、运行缓慢的情况?别急,今天就来给你揭秘一下安卓手机还原系统的那些好处,让...
安卓系统能跑win吗,探索跨平... 你有没有想过,你的安卓手机里能不能装上Windows系统呢?这听起来是不是有点像科幻电影里的情节?别...
安卓车载系统蓝牙设置,畅享智能... 你有没有发现,现在开车的时候,手机和车载系统之间的互动越来越频繁了呢?这不,今天就来给你详细说说安卓...
奥利奥安卓系统,探索新一代智能... 你有没有想过,一块小小的奥利奥饼干竟然能和强大的安卓系统扯上关系?没错,今天就要来聊聊这个跨界组合,...
微信使用安卓系统,功能解析与操... 你有没有发现,现在用微信的人越来越多了呢?尤其是安卓系统的用户,简直就像潮水一样涌来。今天,就让我带...
体验最新原生安卓系统,极致体验... 你有没有想过,手机系统就像是我们生活的调味品,有时候换一种口味,生活都会变得有趣起来呢?最近,我体验...
安卓系统能玩原神,尽享奇幻冒险... 你有没有想过,在安卓系统上也能畅玩《原神》这样的热门游戏呢?没错,就是那个画面精美、角色丰富、玩法多...
安卓写手机银行系统,基于安卓平... 你有没有想过,手机银行系统在我们日常生活中扮演了多么重要的角色呢?每天刷刷手机,就能轻松管理账户,转...
僵尸之夜恐怖安卓系统,揭秘恐怖... 僵尸之夜,恐怖安卓系统来袭!想象一个寂静的夜晚,你正沉浸在美梦中,突然,一阵诡异的铃声打破了夜的宁静...
谷歌框架和安卓系统,构建智能移... 你有没有想过,为什么你的手机那么聪明,能帮你找到路线,还能帮你拍出美美的照片呢?这都要归功于一个超级...
安卓系统和oppo系统哪个流畅... 你有没有想过,手机系统哪个更流畅呢?安卓系统和OPPO系统,这两个名字听起来就让人心动。今天,咱们就...
安卓怎么用微软系统,利用微软系... 你是不是也和我一样,对安卓手机上的微软系统充满了好奇?想象那熟悉的Windows界面在你的安卓手机上...