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语句只导入一个模块,尽量避免一次导入多个模块
  • 如果一行语句太长,可以在行尾使用续行符“\”来表示下面紧接一行仍属于当前语句,当一般建议用括号来包含多行内容
  • 使用必要的空格来增强代码的可读性。
  • 适当使用异常处理结构提高程序容错性和健壮性但不能过多依赖异常处理结构,适当的显示判断是有必要的

Python程序基本知识的更多相关文章

  1. [daily][optimize] 一个小python程序的性能优化 (python类型转换函数引申的性能优化)

    前天,20161012,到望京面试.第四个职位,终于进了二面.好么,结果人力安排完了面试时间竟然没有通知我,也没有收到短信邀请.如果没有短信邀请门口的保安大哥是不让我进去大厦的.然后,我在11号接到了 ...

  2. 用GDB排查Python程序故障

        某Team在用Python开发一些代码,涉及子进程以及设法消除僵尸进程的需求.实践中他们碰上Python程序非预期退出的现象.最初他们决定用GDB调试Python解释器,查看exit()的源头 ...

  3. 浅谈 Python 程序和 C 程序的整合

    源地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单, ...

  4. 介绍Python程序员常用的IDE和其它开发工具

    概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...

  5. 【Python】 零碎知识积累 II

    [Python] 零碎知识积累 II ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个 ...

  6. python笔记:#002#第一个python程序

    第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3​​.x 版本简介 执行 Python 程序的三种方式 解释器 -- python / python ...

  7. 第一个 Python 程序

    ## 目标 * 第一个 `HelloPython` 程序* `Python 2.x` 与 `3​​.x` 版本简介* 执行 `Python` 程序的三种方式 * 解释器 —— `python` / ` ...

  8. 2.第一个python 程序

    第一个python程序 一..python程序的编写步骤 1.创建  xxx.py文件(文件名不要中文) 文件名要以py为扩展名,因为导入的时候其他扩展名会报错.如果不导入的情况可以不限制扩展名. 2 ...

  9. 给大家一些改善 Python 程序的 91 个建议

    读了一本还不错的书「编写高质量代码改善 Python 程序的 91 个建议」,大多数的建议是真心不错,我虽然写python也有3年多了,但是有些地方确实没去注意过,特地整理了一下,给大家参考. 我已经 ...

随机推荐

  1. 论文解读(GAN)《Generative Adversarial Networks》

    Paper Information Title:<Generative Adversarial Networks>Authors:Ian J. Goodfellow, Jean Pouge ...

  2. IntelliJ IDEA 学习笔记 - 修改编码

    感谢原文作者:codeke 原文链接:https://blog.csdn.net/cgl125167016/article/details/78666432 仓库:https://github.com ...

  3. Google hacker

    转载请注明来源:https://www.cnblogs.com/hookjc/ Google Hacking其实并算不上什么新东西,在早几年我在一些国外站点上就看见过相关的介绍,但是由于当时并没有重视 ...

  4. npm 查看一个包的版本信息

    有了npm 我们能够简单的一段代码就下载我们需要的包,但是包是不断更新的, 所以我们要关注包的版本信息: 现在,假设我们需要 jquery ,但是jquery现在有很多版本,我们如何通过npm查看呢? ...

  5. JavaGuide--Java篇

    本文避免重复造轮子,也是从JavaGuider中提取出来方便日后查阅的手册 参考链接: JavaGuider:https://javaguide.cn/java/basis/java-basic-qu ...

  6. MATLAB基础学习篇(1)

    MATLAB中只定义了以2和10为底对数,其它 使用换底公式,例如:log8(7)=log7/log8. x=input('Please enter x:'); y=input('Please ent ...

  7. 从零开始, 开发一个 Web Office 套件 (3): 鼠标事件

    这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 对应的Github r ...

  8. Feign实现文件上传下载

    Feign框架对于文件上传消息体格式并没有做原生支持,需要集成模块feign-form来实现. 独立使用Feign 添加模块依赖: <!-- Feign框架核心 --> <depen ...

  9. 框架3--backup结构(rsync复制指令)

    目录 框架3--备份结构(rsync复制指令) 一.3个复制指令 二.rsync介绍 三.rsync特性 四.rsync应用场景 4.1 全量备份 4.2 增量备份 五.rsync的传输方式(推+拉) ...

  10. Note -「线性规划」学习笔记

    \(\mathcal{Definition}\)   线性规划(Linear Programming, LP)形式上是对如下问题的描述: \[\operatorname{maximize}~~~~z= ...