文章目录
Python基础语法
字面量
字面量:在代码中,被写下来的固定的值,称之为字面量
那么Python中有哪些值可以被写下来?如何在代码中写他们呢?
常用的值的类型
如何基于print语句完成各类字面量的输出
- print(10),输出整数10
- print(13.14),输出浮点数13.14
- print("哈哈哈哈"),输出字符串:哈哈哈哈
注释
- 单行注释:以 #开头,#右边的所有文字当做说明,而不是真正要执行的程序,起辅助说明作用(注意:#号和注释内容一般建议以一个空格隔开)
- 多行注释:以 一对三个双引号引起来(""" 注释内容""")来解释说明一段代码的作用使用方法
python
# 这是一段注释
"""
这也是一段注释
"""
变量
变量:在程序运行时,能存储计算结果或能表示值的抽象概念。
简单地说,变量就是在程序运行时,记录数据用的
变量的定义格式:变量名称 = 变量的值
例如
python
# 定义一个变量,用来记录钱包余额
money = 50
# 通过print语句,输出变量记录的内容
print("钱包还有:",money)
数据类型
Python3 中常见的数据类型有:
- Number(数字)
- String(字符串)
- bool(布尔类型)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
- 此外还有一些高级的数据类型,如: 字节数组类型(bytes)。
type()语句
语法: type(被查看类型的数据)
py
print(type("哈哈哈"))# str
print(type(666))# int
print(type(12.345))# float
变量有类型吗?
变量没有类型,变量存储的数据有类型
数据类型转化
数据类型转换常用到的功能:
- 从文件中读取的数字,默认是字符串,我们需要转换成数字类型
- input语句的默认结果是字符串,若需要数字也需要转换
- 将数字转换成字符串用以写出到外部系统
- 等等
常见的转换语句
语句(函数) | 说明 |
---|---|
int(x) | 将x抓换位一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象x转换为字符串 |
注意:任何类型可以转换成字符串,而字符串不可以随意转换成数字,浮点数转整数会有精度丢失
标识符
标识符命名规则
标识符命名中,只允许出现:
- 英文
- 中文
- 数组
- 下划线(_)
这四类元素。
注意:
- 不推荐使用中文
- 数字不可以用来开头
- 不可以使用关键字
运算符
- 算数运算符: +(加) -(减) *(乘) /(除) //(取整除) %(取余) **(指数)
python
print("1+1=",1+1) # 2
print("2-1=",2-1) # 1
print("3*3=",3*3) # 9
print("4/2=",4/2) # 2.0
print("11//2=",11//2) # 5
print("9%2=",9%2) # 1
print("2**2=",2**2) # 4
- 赋值运算符
- 复合赋值运算符: += -= *= /= %= **= //=
字符串扩展
字符串的三种定义方式
- 字符串在python中有多种定义方式:
- 单引号定义法:name = '这是一个字符串'
- 双引号定义法:name = "这是一个字符串"
- 三引号定义法:name = """这是一个字符串"""
三引号定义法,和多行注释的写法一样,同样支持换行的操作。使用变量去接收它,它就是字符串,不是用变量接收它,就可以作为多行注释使用。
如果我想要定义的字符串本身,是包含:单引号,双引号自身呢?如何写?
- 单引号定义法,可以内含双引号
- 双引号定义法,可以内含单引号
- 可以使用转义字符(\)来将引号解除效用,变成普通字符串
python
# 字符串内包含双引号
name = '"哈哈哈哈"'
# 字符串内包含单引号
name = "'哈哈哈哈'"
# 使用转义字符\解除引号的效用
name = "\"哈哈哈\""
字符串拼接
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成,如:
print("哈哈哈"+"嘻嘻嘻") 输出结果:哈哈哈嘻嘻嘻
字符串格式化
在使用字符串拼接的时候,有两个缺点
- 变量过多,拼接起来实在是太麻烦了
- 字符串无法和其他类型完成拼接
所以这里使用字符串格式化可以有效解决这个问题
python
num = 666
num2 = 777
str = "哈哈哈%d" % num
str2 = "嘻嘻嘻%s%s" %(num,num2)
print(str)
print(str2)
这里可以看出,数字也可以用%s占位,也可以用%d,当然浮点类型也可以用%f
数字精度的控制
python
num= 178.99
num2 = 22
message = "我的年龄是:%s,我的身高是:%f"%(num2,num)
print(message)
# 结果: 我的年龄是22,我的身高是179.990000
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求数字(很少使用),设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入
例如
python
num1 = 11
num2=11,345
print("数字11宽度限制5,结果是:%5d" % num1) # 11
print("数字11宽度限制1,结果是:%1d" % num1) # 11
print("数字11.345宽度限制7,小数精度2,结果是:%,7.2f" % num2) # 11.35
print("数字11.345不限制,小数精度是2:%0.2f" % num2) # 11.345
快速写法
目前通过%符号占位已经很方便了,还能进行精度控制,可是追求效率和优雅的python,是否有更优雅的方式来解决问题呢?
那就是通过语法:f"内容{变量}"的格式快速格式化
num= 178.99
num2 = 22
message = "我的年龄是:{num2},我的身高是:{num}"
print(message)
# 结果: 我的年龄是22,我的身高是179.99
这里可以通过结果看出来,快速写法并不会做精度的控制
表达式的格式化
表达式:一条具有明确执行结果的代码语句
如1+1,5*2,就是一个表达式,有具体的结果
python
print("1*1的结果是:%d" % (1*1))
print("1*1的结果是:{1*1}")
print("字符串在python中的类型是:%s" % type('字符串'))