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. 带你十天轻松搞定 Go 微服务系列(六)

    序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务 产品服务 订单服务 支付服务(本文) RPC 服务 Auth ...

  2. [luoguP4139]上帝与集合的正确用法

    \(\text{Description}\) \(\text{Given a number }p(p\leqslant10^7).\) \(\text{Output }2^{2^{2^{2^{\cdo ...

  3. Azure AD Domain Service(一)将 Azure VM 实例添加到域服务里

    一,引言 有网友提到实际项目中如何将 Azuer VM 实例加入到 Azure AD 域,那我们今天就带着整个问题开始今天的分析!首先我们得了解什么是 Azure AD 域服务,Azure AD 域服 ...

  4. Redis 学习笔记(一)redis 数据类型和对象机制

    Redis 简介 Redis 是(key-value)的 NoSQL 数据库,所有的 key 都是 String ,它的 value 可以是 String.hash.list.set.zset(有序集 ...

  5. java多线程中同步的问题?

    一.通过模拟网络延迟,解决同步的问题. package com.zxf.demo; public class G01 implements Runnable{ private int num=10; ...

  6. web.xml 配置文件?

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  7. 从服务之间的调用来看 我们为什么需要Dapr

    Dapr 相关的文章我已经写了20多篇了[1] . 当向其他人推荐Dapr 的时候,需要回答的一个问题就是: Dapr 似乎并不是特别令人印象深刻.它提供了一组"构建块",解决了与 ...

  8. Sklearn 与 TensorFlow 机器学习实用指南第二版

    零.前言 一.机器学习概览 二.一个完整的机器学习项目 三.分类 四.训练模型 五.支持向量机 六.决策树 七.集成学习和随机森林 八.降维 十.使用 Keras 搭建人工神经网络 十一.训练深度神经 ...

  9. 「JOISC 2014 Day1」巴士走读

    「JOISC 2014 Day1」巴士走读 将询问离线下来. 从终点出发到起点. 由于在每个点(除了终点)的时间被过来的边固定,因此如果一个点不被新的边更新,是不会发生变化的. 因此可以按照时间顺序, ...

  10. 通过String获取字符数组

    方法一: public void getChars(int start,int end,char c[],int offset) 作用是将当前字符串从start到end-1位置上的字符复制到字符数组c ...