随着人工智能,大数据的发展。python是当前时代最流行,可以在数据处理、web开发、人工智能等多个领域。它的语法简洁、开发效率高、可移植性强,并且可以和其他变成语言(比如C++)轻松衔接,本文主要讲述一些python的变量,基本数据类型,输入、输出,数据类型的转换,运算符等一些必需的基础知识。需要回顾python基础知识的小伙伴可以认真阅读。
本文按照学习框图详细介绍
在python中,我们传递数据都是使用变量来进行传递的,因此我们要熟悉变量的作用。
变量:是程序中,用来从内存中找到传递的数据的标记
白话解释:变量是我们对传递的数据的一个称呼,便于我们引用和找到这个传递的数值
举例说明:变量和人的名字一样,都是对人的称呼,假如有个人叫张三,我们叫张三,他就会知道我们找的人是他。
当然,变量的取名也是需要一定的规则限制。就和取人名一样
变量的命名规则需要遵循标识符规则
规则如下:
1、不能以数字开头,且只能包含数字、字母、下划线构成
2、名称不能与关键字重名(在python中定义好的函数)
3、对于A和a是两个不同的变量,即区分大小写
python中常见的关键字:
关键字:35个
['False', 'None', 'True',
'and', 'as', 'assert', 'async',
'await', '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']
单下划线变量名 "_"
单下划线 "_" 是比较特殊的一个,表示作为一个无意义的占位符出现在赋值语句中。
赋值时忽略某些变量,就可以使用 _ 作为变量名
#20这个数据,忽略 不需要
name,_ = "张三",20
正确使用注释可以帮助我们快速阅读代码并清楚其作用,因此注释也是每家公司都会强制要求每个程序员必写的部分,不同公司要求注释方法不同,但作用都是为了方便阅读理解,因此代码注释也是新手入门的一个重要学习部分
python中的注释主要分为两种,一种是常见的代码内注释,通过在行内输入 # 号来表示,另一种注释则是接口注释,对多行说明性文字进行注释,通过 """ / ''' 号来表示。
# 使用 input() 进行输入:
# 1. 存储输入数据
# 2. 要求用户重新输入
#*********************************************
'''
人对象:
name:姓名
age:年龄
sex:性别
addr:读者
'''
#*********************************************
"""
人对象:
name:姓名
age:年龄
sex:性别
addr:读者
"""
注释一般不影响代码的执行效果,却极大影响代码的可读性。编写注释时注意:
基本数据类型:number(数字:整数、浮点数)、Bool(布尔型:True、False 真假)、String(字符串数据有两种,一种是用双引号包括的,一种是单引号包括的,都是表示字符串,使用时也没有什么区别,看编程者自己喜好: "abfac"、'abfsc')
复合数据类型:List(列表)、Tuple(元组)、Dict(字典)、Set(集合)
空值:None
本文我们详细解释基本数据类型,复合数据类型后面有时间补上。
在python中,一共存在三种内置数值类型:整型(int)、浮点型(float)和复数类型(complex)
整型
对数据的创建如下:
# 定义一个整数
score = 100
# 定义一个浮点数
temp = 1.23
# 定义一个复数
com = 1 + 2j # 1:实数部分 2j:虚数部分
在定义数值数据时,如果数字特别长,可以通过" _"(下划线) 插入 易读
# 如果数据的字面量特别长,可以通过插入 _ 分隔符 来让他变得易读查看(不影响数据大小)
num = 1_000_000000
print(f"num = {num}")
浮点数
由于计算机在计算浮点数时,不能做到绝对精准,只能保证在固定精度内准确,取固定精度来近似表示小数。
f_num = 0.1 + 0.2
print(f"num = {f_num}")
值:num = 0.30000000000000004
值不能精确到0.3,使用下面的内置模块将值精确
#****************************************************************
在python中提供一个内置模块:decimal,使用Decimal对象来代替普通浮点数,
做四则运算时不会损失任何精度
import decimal
print( decimal.Decimal(0.1) + decimal.Decimal(0.2) )
print( decimal.Decimal('0.1') + decimal.Decimal('0.2') )
注意:必须使用字符串来表示数字。如果你提供的是普
通浮点数而非字符串,在转换为 Decimal 对象前就会损失精度
布尔类型时python用于表示“真、假”的数据类型。布尔的的取值有两个可选:True和False。布尔类型其实是整数的子类型,在绝大多数情况下,True和False这两个布尔值可以当作整数 1 和 0 来使用
在python中,通过双引号 ,单引号 或 三引号 括起来的字符就叫做字符串
字符串: 'hello world'
字符串: "hello world"
单引号/双引号字符串,只能在一行中表示
三引号能让字符串在多行中显示
字符串:
'''
张三
你好
'''
"""
张三
你好
"""
#******************************************
str_name = "张三"
str_name1 = '''张
三'''
str_name2 = """张
三"""
print(str_name)
print(str_name1)
print(str_name2)
结果:
张三
张
三
张
三
通过功能:input('作为输入的提示'),当程序执行到input时,就会阻塞起来(等待),直到用户输入内容,并回车,得到用户输入的内容,并结束等待
#input函数作为 python 的输入功能
#input将程序执行阻塞等待,直到用户输入
#只能输入字符串类型
name = input("请输入名字 :") #输入的内容都是字符串
age = input("请输入年龄 : ")
print("名字 = %s , 年龄 = %s"%(name,age))
通过功能:print(数据/变量 ,数据2,数据3,...... ),当程序执行到print时,就会将括号中的数据(任意类型)输出到终端上打印出来。
#print函数作为 python 的输出功能
print('hello')
print(10)
print(0.001234)
print(True)
#*********************************************************
name = "张三"
print(name) # name变量 表示 '张三' 字符串
print("学生的名字 : ",name) #在一条打印语句中连续打印多个数据值
print("格式化字符串")
"格式化字符串" : " %d %f %s"%(数据值1,数据值2,数据值3) %d:整数 %f:浮点数 %s:字符串
#***********************代码如下****************************
print("%5d , %5.1f , %s"%(5,1.23,"hello"))
print("%5d , %5.1f , %s"%(5,1.23,"hello") ,"打印结束")
print("%s"%(name))
"格式化字符串" : f" {变量/数据} 其他原样输出 {取值输出} }"
print(f"name = {name} , age = {20}")
仔细看上面的代码,%5d表示:整型输出占5个字符单位,即使输出一个数,剩下四个单位也被空字符占位,%5.1f表示:浮点型输出整数占5个单位,小数部分占一个单位,如果是1.23,输出1.2,注意,输出不会四舍五入,3被忽略
由于在程序中,得到的数据不是想要的数据类型,所以需要对数据之间进行转换,转换为需要的数据类型,数据类型分为自动类型转换,和强制类型转换
在运算中会自动根据运算方式,根据参与运算的数据,自动进行类型转换 算术运算:由小范围表示的数据类型王大范围表示的数据类型进行转换。下面是算术运算中自动转换的优先顺序
如果在算术运算中包含了整型,浮点型,整型,会自动转换为浮点型,但是如果算术运算中包含了整型,字符串型,则报错,python不支持整型和字符串的运算,需要用到强制转换,强制转换的字符串也不能是字母,只能是字符串型的数字。而比较运算、逻辑运算、成员运算、身份运算,都是转换为布尔类型,即只有真和假,真为1,假为0
num_int = 1 #整型
#type(数据) 获取数据的类型
print( type(num_int) ) #获取 num_int 变量的类型
num_float = 1.23 #浮点型
print( type(num_float) )
num = num_int + num_float
print( type(num) )-----浮点数类型
num = num_int + True
print(f"value = {num},type = {type(num)}") ----整数类型
强制转换即自定义数据转换的类型,需要什么类型就转换为什么类型。
在python中提供多种转换函数,通过执行函数完成转化
int(x):将x转换为整数
注意:如果x是字符串,必须是一个数字字符串,其字符串中所有的字符都是数字字符,否则出错
float(x):将x转换为浮点数
注意:如果x是字符串,必须是一个数字字符串,其字符串中所有的字符都是数字字符可以包含小数点字符,否则出错
complex(x):将x转换为 复数,x作为实数部分
complex(x,y):将x,y转换为 复数,x作为实数部分,y作为虚数部分
bool(x):将x转换为布尔值,如果 x 非0 转换为 True, 0或空字符串 转换为 False
str(x):将x转换为 字符串
chr(x):将x 整数 ASCII 转换为一个字符
+:加法运算
-:减法运算
*:乘法运算
//:整除运算(运算结果为整数)
/:除法运算
%:取模运算(整除求余数)
**:指数运算
使用 比较运算符进行比较运算,运算结果 都为 bool 布尔类型(真、假)
比较运算符:
不同类型的比较,无论是何种比较运算符,结果都为False
> : 大于 x > y 比较 x 是否 大于 y , 如果满足为真,否则为假
< : 小于 x < y 比较 x 是否 小于 y , 如果是则为真,否则为假
>= : 大于等于 x >= y 比较 x 是否 大于或等于 y , 如果是 则为真,否则为假
<= : 小于等于 x >= y 比较 x 是否 小于或等于 y , 如果是 则为真,否则为假
== : 等于 x == y
!= : 不等于 x != y
print("比较运算")
print(2 == "2")
print(2 > -1)
print(1.23 >= 1)
print("abc" == "abc")
print("abc" < "abb")
print(123 > "a")
用于连接其他运算表达式得到组合的运算结果,逻辑运算符的左右两侧,均为bool值的表达式(结果为True或False)
逻辑与:and 表达式1 and 表达式2 ,如果表达式1为真且表达式2为真,则 结果为真 ,否则为假
True and False=====> False
逻辑或:or 表达式1 or 表达式2 ,如果表达式1为真 或 表达式2为真,则 结果为真 ,否则为假
True or False======> True
逻辑非:not not 表达式,如果表达式 为真,则结果为 假,如果表达式为 假,结果为真
not True=======>False
#逻辑运算
print("逻辑运算")
print("逻辑与运算")
print(3 > 2 and 10 - 5 > 10) # True and False
print(3 > 2 and 2 > 1) # True and False
print(3 < 2 and 2 > 1) # False and True
print( 10 + 10 and 1 < 2 )
# 10 + 10 and 1 > 0 and 1 < 10 多个 and 逻辑与 求结果
print("逻辑或运算")
print(3 > 2 or 10 - 5 > 10) # True or False
print(3 < 1 or 5 > 2) #False or True
print(0 or 1 < 0 )
print("逻辑非")
print(not 1 > 0)
print(not 0)
and:逻辑 与 操作:一假即假,当与运算符中的左右表达式出现False,则整个表达式为False
or:逻辑 或 操作:一真即真,当或运算符中的左右表达式出现True,则整个比倒是为True
#当使用 and 与运算时,如果第一个表达式结果为 False,可以提前直到整个与运算结果False,后续的表达式就没有判断的必要,程序就不会去执行第二个表达式的运算
print( False and 1 / 0 )
#当使用 or 或运算时,如果第一个表达式结果为 True,可以提前知道整个或运算结果True,后续的表达式就没有判断的必要,程序就不会去执行第二个表达式的运算
print( True or 1 / 0)
成员运算符判断某个数据值是否属于某个数据中的一部分
in:成员运算符
not in:成员运算符
数据值 in 数据 判断 数据值 是否存在于 数据中(一部分/一项)
数据值 not in 数据 判断 数据值 是否不存在于 数据中(一部分/一项)
print("成员运算符")
result = "ok" in "sfasfjsokfdagkhkdfh"
print(result) #True
result = "张三" in "dsafjdsjc张kadd三hv"
print(result) #False
result = "ok" not in "sfasfjsokfdagkhkdfh"
print(result) #False
result = "张三" not in "dsafjdsjc张kadd三hv"
print(result) #True
身份运算符判断两个数据在内存中的地址是否一致
is:身份运算符
x is y :判断 x 和 y 数据是否是同一个内存地址的数据
#身份运算符
print("身份运算符")
num1 = "hello world"
num2 = "hello world"
print( num1 is num2 )
num2 = "nihao"
print( num1 is num2 )
x is not y:判断 x 和 y 数据是否不是同一个内存地址的数据
满足条件得到一个结果,不满足条件得到另一个结果
三目运算符:
结果1 if 条件表达式 else 结果2
当 条件为 True 执行结果1
当 条件为 False 执行结果2
#********************************
a=23
b=45
c = a if a
本文详细解释了变量和注释,输入输出的一些操作,数据类型的种类,数据类型的强制转换,以及一些基本的运算符,算术表达式,如果有不理解和觉得有问题的,可以在评论区留言,共同探讨,希望本文对刚接触python的同学有帮助,这也是本文的终极目标。感谢能读到这里的读者,后续也会继续更新python的相关知识。不过我侧重c语言,后面也会继续跟进