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. Python反爬:利用js逆向和woff文件爬取猫眼电影评分信息

    首先:看看运行结果效果如何! 1. 实现思路 小编基本实现思路如下: 利用js逆向模拟请求得到电影评分的页面(就是猫眼电影的评分信息并不是我们上述看到的那个页面上,应该它的实现是在一个页面上插入另外一 ...

  2. linux 环境变量配置方式

    linux 环境变量可以在多个文件中配置 说明: linux bash 运行模式分为两种: login shell 和non-login shell, 两种登录模式启动是加载的配置文件不一样. 1. ...

  3. plsql 触发器介绍 语句级别触发器、行级别触发器。

    /* 分类: 1.DDL触发器 执行create,alter,drop操作时,会激活的触发器 2.DML触发器 执行增.删除.修改时,激活的触发器 3.系统事件触发器 执行特定的系统事件时(启动.加载 ...

  4. 如何在pyqt中实现窗口磨砂效果

    磨砂效果的实现思路 这两周一直在思考怎么在pyqt上实现窗口磨砂效果,网上搜了一圈,全都是 C++ 的实现方法.正好今天查python的官方文档的时候看到了 ctypes 里面的 HWND,想想倒不如 ...

  5. Arduino+ESP32 之 驱动GC9A01圆形LCD(二),移植LVGL,跑示例程序,显示自制图片

    在前文Arduino+ESP32 之 驱动GC9A01圆形LCD(一), 我们已经移植好了arduino GFX库, 该库的示例程序内,还有LVGL的示例程序哦. arduino环境下移植lvgl是很 ...

  6. JDK8 的 Lambda、Stream、LocalDate

    前言 本篇主要讲述是Java中JDK1.8的一些新语法特性使用,主要是Lambda.Stream和LocalDate日期的一些使用讲解. 作者:虚无境 来源:cnblogs.com/xuwujing/ ...

  7. SQLite 基础不扎实造成的:error code 19: constraint failed

    感谢大佬:https://www.cnblogs.com/flintlovesam/p/5241866.html (https://www.cnblogs.com/flintlovesam/p/524 ...

  8. Token+Redis实现接口幂等性

    一.什么是 幂等性 在编程中,幂等性的特点就是其任意多次执行的效果和一次执行的效果所产生的影响是一样的. 二.Token+Redis的实现思路 1.数据提交前要向服务的申请 token(用户登录时可以 ...

  9. 大前端工程化之写一个简单的webpack插件

    今天写一个简单的webpack插件,来学习一下webpack插件 webpack插件机制可以使开发者在webpack构建过程中加入自己的行为,来针对自己项目中的一些需求做一些定制化 首先我们得知道一个 ...

  10. CSS3带你实现3D转换效果

    前言 在css3中允许使用3D转换来对元素进行格式化,在原本只是2D转化的平面中引入了Z轴.在这之前我们讲解了css3中的2D转换,也就是二维空间变换,本篇的3D转换就是基于原来的2D转换而来,与2D ...