python基本概念、语法、数据类型
python概念、语法、数据类型
1、几个基本概念
1.表达式
表达式就是一个类似于数学公式的东西
比如:10 + 5 8 - 4
表达式一般仅仅用了计算一些结果,不会对程序产生实质性的影响
如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
2.语句
在程序中语句一般需要完成某种功能,比如打印信息、获取信息、为变量赋值。。。
比如:
print()
input()
a = 10
语句的执行一般会对程序产生一定的影响
在交互模式中不一定会输出语句的执行结果
3.程序(program)
程序就是由一条一条的语句和一条一条的表达式构成的。
4.函数(function)
函数就是一种语句,函数专门用来完成特定的功能
函数长的形如:xxx()
函数的分类:
内置函数:由Python解释器提供的函数,可以在Python中直接使用
自定义函数:由程序员自主的创建的函数
当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
函数的两个要素:
参数:()中的内容就是函数的参数
有参数,也可以有多个参数,多个参数之间使用,隔开
返回值:返回值是函数的返回结果,不是所有的函数都有返回值
2、基本语法
1、在Python中严格区分大小写
2、Python中的每一行就是一条语句,每条语句以换行结束
3、Python中每一行语句不要过长(规范中建议每行不要超过80个字符) "rulers":[80],一条语句可以分多行编写,多行编写时语句后边以\结尾
4、Python是缩进严格的语言,所以在Python中不要随便写缩进
5、在Python中使用#来表示注释,#后的内容都属于注释,注释的内容将会被解释器所忽,我们可以通过注释来对程序进行解释说明,一定要养成良好的编写注释的习惯。注释要求简单明了,一般习惯上#后边会跟着一个空格
3、字面量和变量
字面量就是一个一个的值,比如:1,2,3,4,5,6,‘HELLO’
字面量所表示的意思就是它的字面的值,在程序中可以直接使用字面量
变量(variable)变量可以用来保存字面量,并且变量中保存的字面量是不定的
变量本身没有任何意思,它会根据不同的字面量表示不同的意思
一般我们在开发时,很少直接使用字面量,都是将字面量保存到变量中,通过变量来引用字面量
4、变量和标识符
# Python中使用变量,不需要声明,直接为变量赋值即可
a = 10
# 不能使用没有进行过赋值的变量
# 如果使用没有赋值过的变量,会报错 NameError: name 'b' is not defined
# print(b)
# Python是一个动态类型的语言,可以为变量赋任意类型的值,也可以任意修改变量的值
a = 'hello'
# print(a)
# 标识符
# 在Python中所有可以自主命名的内容都属于标识符
# 比如:变量名、函数名、类名
# 标识符必须遵循标识符的规范
# 1.标识符中可以含有字母、数字、_,但是不能使用数字开头
# 例子:a_1 _a1 _1a
# 2.标识符不能是Python中的关键字和保留字
# 也不建议使用Python中的函数名作为标识符,因为这样会导致函数被覆盖
# 3.命名规范:
# 在Python中注意遵循两种命名规范:
# 下划线命名法
# 所有字母小写,单词之间使用_分割
# max_length min_length hello_world xxx_yyy_zzz
# 帕斯卡命名法(大驼峰命名法)
# 首字母大写,每个单词开头字母大写,其余字母小写
# MaxLength MinLength HelloWorld XxxYyyZzz
#
# 如果使用不符合标准的标识符,将会报错 SyntaxError: invalid syntax
# 练习:尝试自己定义几个变量(复杂一些,尝试不同的命名法),然后打印一些变量
# 通过搜索引擎搜索还有哪些其他的命名规范
_b123 = 20
# print(_b123)
# print = 123
# print(print)
5、数据类型
数据类型指的就是变量的值得类型,也就是可以为变量赋哪些值
1、数值
# 在Python数值分成了三种:整数、浮点数(小数)、复数
# 在Python中所有的整数都是int类型
a = 10
b = 20
# Python中的整数的大小没有限制,可以是一个无限大的整数
# c = 999999999999999999999999999999999999999999999 ** 100
# 如果数字的长度过大,可以使用下划线作为分隔符
c = 123_456_789
# d = 0123 10进制的数字不能以0开头
# 其他进制的整数,只要是数字打印时一定是以十进制的形式显示的
# 二进制 0b开头
c = 0b10 # 二进制的10
# 八进制 0o开头
c = 0o10
# 十六进制 0x开头
c = 0x10
# 也可以通过运算符来对数字进行运算,并且可以保证整数运算的精确
c = -100
c = c + 3
# 浮点数(小数),在Python中所有的小数都是float类型
c = 1.23
c = 4.56
# 对浮点数进行运算时,可能会得到一个不精确的结果
c = 0.1 + 0.2 # 0.30000000000000004
print(c)
2、字符串
# 字符串(str)
# 字符串用来表示一段文本信息,字符串是程序中使用的最多的数据类型
# 在Python中字符串需要使用引号引起来
s = 'hello'
# s = abc # 字符串必须使用引号引起来,不使用不是字符串
# 引号可以是双引号,也可以是单引号,但是注意不要混着用
s = 'hello'
s = "hello"
# s = 'hello" 引号不能混合使用 SyntaxError: EOL while scanning string literal
# 相同的引号之间不能嵌套
# s = "子曰:"学而时习之,乐呵乐呵!""
s = '子曰:"学而时习之,乐呵乐呵!"'
# 长字符串
# 单引号和双引号不能跨行使用
s = '锄禾日当午,\
汗滴禾下土,\
谁知盘中餐,\
粒粒皆辛苦'
# 使用三重引号来表示一个长字符串 ''' """
# 三重引号可以换行,并且会保留字符串中的格式
s = '''锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦'''
# 转义字符
# 可以使用 \ 作为转义字符,通过转义字符,可以在字符串中使用一些特殊的内容
# 例子:
# \' 表示'
# \" 表示"
# \t 表示制表符
# \n 表示换行符
# \\ 表示反斜杠
# \uxxxx 表示Unicode编码
s = "子曰:\"学而时习之,\\\\n乐呵乐呵!\""
s = '\u2250'
print(s)
3、格式化字符串
# 格式化字符串
a = 'hello'
# 字符串之间也可以进行加法运算
# 如果将两个字符串进行相加,则会自动将两个字符串拼接为一个
a = 'abc' + 'haha' + '哈哈'
# a = 123
# 字符串只能不能和其他的类型进行加法运算,如果做了会出现异常 TypeError: must be str, not int
# print("a = "+a) # 这种写法在Python中不常见
a = 123
# print('a =',a)
# 在创建字符串时,可以在字符串中指定占位符
# %s 在字符串中表示任意字符
# %f 浮点数占位符
# %d 整数占位符
b = 'Hello %s'%'孙悟空'
b = 'hello %s 你好 %s'%('tom','孙悟空')
b = 'hello %3.5s'%'abcdefg' # %3.5s字符串的长度限制在3-5之间
b = 'hello %s'%123.456
b = 'hello %.2f'%123.456
b = 'hello %d'%123.95
b = '呵呵'
# print('a = %s'%a)
# 格式化字符串,可以通过在字符串前添加一个f来创建一个格式化字符串
# 在格式化字符串中可以直接嵌入变量
c = f'hello {a} {b}'
print(f'a = {a}')
# 练习 创建一个变量保存你的名字,然后通过四种格式化字符串的方式
# 在命令行中显示,欢迎 xxx 光临!
4、复制字符串
# 创建一个变量来保存你的名字
name = '孙悟空'
# 使用四种方式来输出,欢迎 xxx 光临
# 拼串
print('欢迎 '+name+' 光临!')
# 多个参数
print('欢迎',name,'光临!')
# 占位符
print('欢迎 %s 光临!'%name)
# 格式化字符串
print(f'欢迎 {name} 光临!')
# 字符串的复制(将字符串和数字相乘)
a = 'abc'
# * 在语言中表示乘法
# 如果将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回
a = a * 20
print(a)
5、布尔值和空值
# 布尔值(bool)
# 布尔值主要用来做逻辑判断
# 布尔值一共有两个 True 和 False
# True表示真 False表示假
a = True
a = False
# print('a =',a)
# 布尔值实际上也属于整型,True就相当于1,False就相当于0
# print(1 + False)
# None(空值)
# None专门用来表示不存在
b = None
print(b)
6、类型检查
# 通过类型检查,可以检查只能值(变量)的类型
a = 123 # 数值
b = '123' # 字符串
# print('a =',a)
# print('b =',b)、
# type()用来检查值的类型
# 该函数会将检查的结果作为返回值返回,可以通过变量来接收函数的返回值
c = type('123')
c = type(a)
# print(type(b))
print(type(1)) # <class 'int'>
print(type(1.5)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('hello')) # <class 'str'>
print(type(None)) # <class 'NoneType'>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署