Python学习笔记20191016

学习笔记

  • 1-Python语法基础
    • 1.变量
      • 1.1.变量声明三种格式
      • 1.2.变量类型
        • 1.2.1.数字 number
          • 1.2.1.1.整数
          • 1.2.1.2.浮点数
          • 1.2.1.3.科学计数法
          • 1.2.1.4复数
          • 1.2.1.5布尔值
        • 1.2.2.字符串
        • 1.2.3.None类型
    • 2.表达式
      • 2.1.运算符
        • 2.1.1.算数运算符
        • 2.1.2.比较运算符
        • 2.1.3.赋值运算符
        • 2.1.4.逻辑运算符
        • 2.1.5.成员运算符
        • 2.1.6.身份运算符
        • 2.1.7.运算符优先级问题
      • 2.2.程序结构
        • 2.2.1.分支结构
          • 2.2.1.1.双向分支
          • 2.2.1.2.多路分支
        • 2.2.2.循环结构
          • 2.2.2.1.for循环
          • 2.2.2.2.while循环
          • 2.2.2.3.break,continue,pass
    • 3.函数
      • 3.1.函数的定义
      • 3.2.函数的参数和返回值
      • 3.3.range函数

1-Python语法基础

1.变量

  • 变量命名的规则

    • 变量命名可以包含数字大小写字母下划线或者更多,但是我们不推荐除了前三种内容以外的的符号
    • 不可以数字开头
    • 4man,5for 是不可以的
    • man4,for5 是可以的
  • 一般在Python中,以下划线开头的内容具有特殊含义,不建议使用

    • 比如_age,_name,理论是可以的,但是强烈不推荐,包括但不限于一个下划线开头和两个连续下划线开头
    • 大小写不一样,俗称大小写敏感
      • ForMan 和 forman 不是一个变量名称
  • 推荐命名格式:

    • 使用具有固定含义的英文单词或者缩写,srv = server skt = socket,一般以posix命名规则为主
    • 驼峰命名法
      • 名称以单词自动连接,且每个单词首字母大写
        • 大驼峰,每个单词第一个字母均大写

        • 在python中给命名使用此法

          • MyFirstLove,IntOne
        • 小驼峰,类似大驼峰,但第一个字母小写

          • 在Python中一般给普通变量或者函数命名
          • myFirstLove,intOne
        • posix写法

          • 多个单词用下划线连接
          • 单词全部小写
          • my_first_love,int_one
  • 保留字和关键字

    • 变量命名必须避开,不能跟关键字和保留字重复
    • class,def,break,for
  • 查看关键字方法

#查看关键字方法
import keyword # 引入关键字模块
print(keyword.kwlist) # 打印出系统关键字

[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘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.1.变量声明三种格式

  • 格式1:var_name = var_value
  • 格式2:var1 = var2 = var3 = var_value
  • 格式3:var1,var2,var3 = v1,v2,v3
> python中赋值就是定义,定义就是赋值
> 定义变量age,18放入变量age中

age = 18 
print(age)
print(18)

> 给age1,age2,age3 放入同样一个内容或值
age1 = age2 = age3 = 18
print(age1)
print(age2)
print(age3)

> 一行内给多个变量赋值
age4,age5,age6 = 12, 21, 34
print(age4)
print(age5)
print(age6)

1.2.变量类型

  • 严格意义上,Python只有一个类型
  • 标准数据类型 六种
    • 数字 number
    • 字符串类型 str
    • 列表 list
    • 元组 tuple
    • 字典 dict
    • 集合 set

1.2.1.数字 number

  • Python中的数字没有大小限制
  • 常见数字分类
    • 整数
    • 浮点数
    • 科学计算法
    • 复数
1.2.1.1.整数
  • 二进制
    - Python中以 0b 开头
    - 由0,1组成
  • 八进制
    - Python中以 0o 开头
    - 由0-7数字组成
  • 十六进制
    - Python中以0x开头
    - 由0-9,a-f组成

Python学习笔记20191016_第1张图片

1.2.1.2.浮点数
  • 通俗意义上的小数量
  • 常见的案例
	- 3.164
   	- 3.  	
   	- 0.4
   	- .4
1.2.1.3.科学计数法
  • 科学记数法是一种记数的方法。把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,n为整数)
  • 写法:e后面跟整数用来表示10的指数
  • 案例
    • i = 184
    • h = 1.84e2
    • i = h
1.2.1.4复数
  • 我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。当z的虚部等于零时,常称z为实数;当z的虚部不等于零时,实部等于零时,常称z为纯虚数。
  • 复数的虚部用 j/J 表示
  • 案例
    • 5+4j
    • 4j
    • (4j)
1.2.1.5布尔值
  • 布尔值就是用来表示真假的值
  • 只有两个值: True/False
  • 在Python中,布尔值可以当数字使用
    • True = 1,False = 0
    • 如果数字用来当做布尔值使用,0 = False,其余当做True
      在这里插入图片描述

1.2.2.字符串

  • 表达文字信息的内容,比如“我爱你祖国”
  • 形式上是引号引起的一段内容
  • 引号包括
    • 单引号
    • 双引号
    • 三引号(表达多行信息)
  • 单双引号在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串。但是双引号可以减少转义字符的使用,使程序简洁,清晰
  • 案例
    Python学习笔记20191016_第2张图片
    Python学习笔记20191016_第3张图片

1.2.3.None类型

  • 表示没有,通常用来占位
  • 比如返回,用来表示返还一个空

2.表达式

  • 由一个或者几个数字或者变量或者运算符组成的第一行代码
  • 通常返回一个结果

2.1.运算符

  • 由一个以上的值经过一系列的运算得到新值的过程叫运算
  • 用来操作运算的符号叫运算符
  • 运算符分类
    • 算数运算符
    • 比较或者关系运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算
    • 成员运算符
    • 身份运算符

2.1.1.算数运算符

  • 用来进行算数运算的符号
  • 通常用来表示加减乘除
  • Python没有自增自减运算符

算数运算符案例

  • 加减乘除基本一致

除法有三种:普通除法,地板除法,取余除法

  • 普通: a = 9 / 2
  • 地板(取整): a = 9 // 2
  • 取余: a = 9 % 2

两个乘号是指数

  • a = 7 ** 10 (a等于7的10次方)

2.1.2.比较运算符

  • 对两个内容进行比较的运算符
  • 结果一定是布尔值,即 True/False

等于 ==
不等于 !=
大于 >
大于等于 >=
小于 <
小于等于 <=

2.1.3.赋值运算符

  • 把一个值放到变量里面去

赋值符号 = (优先级最低)

  • a = 9

复杂赋值

  • a = b = 9
  • a,b = 1,2

赋值的缩写

  • cc = 0
    cc = cc + 3
    print(cc)
  • 缩写
    cc += 3 等于表达式 cc = cc + 3
    print(cc)
  • 所有数学运算符都可以缩写
    -=, *=, /=, //=, %=, **=

Python 中没有 ++,–

2.1.4.逻辑运算符

  • 对布尔类型变量或者值进行运算的符号
  • and : 逻辑与
  • or : 逻辑或
  • not : 逻辑非
  • Python 中的逻辑运算没有异或
  • 运算规则:
    • and看做乘法, or看做加法,
    • True看做1, False看做0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是0则为 False,否则为 True
  • 案例:

a = True
b = false
cc = a and b
print(cc)
false


bb = 100 and a
print(bb)
True

- 布尔值跟数学的转换
- 数字转换成布尔值的时候,0 = False,其余是True
- 布尔值转换成数字的时候:True = 1,False = 0
  • 逻辑运算的短路问题
    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
    • 短路问题案例

a = True
b = True
c = False
aa = a or b and (a and d)
print(aa)
True
这个案例,当计算机执行到"a or b" 的时候就直接返回True,因为a = True ,a 不管加上什么值返回的都是True。

2.1.5.成员运算符

  • 用来检测一个值或者变量是否在某个集合里面
  • in: 成员运算符
  • not in:不在里边的意思
  • 案例

L = [1,2,3,4]
a = 5
aa = a in L
print(aa)
aa = not in L
print(aa)

2.1.6.身份运算符

  • 用来确定两个变量是否是同一变量
  • is: 变量运算符
  • is not:
  • 在Python中对整数N \in [-5,256],解释器对它们做了单独处理,放入了固定内存中,不因你每次运行而变化
  • 案例

a = 1
b = 2
aa = a is b
false

a = 1111111111111111111111111123245
b = 1111111111111111111111111123245
aa = a is b
print(aa)
false
原因a,b仅仅是值一样,不代表 a, b是一个变量

2.1.7.运算符优先级问题

  • 小括号具有最高优先级
  • ** 指数(最高优秀级)
  • ~ + - 按位翻转,一元加号和减号(最后两个的方法名为+@ 和 -@)
  • / % // 乘,除,取模和取整除
  • [* + - ] 加法,减法
  • [ >> << ] 右移,左移运算符(位运算符)
  • [ & ]位’AND’
  • ^,| 位运算符
  • <=, <, >, >= 比较运算符
  • <>, ==, != 等于运算符
  • = ,%= ,/= , //=, -=, +=, *=, **= 赋值运算符
  • is , is not 身份运算符
  • in , not in 成员运算符
  • no , or , and 逻辑运算符

2.2.程序结构

  • 程序三种结构
    • 顺序
    • 循环
    • 分支

2.2.1.分支结构

  • 分支结构基本语法
  if 条件表达式:
  		语句1
  		语句2
  		语句3
  		........
  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达式后面的冒号不能少
  • 注意if后面的出现的语句,如果属于if语句块,则必须同一个缩紧等级
  • 条件表达式结果为True执行if后面的缩进的语句块
a = " "
if a:
	print("有钱")
print("生活")

b = ""
if b:
	print("有钱")
print("继续生活")

字符串的真假:只有空字符串为False,其余全为True

2.2.1.1.双向分支

-if…else…表达
-语法结构:

if 条件表达式:
	语句1
	语句2
	...
else:
	语句1
	语句2
	...
  • 案例:

input的作用
1.在屏幕上输入括号内的字符串
2.接受用户输入的内容并返回到程序
3.input返回的内容一定是字符串类型
4.input负责接受用户输入的内容并返回给变量

案例一:

  • 输入性别
  • 如果性别是男:我们去喝酒
  • 否则:送你回家
gender = input("请输入你的性别:")
if gender == "man":
	print("我们去喝酒")
else:
	print("送你回家")

案例二:

  • 判断考试成绩
  • 90以上:优秀
  • 80-90:良
  • 70-80:中
  • 60-70:平
  • 60以下:不及格
  • score 存放学生成绩
  • 注意input的返回值类型是str
  • 需要把str转换成int
score = input("请输入你的考试成绩:")
score = int(score)
if score >= 90:
	print("优秀")
if score >= 80 and score < 90:
	print("良")
if score >= 70 and score < 80:
	print("中")
if score >= 60 and score < 70:
	print("中")
if score < 60:
	print("不及格")
2.2.1.2.多路分支
  • 很多分支的情况,叫多路分支
if 条件语句:
	语句1...
elif 条件语句:
	语句2
	...
elif 条件语句:
	语句3
	...
else:
	...
	 
  • elif 可以有好多个,根据实际情况
  • else可选(也可以不加)
  • 多路分支最多只会执行一种情况

if 语句补充

  • if语句可以嵌套使用,不推荐
    Python没有switch语句

案例:

  • 判断考试成绩
  • 90以上:优秀
  • 80-90:良
  • 70-80:中
  • 60-70:平
  • 60以下:不及格
score = input("请输入你的考试成绩:")
score = int(score)
if score >= 90:
	print("优秀")
elif score >= 80:
	print("良")
elif score >= 70 :
	print("中")
elif score >= 60 :
	print("中")
else:
    print("不及格")

2.2.2.循环结构

  • 重复执行某一个固定的动作或者任务
  • 分类
    • for
    • while
2.2.2.1.for循环
  • 语法
	for 变量 in 序列:
		语句1
		语句2
		...

案例:
Python学习笔记20191016_第4张图片

Python学习笔记20191016_第5张图片

— for else 语句
- for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
- else语句是可选

2.2.2.2.while循环
  • 表示当条件成立的时候就循环
  • while语法:
    while 条件表达式:
    语句块1
    else:
    语句块2
2.2.2.3.break,continue,pass
  • break:无条件结束整个循环,简称循环猝死
  • continue:继续,立即结束本轮循环,进入下一轮循环
  • pass: 只是占位符

3.函数

  • 函数是代码的一种组织形式
  • 函数应该能完成一项特定的工作,而且一般一个函数值完成一项工作
  • 有些语言,分函数和过程两个概念,通俗解释是:有返回结果的为函数,无返回结果的叫过程,Python无区分
  • 函数的使用
    • 函数使用需要先定义
    • 使用函数,俗称调用

3.1.函数的定义

  • 定义一个函数
  • 只有定义的话是不会执行
  • 方法:
    • def关键字,后跟一个空格
    • 函数名,自己定义,起名需遵循命名规则 ,约定俗成,大驼峰命名只给类用
    • 后面跟括号和冒号,括号内可以有参数
    • 函数内所有代码缩进
def shell():
	print("加油武汉")
	print("加油中国")

3.2.函数的参数和返回值

  • 参数:负责给函数传递一些必要的数据或信息
    • 形参(形式参数):在函数定义的时候用到,没有具体值,只是一个占位符
    • 实参(实际参数):在调用函数时候输入的值
  • 返回值:调用函数时候执行的一个结果
    • 使用return返回结果
    • 如果没有值需要返回,我们推荐使用 return None表示函数结束
    • 函数一旦执行return,则函数立即结束
    • 如果函数没有return关键字,则函数默认返回None

形参和实参案例:
Python学习笔记20191016_第6张图片返回值案例:
Python学习笔记20191016_第7张图片

3.3.range函数

  • 生成有序列数
  • 生成数字队列可以定制
  • range的生成序列是两个数字中,左边包括右边不包括

案例:
生成一个1-100的数字序列

dig_list = range(1,101)

案例:使用range函数打印九九乘法表
Python学习笔记20191016_第8张图片

  • 定义并使用函数嵌套完成打印九九乘法表
def printLine(line_num):
    '''
    line_num代表行号
    打印一行数字
    '''
    for o in range(1,line_num + 1):
        print(o * line_num , end="  ")
    print()
    return None

def jiujiu():
    for i in range(1,10):
        printLine(i)
    print()
    return None

你可能感兴趣的:(Python初学,Python学习个人笔记)