“滴滴滴”,上路咯

  • Python基本的“生存技能”
    • 1.几个概念
      • 1.1 表达式
      • 1.2 语句
    • 1.3程序(program)
    • 1.4函数(function)
  • 2. 标识符
    • 2.1 关键字
    • 2.2 标识符概念
      • 2.2.1
      • 2.2.2 命名方式
  • 3. 基本数据类型
    • 3.1 整数和小数
    • 3.2 布尔值和空值
  • 4 字符串
    • 4.1 什么是字符串
    • 4.2 转义字符
    • 4.3 长字符串
    • 4.4 格式化字符串
      • 第一种格式化字符串 拼串
      • 第二种格式化字符串 参数传递
      • 第三种格式化字符串 占位符
      • 第四种格式化字符串 f'{变量}'/ str.format
    • 4.5 字符串的其他操作
  • 5. 变量
    • 5.1 变量的概念?
    • 5.2变量的运算
  • 6.运算符
    • 1.1 概念
    • 1.2 分 类
      • 1)算术运算符
      • 2)赋值运算符
      • 3) 比较运算符
      • 4)逻辑运算符
      • 5)非布尔值的与或运算
      • 6)三目运算符
      • 7)位运算符
      • 8)成员运算符
      • 9)身份运算符
    • 1.3运算符的优先级

Python基本的“生存技能”

  • python语言的基础组成

                     1)关键字2)标识符3)注释4)变量和数值5)运算符6)语句7)函数8)序列
    

1.几个概念

1.1 表达式

  • 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合(说白了,和数学里面的表达式一样)
  • 表达式特点:
    • 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
    • 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
print(1+1)#这里的1+1就是表达式

1.2 语句

  • 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
    (就是为了完成一些功能)

1.3程序(program)

  • 程序就是由一条一条的语句和一条一条的表达式构成的。

(上次写的就是一个最简单的程序)

a='Hello World'
print(a)

1.4函数(function)

  • 函数就是一种语句,函数专门用来完成特定的功能
  • 函数长的形如:函数名()
    ()内是函数的参数,多个参数用逗号隔开

函数名()
~~~~
返回值

  • 函数的2个要素
    • 参数
    • 返回值

  • 函数的分类:
    • 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。(就是系统自带的)
    • 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数(程序员自己写的)

2. 标识符

  • Python语法是固定的,得一个标志让人认识

2.1 关键字

  • python一些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
  • 查看有什么关键字:
import keyword
a=keyword.kwlist
print(a)

2.2 标识符概念

2.2.1

  • 开发人员在程序中自定义一些符号和名称。标识符是自己定义的,如变量名 、函数名等
    (注意和关键字相互区别)
  • 组成:由26个英文字母大小写,数字 0-9 符号 _$
  • 标识符的规则:
    • 1.标识符中可以包含字母、数字、_,但是不能使用数字开头
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020040917112110
  • List item

4.png#pic_center)
• 2.Python中不能使用关键字和保留字来作为标识符

2.2.2 命名方式

  • 驼峰命名法
    • 小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
    • 大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
  • 下划线命名法
    • 不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 get_url buffer_size

3. 基本数据类型

  • 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值

3.1 整数和小数

  • 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
  • 小数常量 : 所有小数 例如 a = 1.2 b=6.66 用float类型表示
  • 注意:浮点型运算会有不精准的结果,但是这个结果无限接近于答案:误差为2的53次方分之一

3.2 布尔值和空值

  • 布尔(bool): 只有2个值一个是True 一个是False
    (T=1,F=0)
  • None常量:只有一个数值就是None 也就是空值

4 字符串

4.1 什么是字符串

  • 字符串是由数字、字母、下划线组成的一串字符
  • 注意:
    • 单引号和双引号不能混合使用
    • Python中用一对双引号或者一对单引号包裹的内容就是字符串

“XXX”、‘XXX’ :包裹的内容就是字符串
当单/双引号里面包含一个引号时:
'what’s up’此时会报错
有两种解决方式:
“what’s up”
'what’s up’用转义字符

4.2 转义字符

  • 转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
  • 大概有这样几种:
    \t 表示制表符
    \n 表示换行符
    \\ 表示反斜杠
    \’ 表示 ’
    \ ‘’ 表示 ‘’

当你要开始写一个盘目录:
写’C:\news’会换行
两种解决办法:
‘C:\\news’
r’C:\news’原始字符串:r’字符串’表示里面就是单纯的字符串

4.3 长字符串

  • 长字符串 又叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’
  • 三重引号可以换行,并且会保留字符串中的格式

4.4 格式化字符串

第一种格式化字符串 拼串

s='hello'
print('s='+s)

第二种格式化字符串 参数传递

s='hello'
print('s=',s)

第三种格式化字符串 占位符

  • %s 字符串占位
  • %f 浮点数占位
  • %d 整数占位
'I Love %s' %'study'#(老是这样子写很麻烦)a='I Love %s'
a %'study'#这样子只需要变量后面的东西s='s1=%s,s2=%s' %('1','2')#有几个%s,后面的数量必须一致(有几个占位,就要几个值)

第四种格式化字符串 f’{变量}’/ str.format

  • str.format() python2.6后才有
s='i like {a}'#{}里面写变量名,也可以不写,或者直接写从0开始的数字`
s='i like {}'
s='i like {0},{1}'s1='super'
s2='lalala'
a = f'hello {s1},{s2}'#此处的f不是关键字,是固定语法s='i like {a}'
a=s.format('jack')#会报错,因此应当改为:s='i like {不填或者0}'
a=s.format('jack')#这样子就可以通过
  • 注意:
  • 什么时候用 f’{},{}’:
  • 什么时候用format()看下面的例子
d ='a今年%d岁,%s更大'%(22,'b')
print(d)w='a今年{0}岁,{1}更大'#str.format():先写语句,后面format()写要的东西
w.format(22,'b')
print(w)a =22 #f'{},{}':前面需要提前说明需要的东西
b ='b'
s=f'a今年{a}岁,{b}更大'
print(s)
  • 如果还没有理解以上四种方式,不要慌,试试做一下小面的小练习:
  • 用四种方式进行格式化:666 某某某 不见不散

beauty = ‘女神’
print(‘666’+beauty+‘不见不散’)#拼串
print(666,beauty,‘不见不散’)#传参
print(‘666%s不见不散’ %beauty)
print(f’666{beauty}不见不散’)

4.5 字符串的其他操作

  • len() 字符串的长度
a='qwertyu'
print(len(a))
  • max() 最大值
  • min() 最小值
a='qwertyu'
print(max(a))
print(min(a))
  • split()分割字符串 ,返回一个列表
a='I Love You'
print(a.split(' '))
  • join()拼接字符串
a='abc'
print('-'.join(a))
  • 去空格
    • s.strip() 左右两边去空格
    • s.lstrip() 去左边空格
    • s.rstrip() 去右边空格
a=' 123 '
print(a)
print(a.strip())
print(a.lstrip())
print(a.rstrip())
  • 字符串大小写
    • s.upper() 全部大写
    • s.lower() 全部消息
    • s.isupper() 判断是不是大写
    • s.islower() 判断是不是小写

5. 变量

5.1 变量的概念?

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
  • 变量命名规则
    • 变量名由字母、数字、下划线组成要符合标识符的命名规范
    • 数字不能开头
    • 不能使用关键字
  • 注意 : 是两个对象相等和两个对象是同一个对象是两个概念
  • 对象三要素:id、type、value
    看下面这个例子:
s1={'tom':'jerry'}
import copy
s2=copy.deepcopy(s1)
print(s2)
s1==s2#看这两个对象的值相不相等
print(id(s1),id(s2))#但不是同一个对象

5.2变量的运算

  • 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型

6.运算符

1.1 概念

  • 简单来说,就是数学中的运算符号

1.2 分 类

1)算术运算符

  • +、-、*、/、//(整除:只保留整数位)、%(取余数、取模)
  • ** 幂运算:求一个值的n次幂——2**3:2的3次幂 25**0.5:开平方)

    注意:
    1 /计算结果是浮点数,即使两个数都是整数,结果也是浮点数
    2 //只取整数部分,余数被抛弃
    3 %余数运算,可以得到两个整数相除的余数
    4 如果想同时得到商和余数,可以用divmod()这个方法,该方法的返回值是tuple (x//y, x%y)
a=divomd(10,3)
print (a)

5 因为浮点数精度的问题,Python还存在一些计算方面的小问题。要解决这个问题,可以导入decimal模块

from decimal import Decimal
Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')
Decimal('0.0')

2)赋值运算符

  • x = n 把右边的值给左边的变量
  • x +=/-= n x = x+/-n
  • 注意:
  • python不支持a++语法
  • 注意+=不能拆开写 + =

3) 比较运算符

  • 输出布尔值:返回值为True 或者 False
  • 字符串的比较方式是对位比较:字符串比较时先看第一个字符的ASCII码,相等则依次比较,不相等直接得到结果
  • is/is not都是比较id是否一样,一样就是同一个对象
  • 注意is和==的区别:
  • is 是判断两个变量是不是同一个对象
    == 是判断两个变量的值相不相等(int与str不能直接比较)
  • 注意:
  • != <>不等于:python3中(python3中<>已弃用)
  • 连续比较,python的解释机制
>>> 3 > 2 > 1   # 3 > 2 and 2 > 1
True
>>> 3 > 2 > 2   # 3 > 2 and 2 > 2
False
>>> (3 > 2) > 1 # True and True > 1
False

4)逻辑运算符

  • 用来逻辑判断,先把非布尔值变成布尔值:非0就是Ture,0,空串就是False
  • not 逻辑非
a=1
a=not a
print(a)
  • and 逻辑与 : 全是Ture才返回Ture,第一个错了就不再进行后面的东西了(找False)
a = Ture and Ture  #T,两边都是Ture,返回第二个Ture
a = Ture and False #F
a = False and False #F
  • or 逻辑或 :有一个Ture就返回Ture,找Ture,一个对了就不进行其他的了
a = Ture or Ture  #T
a = Ture or False #T
a = False or False #F
  • 注意:短路(懒惰)原则
False and True   # 懒惰,当and运算符时,遇到第一个为False则不会往后了
True or False    # 懒惰,当or运算符时,遇到第一个为True则不会往后了

5)非布尔值的与或运算

  • 把非布尔值变成布尔值,再进行运算,但是返回原值
a= 1 and 2
print(a) #输出原值2,两边都是Ture,返回第二个Turea = 1 or 2
print(a) #输出原值2 找到第一个ture就返回,两个False返回第二个False的原值

6)三目运算符

  • 也叫条件运算符
  • 语句1 if 表达式 else 语句2:表达式为T执行语句1,else语句2,(不是if~else语句)
a = input("a = ")
print(>) if a>3 else print(<)
  • 一个小练习:判断abc三个值的最大值
a=input ('a=')
b=input ('b=')
c=input ('c=')
print(a)  if a>=b and a>=c else print(b) if b>=a and b>=c else print(c)

7)位运算符

  • 按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

8)成员运算符

  • in 与 not in是Python独有的运算符(全部都是小写字母),用于判断对象是否某个集合的元素之一,非常好用,并且运行速度很快。返回的结果是布尔值类型的True或者False。

    一个小练习:判断a是否在list1列表中
list1 = [1, 2, 3, 4, 5]
a = 1for i in list1:if i == a:print("a在list1中")else:print('a不在list1中')flag = False
for i in list1:if i == a:flag = Truebreak
if flag:print("a是list1的元素之一")
else:print("a不是list1的元素")# 如果用in运算符来做的话,就不用这么麻烦了
list1 = [1, 2, 3, 4, 5]
a = 1
if a in list1:print("a是list1的元素之一")
else:print("a不是list1的元素")

9)身份运算符

  • 这也是Python的特色语法(全部都是小写字母)。
  • 注意is与比较运算符**的区别,两者有根本上的区别,切记不可混用:
    is用于判断两个变量的引用是否为同一个对象(可使用id()查看),而用于判断变量引用的对象的值是否相等!
>>> a = [1,2,3]
>>> b = [1,2,3]
>>> a is b
False
>>> a == b
True>>> a = 2
>>> b = 2.0 # 可通过id()查看内存地址
>>> a is b
False
>>> a == b
True

1.3运算符的优先级

  • 下表列出了从最高到最低优先级的所有运算符。优先级高的运算符优先计算或处理,同级别的按从左往右的顺序计算(赋值运算符除外,它是按从右往左的顺序)

旅途——Python基本的“生存技能”相关推荐

  1. 旅途——Python流程控制

    流程控制 1 顺序执行 2 条件判断 if 语句 if语句的一般形式 一个简单例子 if -- else -- 语句 if -- else -- 语句的一般形式 举个例子 if -- elif -- ...

  2. Python旅途休憩——闭包

    我要深刻反思一下,为什么最近几期的blog显得有一点点水而且风格诡谲了 都怪我找的那个Python网课,只开车不好好讲课! 所以深夜加班,重点谈一谈这个非常重要的内容--闭包 (尝试通过这次的讲解把P ...

  3. 【python教程入门学习】Django应用开发框架的优点和缺点!!

    Python是2020年第三大最受欢迎的编程语言.它是一种功能强大的,动态的,语法简化的编程语言,用于高级Web应用程序开发和机器学习应用程序.而且,如果您了解Python,那么您可能听说过Djang ...

  4. 独家 | Python处理海量数据集的三种方法

    作者:Georgia Deaconu 翻译:陈超 校对:欧阳锦本文约1200字,建议阅读5分钟 本文介绍了Python处理数据集的方法. 作为一名数据科学家,我发现自己处理"大数据" ...

  5. 独家 | Python时间序列分析:一项基于案例的全面指南

    作者: Selva Prabhakaran 翻译:陈超校对:王可汗本文约7500字,建议阅读20+分钟本文介绍了时间序列的定义.特征并结合实例给出了时间序列在Python中评价指标和方法. 时间序列是 ...

  6. 独家 | 层级聚类和Python实现的初学者指南(附链接)

    作者:Pulkit Sharma 翻译:陈超 校对:吴振东 本文约4700字,建议阅读15分钟 本文从对比无监督学习和监督学习的特征切入,结合具体的案例来给大家介绍层级聚类的概念.应用场景.主要类型以 ...

  7. 独家 | 在Python编程面试前需要学会的10个算法(附代码)

    作者:AnBento 翻译:陈超 校对:陈丹 本文长度为3300字,建议阅读10+分钟 本文为大家介绍了最近在Python编程面试中反复出现的10个基础算法问题,并且给出了相应的解答过程. Photo ...

  8. 机器学习算法清单!附Python和R代码

    来源:数据与算法之美 本文约6000字,建议阅读8分钟. 通过本文为大家介绍了3种机器学习算法方式以及10种机器学习算法的清单,学起来吧~ 前言 谷歌董事长施密特曾说过:虽然谷歌的无人驾驶汽车和机器人 ...

  9. python退出帮助系统help应该使用exit_简明Python3教程 5.第一步

    介绍 我们现在来看看如何在Python中运行传统的"Hello world"程序.这会教你如何写.保存以及运行Python程序. 有两种办法来运行您的Python程序--使用交互式 ...

最新文章

  1. 8E1转10M/100M以太网===协转
  2. 怎样学好网络(1)-正确的定位
  3. webbench 代码阅读
  4. Hello Blazor:(2)集成Tailwind CSS续——nuget包方式
  5. [转载] python迭代器、生成器和装饰器
  6. EhCache缓存学习
  7. 《健康报》携手健康之路帮助医院医生免费搭建微官网
  8. 分布式-图片上传到Lgnix
  9. 设计模式之————依赖注入(Dependency Injection)与控制反转(Inversion of Controller)...
  10. 如何冻结excel表格前二列
  11. 谷歌翻译失效,解决网页谷歌翻译的问题-只能解决页面翻译
  12. 【C语言打印三角形】
  13. 260,我要满血复活了。
  14. 闲的没事,自己动手修改上兴3.2源代码(2)
  15. PhysX Setup
  16. mysql identity属性_Mysql中Identity 详细介绍
  17. PHP开发基础(一)
  18. flutter微信登录与支付(二)
  19. python打字_使用Python编写打字训练小程序
  20. 显示器几种常见的接口

热门文章

  1. 技术分享 | OpenVINO及EdgeX摄像头管理和推理平台
  2. 怎么把PDF转换成Excel文件?分享两种简单好用的转换方法
  3. 计算机平面设计必学英语,平面设计师常用的11款英文字体打包
  4. 马士兵java ppt_[马士兵JAVA教程课件.ppt
  5. IPTV直播和实时互动直播是一回事吗?
  6. SpringBoot 如何进行参数校验,老鸟们都这么玩的!
  7. Deep Supervision:深度监督(2014)+DHM
  8. 「浏览器书签」与「笔记类工具」在信息管理中的定位
  9. javaWeb基础一:JDBC (java操作数据库的技术)
  10. 编程匠艺:编写卓越的代码(第二版