Python-基础
-01-(注释、变量、基本数据类型、输入输出、运算符)
一、注释
1.单行注释
使用 # 号
# 这是一行注释
2.多行注释
使用 """ """ 或 ''' ''' ,三引号对
"""
这是注释
这也是注释
这仍然是注释
...
"""
'''
这是注释
这也是注释
这仍然是注释
...
'''
3.特殊注释(中文编码声明)
# coding = utf-8
# encoding = utf-8
# _*_encoding:utf-8_*_ (推荐使用)
# _*_encoding:utf-8_*_
中文乱码问题:不同编码,字符与字符码对应不同(如:231对应“我”,另个种编码中231可能对应“他”)。使用不同的字符编码去解析中文时,就会产生乱码
二、变量
1.特征:引用这某个具体的数值, 并且可以改变这个引用。注: 使用前要先赋值
2.定义方式
方式一: 变量名 = 值
方式二: 变量名1,变量名2 = 值1, 值2
方式三: 变量名1 = 变量名2 = 值
3.命名规范
字母数字下划线(不能以数字开头) 非关键字 区分大小写(最好做到:见名知意 驼峰标识)
三、基本数据类型
- 1.数值类型Numbers:(1)整型 int(2)浮点型 float(3)复数 complex
- 2.布尔类型Bool:True False
- 3.字符串类型String:单引号 "6" '6' 三引号可连续分布多行 """ 6""" '''6'''
- 4.列表List
- 5.集合Set
- 6.元祖Tuple
- 7.字典Dictory
- 8.空类型NoneType
查看类型:使用type()函数
a = 5
b = "哈哈"
print(type(a))
print(type(b))
#运行结果
<class 'int'>
<class 'str'>
补:关于Python语言类型
动态类型/静态类型
动态类型(不用声明变量类型)
类型是运行时判定的,可以动态修改
静态类型(需要声明变量类型)
类型是编译的时候确定的。后期无法修改
强类型/弱类型
强类型(5 + "5" 报错)
类型比较强势,不轻易随着环境的变化而变化
弱类型(5 + "5" 不会报错,并且结果为10)
类型比较柔弱,不同环境下,很容易改变
结论:Python是强类型动态类型的语言
四、输入与输出
1.输入:使用input()函数 (按下回车键结束输入)
参数:可接收一个字符串作为输入提示信息
返回值:字符串(用户输入的)
msg = input("提示信息:")
2.输出:使用print()函数
msg = input("请输入:")
print(msg)
#运行结果
请输入:我的输入
我的输入
函数原型:print(self, *args, sep=' ', end='\n', file=None)
参数:
*args : 需要输出的值,多个值使用“,”分隔
sep :分割符,多个值被输出出来以后,值与值之间,会添加指定的分割符
end :输出完毕之后,以指定的字符串结束, 默认是换行“\n”
file :表示输出的目标, 默认是标准输出(控制台),还可以是一个写入的文件句柄
flush :表示立即输出的意思,值为Bool类型
print("我", "是", "谁", sep="-")
#输出不换行
print("我", end="")
print("是", end="")
print("谁", end="")
#运行结果
我-是-谁
我是谁
五、运算符
1.算术运算符:
- 加法运算符 +
- 减法运算符 -
- 乘法运算符 *
- 幂运算符 **
- 除法运算符 / (运算结果浮点型)
- 整除运算符 //
- 求模运算(求余运算) %
- 赋值运算符 =
# 加法运算符 +
print(5+3)
# 减法运算符 -
print(5-3)
# 乘法运算符 *
print(5*3)
# 幂运算符 **
print(5**3)
# 除法运算符 /
print(6/3)
# 整除运算符 //
print(5//3)
# 求模运算(求余运算) %
print(5%3)
# 赋值运算符 =
a = 10
print(a)
#运行结果
8
2
15
125
2.0
1
2
10
注:当int和float类型进行算术运算时,结果会被提升为float类型
2.复合运算符
+= ,-= , *= ,**= , /= , //= ,%=
例: num = num + 5 等效于 num += 5
a = 10
b = 10
a = a+10
b += 10
print(a, b)
#运行结果
20 20
3.比较运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
print(10 > 5)
print(5 >= 10)
print(5 != 10)
print(5 == 10)
#运行结果
True
False
True
False
is比对唯一标识(比较两个变量是否指向用一个内存地址)
a = 10
b = 10
c = [10]
d = [10]
#id()函数,查看变量引用的内存地址
print(id(a), id(b))
print(a is b)
print("-"*50)
print(id(c), id(d))
print(c is d)
#运行结果
1603497728 1603497728
True
--------------------------------------------------
2014859435144 2014857856968
False
链状比较运算符 5 < num <=10
num = 10
print(5 < num <= 20)
num = 31
print(5 < num <= 20)
#运行结果
True
False
注意:比较结果为布尔类型(Bool)
4.逻辑运算符
not(非):取反,真-->假;假-->真
and(与 ):并且,and的两边同时为真,结果才会为True,否者为False
or(或):或者, or的两边只要一个为真,结果都为True
注:非布尔类型的值,如果作为真假判定,一般都是非零、非空即真
注: 整个逻辑表达式的结果不一定只是True和False,or,and逻辑运算符从左往右运算,能确定结果时就停止判断,运算值就是能确定结果的那个表达式的值
能确定结果的两种形式: ...真1 or ....(真1哪里停止,确定结果为真1) ...真1 and 真2 ...(真2哪里停止,确定结果为真2)
print(not 1)
print(1 and 0 and 5)
print(False or 0 or 5)
print(False or True and 25 and 15 or 10 and 0)
#运行结果
False
0
5
15