Python基础介绍

输出

打印第一个程序:

交互式解释器

  1. [root@localhost ~]# ipython
  2. Python 3.6.8 (default, Aug 7 2019, 17:28:10)
  3. Type 'copyright', 'credits' or 'license' for more information
  4. IPython 7.9.0 -- An enhanced Interactive Python. Type '?' for help.
  5. In [1]: print("Hello World!")
  6. Hello World!
  7. In [2]:

第一个程序:

  1. [root@localhost python]# cat first.py
  2. #!/usr/bin/env python3 #python解释器
  3. # -*- coding: utf-8 -*- #指定字符编码,默认就是UTF-8
  4. print("hello world!")
  5. [root@localhost python]# chmod a+x first.py
  6. [root@localhost python]# ./first.py
  7. hello world!

注释

在你写代码时,有些代码写的比较经典,或者过于复杂,你一眼看不出来,怎么办,比如在文言文中,有些出处或者偏难怪的文字,你是不是不理解?那么怎么办呢?是不是就得有简单说明。

注释就是做这个的,我们来看一下怎么用

单行注释:

多行注释:’’’ ‘’’ 或者 “”” “””
  1. # 这个就是给这一行进行注释,注释后的代码不会执行
  2. '''
  3. 这种的是多行注释, 什么是多行注释啊,其实很简单就是咱们注释的内容可以
  4. 进行换行
  5. '''

看个示例:
  1. # print('hello') 这样就是对这个代码进行注释,并且这个代码不会执行
  2. '''
  3. print(1)
  4. print(2)
  5. 这种就是多行注释,这样的语句也不会执行
  6. '''

操作符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算.

今天我们暂只学习 算数运算、比较运算、逻辑运算、赋值运算、成员运算

算数运算

以下假设变量:a=10,b=20

2. Python基础介绍 - 图1

比较运算

只会返回布尔值

以下假设变量:a=10,b=20

2. Python基础介绍 - 图2

赋值运算

以下假设变量:a=10,b=20

2. Python基础介绍 - 图3

逻辑运算

2. Python基础介绍 - 图4

针对逻辑运算的进一步研究:

在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系:

( )>not>and>or,同一优先级从左往右计算。

例题:

判断下列逻辑语句的True,False。

x or y , x为真,值就是x,x为假,值是y;

x and y, x为真,值是y,x为假,值是x。

  1. 3>4 or 4<3 and 1==1
  2. 1 < 2 and 3 < 4 or 1>2
  3. 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
  4. not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

2. Python基础介绍 - 图5

例题:求出下列逻辑语句的值。

  1. 8 or 4
  2. 0 and 3
  3. 0 or 4 and 3 or 7 or 9 and 6

成员运算

in 和 not in :

判断子元素是否在原字符串(字典,列表,集合)中:

例如:

  1. print('喜欢' in 'dkfljadklf喜欢hfjdkas')
  2. print('a' in 'bcvd')
  3. print('y' not in 'ofkjdslaf')

变量

引子:

比如我想让你计算一下下面算式的结果:

1 + 2 + 3 + 4 + 5

你直接打印就可以了:

  1. print(1 + 2 + 3 + 4 + 5)

但是我想让上面的结果 乘以 3怎么做?有人说很简单:

  1. print(1 + 2 + 3 + 4 + 5)
  2. print((1 + 2 + 3 + 4 + 5)*3)

然后我想让你得到的这个中间结果在加上100:

  1. print(1 + 2 + 3 + 4 + 5)
  2. print((1 + 2 + 3 + 4 + 5)*3)
  3. print(((1 + 2 + 3 + 4 + 5)*3)+100)

我还想让你的这个中间结果除以4:

  1. print(1 + 2 + 3 + 4 + 5)
  2. print((1 + 2 + 3 + 4 + 5)*3)
  3. print(((1 + 2 + 3 + 4 + 5)*3)+100)
  4. print((((1 + 2 + 3 + 4 + 5)*3)+100)/4)

这样写麻烦么? 当然非常麻烦,如何改进呢?我们初中的时候就学过未知数这个概念了,此时我们可否引入呢?

比如:

  1. x = 1 + 2 + 3 + 4 + 5
  2. y = x * 3
  3. z = y + 100
  4. v = z / 4

如果你这样完成的话是不是非常清晰明了,上面例子中的x,y,z,v在python中就称为变量。

什么是变量?

变量: 就是用一些简单的英文字母代指程序运行的复杂的中间结果,以便后续代码使用。变量是表示(或指向)特定值的名称。可以说就是对内存空间的引用

  1. In [1]: name = 'lisi'
  2. In [2]: id(name)
  3. Out[2]: 140430805259744
  • 这个知识点用在哪呢?
    变量在我们后期中经常会被使用
  • 变量如何使用?
  1. name = "meet"

这样就是在定义一个变量,我们具体说一下定义变量

  1. name 是一个变量名
  2. = 是一个赋值操作 赋值就是将值交给name
  3. 'Meet' 是一个值

变量的作用:昵称,就是代指内存中某个地址中的内容

2. Python基础介绍 - 图6

我们定义变量的时候,可以任意起名字吗? 应该是有规则的吧,我们来看看变量定义的规则

变量的定义规则

  • 动态语言: 不需要预先声明变量类型,变量的类型在赋值那一刻被初始化
  • 变量名由字母,数字,下划线组成
  • 变量名禁止使用数字开头
  • 禁止使用Python中的关键字以及内置函数的名字
  1. 关键字如下:

[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

  1. ```
  2. - 不建议使用中文和拼音
  3. - 变量名要具有意义
  4. - 变量名区分大小写
  5. - 推荐写法:
  6. - 驼峰体: AgeOfBoy = 56
  7. - 下划线:age_of_boy = 56
  8. 这是两种写法,你们觉得那种的比较清晰.是不是第二种看着比较清晰,第一种猛的一看还以为是AngelaBaby呢
  9. <a name="63d95377"></a>
  10. #### 变量的赋值
  11. 在python 中我们把变量一般都比喻成便利贴,这些标签在内存中是唯一性的。

lux = ‘鲁迅本人’ name = ‘太白金星’

  1. 此时的lux变量指向就是’鲁迅本人’,而name变量指向的就是’太白金星’
  2. ![](https://s2.ax1x.com/2019/11/06/MPodT1.png#crop=0&crop=0&crop=1&crop=1&id=r5Ub1&originHeight=382&originWidth=601&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)

name1 = ‘太白金星’ name2 = name1 name3 = name2 print(name1,name2,name3)

  1. ![](https://s2.ax1x.com/2019/11/06/MPo2md.png#crop=0&crop=0&crop=1&crop=1&id=CHgqS&originHeight=376&originWidth=601&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
  2. <a name="58d260d0"></a>
  3. #### 变量的小高级

age1 = 18 age2 = age1 age1 = 12 age3 = age2 print(age1,age2,age3)

  1. 我们先来分析一下这个结果是怎样的,在运行看结果是否和你想的一样
  2. 如果结果和你想的不一致,你需要注意了.咱们代码的运行是从上至下的执行,并且在内存中只能用一个名字相同的便利贴.
  3. ![](https://s2.ax1x.com/2019/11/06/MPTJ4P.gif#crop=0&crop=0&crop=1&crop=1&id=UOIB7&originHeight=789&originWidth=1665&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)

age = 12 age = 12 + 1 age1 = age + 1 print(“我今年:”,age1) name1 = ‘barry’ name2 = name1 name1 = ‘wusir’ name3 = name2 打印name1,name2,name3分别对应的值是什么?

  1. 通过上边的小高级和练习我们可以得出一个宗旨,代码是从上向下执行,并且便签只能有一份,相当于一个变量名只能代指一个值
  2. <a name="7cb3a749"></a>
  3. ## 常量
  4. 常量就是在python代码中不能被改变的变量,在其他语言中比如C语言中,如果一个变量设置成常量,那么这个常量肯定就不能改变,只要改变就会报错。但是python中虽然没有这样的规定,但是为了与其他语言保持一致,将全部大些的变量称为常量,目的就是让开发者看到之后告之其不要轻易改变。量往往是以大写的形式放在文件的最上面,比如:<br />一般的身份证号,生日,以及文件的路径等等都要设置成常量。

BITRH_OF_CHINA = 1949 FILE_PATH = ‘d:/test1.py’

  1. <a name="185f7bf6"></a>
  2. ## 数据类型
  3. <a name="60e55e3b"></a>
  4. #### 数据类型初识
  5. 什么是数据类型?
  6. 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东西,其实就是对常用的各种数据进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,今天我们暂只讲3种, 数字、字符串、布尔类型
  7. 常见数据类型:
  8. - Number 数值型
  9. - Bool 布尔型
  10. - String 字符串
  11. - List 列表
  12. - Tuple 元组
  13. - Dictionary 字典
  14. - Set 集合
  15. <a name="1b786285"></a>
  16. #### int是整型
  17. 也就是我们从小就接触的数学中的整数,整型在计算机中运于计算和比较
  18. 在32位机器上int的范围是: -2**31~2**31-1,即-2147483648~2147483647
  19. 在64位机器上int的范围是: -2**63~2**63-1,即-9223372036854775808~9223372036854775807
  20. 目前这些数字已经够你用了吧. 注意这些是整数.
  21. - 整型

num1 = 2 num2 = 3 print(num1 + num2)

结果: 5

整型就和我们学的数学一样可以进行加减乘除

  1. <a name="cc4dd1da"></a>
  2. #### 字符串
  3. str是字符串也就是我们从小就接触的中文,如果我们在程序中直接把中文写入,程序是不能分辨这是个什么鬼东西.所以我们要遵循一种规则让计算机能够识别,这个规则就是只要是用引号引起来就是字符串
  4. 在Python中,凡是用引号引起来的,全是字符 .
  5. 字符 可以用单引号,双引号,或者三引号引起来,没有什么区别,只是一些特殊的格式需要不用的引号 比如:

msg = “My name is barry , I’m 22 years old!” 这个就需要单双引号配合。 msg =””” 今天我想写首小诗,

来歌颂我的同桌,

你看他那乌黑的短发,

好像一只炸毛鸡。

“””

想写多个内容还需要使用换行的时候,就需要三引号。

  1. 数字类型可以做运算,字符串可以吗??
  2. - 字符串加法

字符串的拼接

s1 = ‘a’ s2 = ‘bc’ print(s1 + s2)

  1. - 字符串乘法

strint name = ‘坚强’ print(name8)

  1. <a name="06e1ad91"></a>
  2. #### 布尔值
  3. bool是布尔值,布尔值中一共分为俩个状态
  4. True 就是真
  5. False 就是假
  6. python里 True用数字 1 表示,False用数字 0 表示
  7. 非0 非空即真(空格不是空,这里的0是指数字)
  8. 例如我们想让计算机帮我们计算一下两个数的比较大小

print(3>7)

结果: False

print(7>3)

结果: True

  1. 我们现在简单的认识了这三个基础数据类型,接下来我们学习一下一个经常接触的功能:用户输入。
  2. <a name="e47d59b1"></a>
  3. ## 输入
  4. 咱们在登录一些网页和QQ的时候是不是常常会让咱们输入账户或者密码的情况,
  5. 这样的情况在程序中会大量的存在,接下来咱们自己实现一个登录时候要输入的功能

s = input(‘请输入你喜欢的东西’)

  1. input就是固定格式,他是输入的意思 括号里边的内容是提示是给用户看的提示语句,用户输入的内容让input接收了然后赋值给了字符串s
  2. <a name="5d6d07df"></a>
  3. #### 输入用户名

!/usr/bin/env python

-- coding:utf-8 --

将用户输入的内容赋值给name变量

python2的写法 name = raw_input(“请输入用户名:”) print name

python3的写法 name = input(“请输入用户名:”) print(name)

  1. 需要注意的是input程序交互获取到的内容都是字符串,我们看下面的简单示例:

num = input(‘请输入数字:’) print(num + 5)

结果: 请输入数字:6 Traceback (most recent call last): File “D:/python_object/test.py”, line 350, in print(num + 5) TypeError: must be str, not int

  1. 报错了,提示我们类型错误,数字和字符串是不能相加的.可是我们输入的明明是数字啊.其实我们看着输入的是<br />数字,但是input获取到的都是字符串
  2. 这个知识点用在哪里?
  3. 在工作中如果需要用户输入一些个人信息比如账号,密码,性别,爱好等,即是你需要将你输入的信息传递给程序当中,那么就需要用到用户交互input
  4. **注意**

在Python2 中使用raw_input 获取的都是字符串 在Python3 中使用input 获取的都是字符串

  1. <a name="1c0590ec"></a>
  2. #### 课上练习:
  3. 让学生输入姓名,性别,年龄,最后以这样的形式打印出来。
  4. ‘我叫:xxx 性别:x 今年:xx岁’

name = input(‘请输入姓名:’) age = input(‘请输入年龄:’) sex = input(‘请输入性别’) print(‘我叫:’+name+’姓名:’+age+’年龄’+sex)

  1. <a name="870a51ba"></a>
  2. ## 函数
  3. 如何计算2的8次方呢?

In [45]: 2 ** 8
Out[45]: 256

  1. 但是我们也可以这样做

In [46]: pow(2,8)
Out[46]: 256

  1. 这个pow()就是函数。函数犹如小型程序,可用来执行特定的操作。Python提供了很多函数,可用来完成很多神奇的任务。实际上,你也可以自己编写函数,因此我们通常将pow等标准函数称为内置函数。
  2. 常用的几个简单小函数
  3. - print() 输出
  4. - input() 输入,输入数据的类型为字符串
  5. - bin() 0b
  6. - oct() 0o
  7. - hex() 0x
  8. - int() 将一个对象转变成整型
  9. - float() 将一个对象转变成浮点型
  10. - type() 查看对象数据类型
  11. - id() 查看对象的id(和内存位置相关,内存地址不变则id值不变)
  12. - bool() 求一个对象的布尔值 (非空非0True
  13. <a name="fac54c34"></a>
  14. ## 模块
  15. 可将模块视为扩展,通过将其导入可以扩展Python功能。

In [1]: import os #导入模块os
In [2]: os.system(‘mkdir /root/test_python’) #使用其功能 ```