python入门,一篇搞定

自古美人都是妖i 提交于 2020-08-14 10:23:45

Python程序的构成

python程序的构成

  1. 一个python程序由模块构成,一个模块对应着一个python的源文件,后缀名.py。
  2. 模块由语句组成,运行python程序时,按照模块中的语句顺序依次执行。
  3. 语句是python程序的构造单元,用于创建对象,变量赋值,控制语句调用函数等。

一、第一个Python程序(windows系统中)

print('Hello World!')

在命令行窗口或者IDLE或者开发工具中输入该代码会将代码内的东西原封不动地输出出来。
在这里插入图片描述
在这里插入图片描述

二、注释

<1> 单行注释

以#开头,右边的所有东西当做说明,不会被python的解释器所执行。

# 我是注释,下面这句话用来输出一个hello world
print('hello world')

<2> 多行注释

 '''
 我是多行注释,可以写很多很多行的功能说明
        这就是我牛X的地方

        哈哈哈。。。
 '''

感觉就是个字符串,随便记一下就好了。

三、对象与引用(重点)

Python中,一切皆对象(看起来有一点快乐,不用担心找不到对象的问题了,也不需要new一个,手动滑稽)
每个对象由:
标识(identity)、类型(type)、值(value)
三个部分组成。


  1. 标识用于唯一标识对象,通常对应于对象在计算机中内存的地址。使用内置函数id(obj)可以返回对象obj的标识
  2. 类型用于标识对象存储的”数据“的类型。类型可以限制对象的取值范围以及可执行的操作。可以使用type(obj)获取对象的所属类型。
  3. 值表示对象所存储的数据的信息。使用print(obj)可以直接打印出值。

下面声明一个变量a并赋值为3,看看发生了什么事
在这里插入图片描述
个人的一些理解:
python是个动态类型的语言而且还是个强类型的语言。在python当中,变量其实是对象的引用。变量存储的就是对象的地址,变量通过地址引用了对象。
在这里插入图片描述



四、变量及数据类型

变量就是用来存储数据的
Python3 中有六个标准的数据类型:

  • Number(数字)
    • Python3 支持 int、float、bool、complex(复数)。
  • String(字符串)
    • Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
    • 在这里插入图片描述
  • List(列表)
    • List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
    • 在这里插入图片描述
  • Tuple(元组)
    • Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
  • Set(集合)
    • 集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
  • Dictionary(字典)
    • 字典(dictionary)是Python中另一个非常有用的内置数据类型。

    • 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    • 字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

    • 键(key)必须使用不可变类型。

    • 在同一个字典中,键(key)必须是唯一的。

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

上述关于python中的数据类型参考了菜鸟教程的部分内容
https://www.runoob.com/python3/python3-data-type.html

五、标识符

标识符:用于变量、函数、类、模块等的名称。
标识符有如下特定的规则:

  1. 区分大小写。如:sxt 和 SXT 是不同的。
  2. 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线。
  3. 不能使用关键字。比如:if、or、while 等。
  4. 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数。

命名规则:

类型 规则 例子
模块和包名 全小写字母,尽量简单。若多个单词之间用下划线 math, os, sys
函数名 全小写字母,多个单词之间用下划线隔开 phone, my_name
类名 首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写 MyPhone、MyClass、Phone
常量名 全大写字母,多个单词使用下划线隔开 SPEED、MAX_SPEED

六、输入和输出

输入:

input()  # 返回的是一个字符串

输出

print()  # 输出对象的值

输出格式化

常见的有几种形式:

age = 25
# 常见的几种输出方式
print('age is', age)
print('age is %d' % age)
print('age is {0}'.format(age))
print(f'age is {age}')  # python36后新增特性

七、运算符

Python3中支持以下类型的运算符:

  1. 算术运算符
  2. 比较(关系)运算符
  3. 赋值运算符
  4. 逻辑运算符
运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
  1. 位运算符
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111
  1. 成员运算符
运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
7. 身份运算符
运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

运算符真的是乱七八糟的一堆,基本的先记忆一下,关于运算符的优先级,跟数学中也差不太多。忘了的时候后来看一看好了。

八、常用的数据类型转换

函数 说明
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串

注:
字符串转换为列表可以使用 list()
列表转换为字符串要使用join()

九、选择结构

就是if…else

if 条件表达式 1 : 
	语句 1/语句块 1 
elif 条件表达式 2: 
	语句 2/语句块 2 
	...
elif 条件表达式 n : 
	语句 n/语句块 n 
else:
	语句 n+1/语句块 n+1 

十、循环结构

while循环:

while 条件表达式: 
	循环体语句

for循环:

for 变量 in 可迭代对象: 
	循环体语句

循环中的break和continue

break 语句可用于 while 和 for 循环,用来结束整个循环。当有嵌套循环时,break 语句只 能跳出最近一层的循环

continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最近的一层循环。

十一、推导式

  1. 列表推导式
    [表达式 for item in 可迭代对象 ]
    在这里插入图片描述

  2. 字典推导式
    {key_expression : value_expression for 表达式 in 可迭代对象}
    在这里插入图片描述

十二、容易忘的一些小细节

  1. 要比较两个浮点数的大小,只需要看两个数的差值是否小于一个极小的值。
  2. Math模块中有丰富的数学函数,导入之后使用math.函数名。(其实所有python库差不多都是这样,忘了也没关系,反正IDE会提示)
  3. 断行:Python语言中使用‘\’将过长语句分开到下一行。‘\’后无内容。
  4. join函数:将原字符串插入到参数字符串每两个字符之间,如果参数字符串中只有一个字符返回参数字符串。
  5. split函数:返回以指定的字符将字符串分割成列表形式并返回,但并不改变原字符串。
  6. Python中的 " = ":
    在Python中,“ = ”的作用是将对象引用与内存中某对象进行绑定。如果对象已经存在,就简单地进行绑定,以便引用右边的对象;若对象不存在,就由“ = ”操作符创建对象并绑定。
  7. 关于字符串、列表、字典中的一些方法:
    内建函数实在是太多了,记住一些常用的,比如append()、len()、reverse()等等。在不断地练习中去学习更多的方法吧。

十三、学习体会

python的语法结构确实不难,但是需要记忆的地方实在是太多了。今天学习了选择和判断似乎就可以开始尝试着去写一些小程序了,自己动手的收获会必较大,记住的东西也可能会遗忘,忘了的时候就重新回来看看,去查查文档。总会记得越来越多的东西的。

加油!!!

你可以的!你总是这样相信着自己!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!