• 周二. 8月 16th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

python(一) 常量_变量_注释_数据类型

admin

11月 28, 2021

第一个 python 代码

# 输出 打印
print("hello world")

python代码 是从上往下 一行一行执行 一旦报错 就会停止

一、常量

“常量”的广义概念是:‘不变化的量’,在计算机程序运行时,不会被程序修改的量,约定俗成 不可更改 ,一般 全部是大写字母。

如:a 、 15 、 G

二、变量

  变量就是一些将来可能会改变的数据,程序运行时,这些数据将会被保存在计算机的内存里面,程序运行中所需要的各种各样的数据会以变量的形式保存起来。
  由数字 字母 下划线任意组合,且不能以数字开头
  用等于号 “ = ” 赋值,左边是变量名 ,右边是变量值

变量名 = 值

  不能用python中的关键字,Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else',
'except','finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or',
'pass', 'raise','return', 'try', 'while', 'with', 'yield']
# 定义一个变量名为i 把5.8 赋值给 变量i
i = 5.8
print(i)
# 把i得值改为了 3.9
i = 3.9
print(i)

注释

在程序中对某些代码进行标注说明,增强程序的可读性
python 注释有以下两类:
  单行注释:以 # 开始
  多行注释:用 一对 连续的 三个 引号(单引号和双引号都可以)

# 这是一单行注释

'''
这是一个
多行注释
'''

"""
这也是一个
多行注释
"""

什么时候需要使用注释?
  1.注释不是越多越好,对于一目了然的代码,不需要添加注释
  2.对于 复杂的操作,应该在操作开始前写上若干行注释
  3.对于 不是一目了然的代码,应在其行尾添加注释(为了提高可读性,注释应该至少离开代码 2 个空格)
  4.绝不要描述代码,假设阅读代码的人比你更懂 Python,他只是不知道你的代码要做什么

python一些代码规范

任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步

三、数据类型

Python3 中有六个标准的数据类型:

Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)

Python3 的六个标准数据类型中:
  不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
  可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

3.1 数字(Number)

python 数字类型不改改变
  整数:int 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,布尔(bool)是整型的子类型。

# 例如: 1 、-258 、 36900 等等

  浮点数:float 浮点型由整数部分与小数部分组成

# 例如:3.25  、 0.35 

  复数:complex 复数由实数部分和虚数部分构成

数字运算:+ – * / % 整除:// 幂:**

运算符 作用
+
*
/
% 取余
// 取整 只取相除后得整数
** 幂 次方

赋值运算符

运算符 描述 实例
= 就是赋值,把右边的结果值给到左边 a=1 、b = 2+3
+= 加法赋值:把左边加上右边,结果在给左边 a +=2 就等于 a = a + 2
-= 减法赋值:把左边减去右边,结果在给左边 a -= 3 等于 a = a-3
*= 乘法赋值:把左边乘于右边,结果在给左边 a *=2 等于 a = a * 2
/= 除法赋值:把左边除于右边,结果在给左边 a /= 5 等于 a = a / 5
//= 取整除赋值:把左边除于右边的商给到 左边 a // 6 等于 a = a // 6
%= 取模赋值:把左边除于右边的余数给到 左边 a %= 7 等于 a = a % 6
**= 幂赋值:把左边幂右边 的结果 给到左边 a **= 7 等于 a = a ** 7

逻辑运算符

运算符 描述 实例
and 且、与: 两边全部为真,才是真 True and False = Fales
or 或: 只要有一边成立,则成立 True or False = True
not 非 取反 not False = True

优先级
和数学中的运算符的优先级一致,在 Python 中进行数学计算时,同样也是:
  先乘除后加减
  同级运算符是 从左至右 计算
  可以使用 () 调整计算的优先级
幂 (最高优先级) > 乘、除、取余数、取整除 > 加法、减法

数据转换

# 浮点数 转 int 会有精度损失
i = 2.3
prin(int(i))   
>>> 2

布尔类型
True :真 也是int类型 1
False:假 也是int类型 0

注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加 True== 1,False==0 是会返回 Ture,但可以通过 is 来判断类型。

练习:

bu = (a and b or c) and d or e
# c =False, a 和b 其中有一个False, d 是True, e 也是True
# 问bu 结果是什么

3.2 字符串(str)

3.2.1、字符串格式

python 字符串 单引号 或 双引号

'内容'
"内容"

常用得转义符:
:可以作为续行符,也可以反义

:换行
注:若想输出整个原始字符串 可以在字符串前面加r

print(r"hello 
 你好")
>>> hello 
 你好

字符串相加 + 结果是拼接

print("hello"+"world")
>>> helloworld

格式化输出

st1 = '我叫{},喜欢{}'.format('小明','打球')
print(st1)
>>> 我叫小明,喜欢打球
# 还有另一种 %s
st2 = "我叫%s,喜欢%s" %("刘备","江山")
print(st2)
>>> 我叫刘备,喜欢江山

字符串有很多的方法使用

转换类方法

方法 作用
capitalize() 将字符串的第一个字符转换为大写
center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
encode() 指定的编码格式编码字符串
join() 用于将序列中的元素以指定的字符连接生成一个新的字符串
len() 返回对象(字符、列表、元组等)长度或项目个数
ljust(width[, fillchar]) 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串
rjust(width[, fillchar]) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
lower() 转换字符串中所有大写字符为小写
upper() 将字符串中的小写字母转为大写字母
lstrip() 截掉字符串左边的空格或指定字符
rstrip() 删除 string 字符串末尾的指定字符(默认为空格)
split() 通过指定分隔符对字符串进行切片
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串)如果指定第三个参数max,则替换不超过 max 次
splitlines() 按照行(”, ‘
‘,
‘)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
swapcase() 用于对字符串的大小写字母进行转换
zfill() 返回指定长度的字符串,原字符串右对齐,前面填充0

查询类方法

方法名 作用
count() 用于统计字符串里某个字符出现的次数
find() 检测字符串中是否包含子字符串 str,如果找不到返回-1
rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1
index() 检测字符串中是否包含子字符串 str该方法与 find()方法一样,只不过如果str不在 string中会报一个异常
rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常

验证类方法

方法名 作用
startswith() 用于检查字符串是否是以指定子字符串开头
endswith() 用于判断字符串是否以指定后缀结尾
isalnum() 检测字符串是否由字母和数字组成
isalpha() 检测字符串是否只由字母或文字组成
isdigit() 检测字符串是否只由数字组成,如果字符串只包含数字则返回 True 否则返回 False
isnumeric() 检测字符串是否只由数字组成,如果字符串中只包含数字字符,则返回 True,否则返回 False
isspace() 检测字符串是否只由空白字符组成
isdecimal() 检查字符串是否只包含十进制字符
istitle() 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
isupper() 检测字符串中所有的字母是否都为大写
islower() 检测字符串是否由小写字母组成。

字符串还有很多其他操作详见:
https://www.cnblogs.com/niunai/p/10147621.html
https://www.runoob.com/python3/python3-string.html
http://c.biancheng.net/python/str_method/

3.3 列表(list)

  在程序运行中,我们需要把数据暂时存储在一个容器里,我们知道 变量是可以存储数据,但是变量 只能存储单个数据,当你想存储多个数据 怎么办?

python 列表就可以存放各种数据类型 且是有序的集合 可以添加或删除元素,里面的每一个元素用英文 逗号 , 隔开,
用英文中括号 表示 []

# 定义一个数组 存储两个元素:  1,烟花  指向一个变量
li = [1,"烟花"]
print(li)
>>> [1, '烟花']     # 会把整个数组内容显示出来

列表的基本操作

添加元素

# 定义空的列表,添加 元素 台风烟花要来了
ls = []
print(ls)
# 添加 元素 台风烟花要来了
ls.append("台风烟花要来了")
print(ls)
# 追加 :数字 666
ls.append(666)
print(ls)

>>> []
>>> ['台风烟花要来了']
>>> ['台风烟花要来了', 666]

索引
列表中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推

查看元素

# 定义一个有值的列表,如下
lis = ['茅台','伊利','同仁堂','海天','云南白药','片仔癀','中新药业']
# 获取第一个元素值
print(lis[0])
# 获取 第二个到第五个之间的元素  ,可以看到列表区间取值包头不包尾
print(lis[1:5])

>>> 茅台
>>> ['伊利', '同仁堂', '海天', '云南白药']

更新元素

# 更新元素 列表 还如下
li1 = ['茅台','伊利','同仁堂','海天','云南白药','片仔癀','中新药业']
# 把第二个元素 更新为  烟花,
li1[1] = "烟花"
print(li1[1])

>>> 烟花

删除元素

# 删除元素 可以使用 del 来删除元素
li2 =['茅台','伊利','片仔癀','同仁堂']
# 删除 茅台
del li2[0]
print(li2)

# >>> ['伊利', '片仔癀', '同仁堂']

# 也可以使用 pop方法 在方法里传入你要删除的索引值 ,如果不传默认删除末尾的元素
li2.pop(1)
print(li2)

# >>> ['伊利', '同仁堂']

列表可以拼接 用 + 列表也可以嵌套

# 定义两个 列表
li3 = ['茅台','片仔癀']
li4 = ['伊利','同仁堂']
# 相加 赋值给 变量li5
li5=li3+li4
print(li5)
# 定义列表li6  包裹 li3和li4
li6 = [li3,li4]
print(li6)

>>> ['茅台', '片仔癀', '伊利', '同仁堂']
>>> [['茅台', '片仔癀'], ['伊利', '同仁堂']]

列表常见操作方法

方法 作用
len(list) 统计列表元素个数
max(list) 求列表里的最大值
min(list) 求列表里的最小值
list.count(obj) 统计该元素在列表出现的个数
list.insert(index, obj) 将该元素插入列表指定的索引位置
list.clear() 清空列表里的元素
sort() 对元素排序,默认升序,传入参数reverse=True 降序

3.4 元组(tuple)

元组和列表类似 不过 用 () 表示 且元组 是不能修改的 也就是一旦定义,就不能更改添加删除里面的元素

# 定义一个元组
tu = ('片仔癀','同仁堂')
print(tu)
# 查看元组第一个值
print(tu[1])

>>> ('片仔癀', '同仁堂')
>>> 同仁堂

# 因为元组是不可以更改 我们可以通过拼接来扩展
tu1 =('五粮液','伊利')
tu2 = tu+tu1
print(tu2)

>>> ('片仔癀', '同仁堂', '五粮液', '伊利')

# 可以用 del 删除整个元组
del tu2
print(tu2)

>>> NameError: name 'tu2' is not defined

注: 当元组里面只有一个值的时候 后面要加 英文 逗号

元组常使用的操作方法

方法 作用
len(tuple) 统计元组个数
max(tuple) 返回元组里面最大值
min(tuple) 返回元组里面最小值

3.5 集合(set)

集合也是一个装载数据的容器 他的里面的元素特点是 元素不能重复 且 是无序的 没有索引
使用 {} 表示 或 set() 创建一个空集合 必须用set() 因为空 {} 有其他数据占用

创建集合

# 定义一个集合
se = {'伊利','茅台'}
print(se)
se1 = set("片仔癀")
print(se1)
# 判断元素是否在集合
print('伊利' in se)

>>> {'伊利', '茅台'}
>>> {'癀', '仔', '片'}
>>> True

集合常使用的操作方法

方法 作用
add() 添加元素
update( x ) 添加元素,参数可以是列表,元组,字典等
remove() 删除指定的元素,元素不存在会报错
pop() 随机移除一个元素
discard() 移除指定元素,不存在不会报错
clear() 清空所有的元素

3.6 字典(dict)

字典像一个双列 列表 她是键值对形式的出现 {’key’:’value’} 且一个key 只对应一个value值,
key 不能重复且必须是不可变类型 ,值可以是任意对象
多个键值对以英文逗号隔开

# 定义一个字典
di = {'茅台':2000,"片仔癀":'400'}
print(di)
>>> {'茅台': 2000, '片仔癀': '400'}

# 给字典 添加一对 "伊利":35
di["伊利"] = 35
print(di)
>>> {'茅台': 2000, '片仔癀': '400', '伊利': 35}

# 修改字典里面的值,然后在根据键查看里面的值
di["茅台"] = 2500
print(di["茅台"])
>>> 2500

# 删除 一对键值
del di["伊利"]
print(di)
>>> {'茅台': 2500, '片仔癀': '400'}

# 删除整个字典
del di
print(di)
>>> NameError: name 'di' is not defined

字典 一些常用操作方法

方法 作用
len(dict) 返回字典键的数量
clear() 删除字典全部元素
pop(key) 删除指定的键值
popitem() 随机返回并删除字典中的最后一对键和值。
get(key) 获取指定键的值
setdefault(key, defaultvalue) 获取指定键的值,如果键不存在则返回 值defaultvalue
copy() 复制一个字典返回
keys() 返回字典里面所有的key ,以列表形式展示
values() 返回字典里面所有的value值 ,以列表形式展示

发表回复

您的电子邮箱地址不会被公开。