Python02 基础语法
二、基础语法
2.1 注释
概念:对某一部分代码的解释说明,在程序执行的时候不会去进行执行。比如:产品的说明书、电影的旁白。
程序员最讨厌的两件事:
一件是自己写代码被要求加注释
另一件是接手别人代码,发现没有注释
注释分类:
- 单行注释(只能注释一行)
“ # ” 开头,注释内容与 # 间隔一个空格
#单行注释
print("Hello World")
- 多行注释(可以注释多行内容)
以 '''多行注释(三个单引号开头结尾)''' 或者 """多行注释(三个双引号开头结尾)"""
"""
第一行注释
第二行注释
第三行注释
"""
print("Hello World")
'''
注释1
注释2
注释3
'''
print("Hello World")
- 小技巧,注释快捷键
ctrl + /( 注释内容 / 取消注释内容)
2.2 标识符
- 概念:总的来说,就是你可以自己定义名字的,(名字)就是标识符,比如类名、变量名、…
- 命名规则:
- 由数字、字母、下划线组成
- 不能以数字开头
- 不能使用内置关键字和保留字(
keyword.kwlist
可以查看所有关键字) - 严格区分大小写
- 命名规范(你可以不用准许,但是**容易被鄙视哦 !亲!**)
- 见名知意(比如:
name = "张三"
和s = "张三"
) - 大驼峰:每个单词首字母都大写,例如:
MyName
- 小驼峰:第二个(含)以后的单词首字母大写,例如:
myName
- 下划线:例如:
my_name
- 常量名:所有字母都大写(下划线+大写)。多单词时每个单词用下划线连接:XXX_YYY_ZZZ,例如:
MAX_VALUE
- 变量名、方法名(小驼峰):多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz,例如:
age,name,bookName,main,binarySearch,getName
- 类名、接口名(大驼峰):多单词组成时,所有单词的首字母大写:XxxYyyZzz,例如:
HelloWorld,String,System
等
- 见名知意(比如:
2.3 变量
- 概念:在程序运行期间,会产生一些临时数据,这些临时数据会存放在内存中,如果想要使用这些内存中的临时数据,就需要用某标识去指向内存中的单元格。这种用于 指向内存单元的标识符,我们就称之为变量。
- 定义格式:
变量名 = 值
name = "张三"
变量定义,要满足 2.2 标识符节的 标识符定义规则
- 变量的使用(直接使用 变量名)
my_name = 'TOM'
print(my_name)
- python在定义变量的时候并没有指定具体的数据类型(比如Java、C等在定义变量的时候需要指定具体的数据类型),但是==变量是有数据类型的(由赋值给变量的数据来决定的)==,用type函数能够查看 type()
a = 343
print(type(a))<class 'int'>
a = 34.2
type(type(a))<class 'float'>
2.4 数据类型简述
python数据类型主要分为 7 种
- Numbers(数字)
- Boolean(布尔)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- Set(集合)
又可分为 可变数据类型 和 不可变数据类型
- 不可变数据类型(4 个):Number(数字)、Boolean(布尔)、String(字符串)、Tuple(元组)
- 可变数据类型(3 个):List(列表)、Dictionary(字典)、Set(集合)
可变数据类型就是随着程序的执行会改变原数据的,不可变数据类型 一被定义就不允许改变原始数据
2.5 数据类型转换
我们需要对数据内置的类型进行转换的时候,只需要将数据类型作为函数名即可
函数 | 描述 |
---|---|
[int(x ,base]) | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
[complex(real ,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
2.6 运算符
分类:
- 算数运算符
- 赋值运算符
- 复合赋值运算符
- 比较运算符
- 逻辑运算符
- 算术运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 1 + 1 输出结果为 2 |
- | 减 | 1-1 输出结果为 0 |
* | 乘 | 2 * 2 输出结果为 4 |
/ | 除 | 10 / 2 输出结果为 5 |
// | 整除 | 9 // 4 输出结果为2 |
% | 取余 | 9 % 4 输出结果为 1 |
** | 指数 | 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2 |
() | 小括号 | 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9 |
混合运算优先级顺序:
()
高于**
高于*
/
//
%
高于+
-
- 赋值运算符
| 运算符 | 描述 | 实例 |
| ------ | ---- | ----------------------------------- |
| = | 赋值 | 将=
右侧的结果赋值给等号左侧的变量 |
- 单个变量赋值
num = 1
print(num)
- 多个变量赋值
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)
- 多变量赋相同值
a = b = 10
print(a)
print(b)
- 复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等价于 c = c + a |
-= | 减法赋值运算符 | c -= a 等价于 c = c- a |
*= | 乘法赋值运算符 | c *= a 等价于 c = c * a |
/= | 除法赋值运算符 | c /= a 等价于 c = c / a |
//= | 整除赋值运算符 | c //= a 等价于 c = c // a |
%= | 取余赋值运算符 | c %= a 等价于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等价于 c = c ** a |
a = 100
a += 1
# 输出101 a = a + 1,最终a = 100 + 1
print(a)
b = 2
b *= 3
# 输出6 b = b * 3,最终b = 2 * 3
print(b)
c = 10
c += 1 + 2
# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print(c)
- 比较运算符
比较运算符也叫关系运算符, 通常用来判断。
运算符 | 描述 | 实例 |
---|---|---|
== | 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True |
!= | 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) | 如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True |
> | 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a > b) 为 True |
< | 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False |
>= | 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假 | 如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True |
<= | 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假 | 如a=3,b=3,则(a <= b) 为 True |
a = 7
b = 5
print(a == b) # False
print(a != b) # True
print(a < b) # False
print(a > b) # True
print(a <= b) # False
print(a >= b) # True
- 逻辑运算符
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
a = 1
b = 2
c = 3
print((a < b) and (b < c)) # True
print((a > b) and (b < c)) # False
print((a > b) or (b < c)) # True
print(not (a > b)) # True
2.7 输入
- 概念:在Python中,程序接收用户输入的数据的功能即是输入。
- 格式:
input("提示信息")
- 特点:
- 当程序执行到
input
,等待用户输入,输入完成之后才继续向下执行。 - 在Python中,
input
接收用户输入后,一般存储到变量,方便使用。 - 在Python中,
input
会把接收到的任意用户输入的数据都当做字符串处理。
- 当程序执行到
password = input('请输入您的密码:')
print(f'您输入的密码是{password}')
print(type(password))# <class 'str'>
2.8输出
- 概念:程序输出内容给用户
- 格式:
print("输出的信息")
print('hello Python')
age = 18
print(age)
- 格式化输出(按照一定的格式输出内容。)
1.占位符形式
格式符号 | 转换 |
---|---|
%s | 字符串 |
%d | 有符号的十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写ox) |
%X | 十六进制整数(大写OX) |
%e | 科学计数法(小写’e’) |
%E | 科学计数法(大写’E’) |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
案例: |
#占位符
a=1.111111111111111111111111
#浮点数
print("%f"%a)
#字符串
s="qwerttyy"
print("%s"%s)
- format() 格式输出
# format()输出
name="张三"
age=13
print("姓名:%s\n年龄:%d"%(name,age))
print("姓名:{}\n年龄:{}".format(name,age))
- f-String (f格式化输出 )
#f-String (f格式化)
name="张三"
age=13
print(f"姓名:{name}\n年龄:{age}")
f-格式化字符串是Python3.6中新增的格式化方法
- 拓展 —— 结束符
- end=”字符“ 以指定字符结尾
print('输出的内容', end="\n")
等价于
print('输出的内容')
在Python中,print(), 默认自带
end="\n"
这个换行结束符,所以导致每两个