Python程序基本知识
Python程序基本知识
一. 数据类型与变量
1.1 变量
**变量:**在Python中不需要事先声明变量名及其类型,直接赋值即可创建各种类型的变量
x='Hello World'
#创建了整型变量x,并赋值为Hello World'
即使如此,Python依然是强类型的编程语言,Python解释器会根据·赋值和运算来自动推断变量类型。同时,Python也是·一种强类型的语言,变量类型可以随时变化。
在Python有提供了一个检测当前变量的数据类型函数 type(),返回的是 一个数据类型的结果
同时也提供了**isinstance()**用来测试对象是否为指定对象的实例
age = 99
print(age,type(age))
<class 'int'>
isinstance('Hello World',str)
True
变量名规范
- 变量名必须以字母或下划线开头,但以下环线开头的变量在python中有特殊的含义
- 变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线等等)
- 不能使用关键字作变量名
- 变量名区分英文字母大小写
1.2 数据类型
数据类型 : 数据的表现形式
数据 : 你在计算机内输入的任何东西都是数据
-
int 整数类型(整型)
#整型其实就是十进制整数的统称,比如:1、68、999都属于整型。他一般用于表示 年龄、序号等。 number = 10 age = 99 print(age,type(age))
-
bool 布尔类型
# 布尔值,其实就是 “真”、“假” 。并且注意是大写的 ! data = False a = True print(type(a))
-
str 字符串类型
# 字符串,我们平时会用他来表示文本信息。例如:姓名、地址、自我介绍等。 name = 'James' address = '霞飞路87号' introduce = '我叫......' data = '1234' # 注意 : 这个也是字符串的形式 只要是引号包起来的就是 字符串 # 如果有变量接收 , 那么他就不是注释 s = """ 比如说这是一个很长的内容..... """ # 单双引号可以互相嵌套,但是不能嵌套自己 content = 'i "love" u '
-
float 浮点类型
浮点型,一般在开发中用于表示小数。 v1 = 3.14 v2 = 9.89
-
list 列表(极其重点)
-
dict 字典(极其重点)
-
tuple 元组(了解)
-
set 集合 (了解)
1.3 数据类型的转化
- str >> int 可以用int()函数进行转化
s = '123' # 123
s = 'love' # 不能转化成 int类型
s = 'love123' # 报错
s = True # 1
i = int(s)
print(i , type(i)
-
int>> str 可以用str()函数进行转化
i = 123 i = 3.14 i = True s = str(i) print(s,type(s)) # 可以验证是 str字符串类型
-
int >> float
a = 88 f = float(a) print(f)
-
float >> int
f = 88.99 a = int(f) # 注意向下取整 print(a)
-
bool
a = 0.9 # True a = '0' # False a = "" # False a = 0 # False b = bool(a) print(b) # 非0 的为True , 0 为False
-
自动转化
a = 199 b = True print(a + b) # 200 可以自动转换 True 变成 1 False 变成 0 print(11 +22.3) #会把整型 变成浮点类型 然后再进行计算
二. 运算符
-
算数运算符
-
比较(关系)运算符
-
逻辑运算符
-
赋值运算符
2.1 算数运算符
- 是完成基本的算术运算使用的符号,用来处理四则运算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 10 + 20 = 30 |
- | 减 | 10 - 20 = -10 |
* | 乘 | 10 * 20 = 200 |
/ | 除 | 10 / 20 = 0.5 |
// | 取整除 | 返回除法的整数部分(商) 9 // 2 输出结果 4 |
% | 取余数 | 返回除法的余数 9 % 2 = 1 |
** | 幂 | 又称次方、乘方,2 ** 3 = 8 |
在 Python 中
*
运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果
a = "-" * 50
print(a)
a = 1 + 1
print(a)
a = "1" + "1"
print(a) # 注意 字符串"相加" 是拼接
2.2 比较(关系)运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否 相等,如果是,则条件成立,返回 True |
!= | 检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True |
> | 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True |
< | 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True |
>= | 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True |
<= | 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True |
print(2 !=2 )
print(2 ==2 )
2.3 逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | 只有 x 和 y 的值都为 True,才会返回 True 否则只要 x 或者 y 有一个值为 False,就返回 False |
or | x or y | 只要 x 或者 y 有一个值为 True,就返回 True 只有 x 和 y 的值都为 False,才会返回 False |
not | not x | 如果 x 为 True,返回 False 如果 x 为 False,返回 True |
print(2==2 and 4==4) # and
print(2 ==2 or 2 >4) # or
print(2 !=2 or 2 >4)
print(not 2==2) # not
print(not False)
2.4 赋值运算符
- 在 Python 中,使用
=
可以给变量赋值 - 在算术运算时,为了简化代码的编写,
Python
还提供了一系列的 与 算术运算符 对应的 赋值运算符 - 注意:赋值运算符中间不能使用空格
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
a = 1
b = 2
a = a + b # a += b
print(a) # 3
2.5 其他运算符
-
in
-
not in
s = 'LeBron James is GOAT' print('is' in s ) print('Kobe' in s) print('Kobe' not in s)
三. 输出
print('hello , world')
print(12345)
age = 18
print(age)
格式化输出
所谓的格式化输出即按照一定的格式输出内容。
格式符号 | 转换 |
---|---|
%s | 字符串 |
%d | 有符号的十进制整数 |
%f | 浮点数 |
age = 18
name = 'TOM'
weight = 75.5
student_id = 1
# 第一种方法
# 我的名字是TOM
print('我的名字是%s' % name)
print('我的学号是%d' % student_id)
print('我的体重是%f公斤' % weight)
print('我的体重是%.1f公斤' % weight)
print('我的名字是%s,今年%d岁了' % (name, age))
# 第二种方法
print('我的名字是{}了'.format(name))
print('我的体重是{}了'.format(weight))
print('我的名字是{}, 今年{}岁了'.format(name,age))
# 第三种方法(推荐)
print(f'我的名字是{name}了')
print(f'我的体重是{weight}了')
print(f'我的名字是{name}, 今年{age}岁了')
四. 输入
在Python中,程序接收用户输入的数据的功能即是输入。
- 当程序执行到
input
,等待用户输入,输入完成之后才继续向下执行。 - 在Python中,
input
接收用户输入后,一般存储到变量,方便使用。 - 在Python中,
input
会把接收到的任意用户输入的数据都当做字符串处理。
password = input('请输入您的密码:')
print(f'您输入的密码是{password}')
# <class 'str'>
print(type(password))
# 思考
password = input('请输入您的密码:')
print(f'您输入的密码是{password}')
print(type(password))
五. 内存管理机制
python采用的是基于值得内存管理方式,如果为不同得变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块地址
x=3
id(x) #用于显示变量的地址
#10417624
y=3
id(y)
#10417624
y=5
id(y)
#10417600
id(x)
#10417624
python会自动内存管理,对于没有任何变量指向的值,python会自动将其删除,它会自动跟踪所有的值,并自动删除不再有变量指向的值。
六. 代码编写规范
6.1 缩进
python程序是依靠代码块的缩进来体现代码之间的逻辑关系的。对于类定义、函数、定义、选择结构、
循环结构以及异常处理结构来说,行尾的冒号以及下一行的缩进表示一个代码块的开始,而缩进结束则把表示一个代码块的缩进量必须相同。
a,b,c=3,4,5
if a>b:
if a<c:
print(a)
else:
print(c)
else:
if b<C:
print(b)
else:
print(c)
print('OK')
在IDE开发环境中以4个空格为基本缩进单位
6.2 注释
注释对于程序的理解以及团队合作开发具有非常重要的意义。一个可维护性和可读性都很强的程序一般包含30%以上的注释
python中对于程序的注释有两种:
- 以符号#开始,表示本行#之后的内容为注释
- 包含在一对三引号(’’’…’’’)或("""…""")之间不属于任何语句的内容将被解释为注释
6.3 __name__属性
每个python脚本在运行的时候都有一个__name__属性,如果脚本作为模块导入,则其__name__属性的值被自动设置为模块名,如果脚本独立运行,则其__name__属性值被自动为__main__
print(__name__)main
利用python属性可以控制python代码的运行方式,可相当于其他代码的main函数
if __name__==__main__: print("Hello world")#这样程序直接执行会提示Hello world 而不运行其他代码
6.4 其他规范
- 每个Import语句只导入一个模块,尽量避免一次导入多个模块
- 如果一行语句太长,可以在行尾使用续行符“\”来表示下面紧接一行仍属于当前语句,当一般建议用括号来包含多行内容
- 使用必要的空格来增强代码的可读性。
- 适当使用异常处理结构提高程序容错性和健壮性但不能过多依赖异常处理结构,适当的显示判断是有必要的