本文是第一篇,一共四篇打下Python基础

「@Author:Runsen」

「@Date:Writern By 2019/04/15 and supplied By 2020/3/31」

「@公众号:Python之王」

为了照顾小白,我把之前的博客上的Python基础分享过来。好像是18年的时候,大一时候的东西。

一共四篇,声明下:「Python的入门难度为0,比Java,C++根本不能比,你会英语基本没问题」。

本文是第一篇

1、基本概念

1.1 四种类型

python中数有四种类型:整数、长整数、浮点数和复数。整数, 如 1

长整数 是比较大的整数

浮点数 如 1.23、3E-2

复数 如 1 + 2j、 1.1 + 2.2j

1.2 字符串

字符串(字符的序列)python中单引号和双引号使用完全相同。

使用三引号('''或""")可以指定一个多行字符串。

转义符 '\'

自然字符串, 通过在字符串前加r或R。 如r"this is a line with \n" 则\n会显示,并不是换行。

python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。

字符串是不可变的。

按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

1.3 标识符的命名

标识符的命名第一个字符必须是字母表中字母或下划线'_'。

标识符的其他的部分有字母、数字和下划线组成。

标识符对大小写敏感。

1.4 对象

python程序中用到的任何“东西”都成为“对象”。

1.5 逻辑行和物理行物理行:就是程序员所写代码的所在行。

逻辑行:是指源代码经过预编译后,代码所在的那一行。

Python假定每个物理行都对应着一个逻辑行。例如:print( "Hello World" ) 就是一个物理行,Python希望每行只有一个语句,因为这样看起来更加易读。

如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(; )来特别地标明这种用法。分号表示一个逻辑行/语句的结束。

例如:

count = 5

print ( "count" )

与下面的语句等同:

count = 5;

print ( "count" );

当然也可以写成下面这种:

count = 5 ; print ( "count" );

甚至可以写成这样:

count = 5 ; print ( "count" )

我们使用\的换行

print \

("Runsen")

1.6 缩进

空白在python是非常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句。

2、运算符与表达式

2.1 运算符与其用法

2.2 运算符优先级

.运算符优先级(从低到高)

2.3 输出

python 控制台输出 使用print

print ("abc"  )  #打印abc并换行

print ("abc%s" % "d"  )  #打印abcd

print ("abc%sef%s" % ("d", "g")  )  #打印abcdefg

3、控制流

3.1 if 语句

i = 10

n = int(input("enter a number:"))

if n == i:

print( "equal")

elif n

print( "lower")

else:

print ("higher")

3.2 while语句

while True:

pass

else:

pass

#else语句可选,当while为False时,else语句被执行。 pass是空语句。

for 循环 for..in

for i in range(0, 5):

print (i)

else:

pass

# 打印0到4

注:当for循环结束后执行else语句;range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);

3.3 break语句

终止循环语句,如果从for或while中终止,任何对应循环的else将不执行。

3.4 continue语句

continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。

下面就是 break 和 continue 主要的 区别:break:跳出整个循环

continue:跳出本次循环,继续执行下一次循环

希望大家牢记。

4、函数

函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。

def sumOf(a, b):

return a + b

4.1  函数形参

函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’

4.2 局部变量

在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。

global语句, 为定义在函数外的变量赋值时使用global语句。

def func():

global x

print( "x is ", x)

x = 1

x = 3

func()

print(x)

#3

#1

4.3 默认参数

通过使用默认参数可以使函数的一些参数是‘可选的’。

def say(msg, times =  1):

print(msg * times)

say("Runsen")

say("Runsen", 3)

注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。

4.4 关键参数

如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。

优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=2, c=3):

print ("a is %s, b is %s, c is %s") % (a, b, c)

func(1) #a is 1, b is 2, c is 3

func(1, 5) #a is 1, b is 5, c is 3

func(1, c = 10) #a is 1, b is 2, c is 10

func(c = 20, a = 30) #a is 30, b is 2, c is 20

4.5 return 语句

return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。

没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型。

4.5  文档字符串

__doc__   (文档字符串)

def func():

'''This is self-defined function

Do nothing

'''

pass

print(func.__doc__)

#This is self-defined function

#

#Do nothing

5、模块

模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’(import)以便利用它的功能。

在python程序中导入其他模块使用'import', 所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串''即当前目录,所以程序中可导入当前目录的模块。

5.1 字节编译的.pyc文件

导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。

pyc是一种二进制文件,是py文件经编译后产生的一种byte code,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于

java或.net虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。

5.2  from .. import

如果想直接使用其他模块的变量或其他,而不加'模块名+.'前缀,可以使用from .. import。

例如想直接使用sys的argv,from sys import argv 或 from sys import *

5.3 模块的__name__

每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户

(4)  dir()函数dir(sys)返回sys模块的名称列表;如果不提供参数,即dir(),则返回当前模块中定义名称列表。

(5)  del

del -> 删除一个变量/名称,del之后,该变量就不能再使用。

6、数据结构

python有三种内建的数据结构:列表、元组和字典。

6.1 列表

list是处理一组有序项目的数据结构,列表是可变的数据结构。列表的项目包含在方括号[]中,

eg: [1, 2, 3], 空列表[]。判断列表中是否包含某项可以使用in,

比如 l = [1, 2, 3]; print 1 in l; #True;

支持索引和切片操作;索引时若超出范围,则IndexError;

使用函数len()查看长度;使用del可以删除列表中的项,eg: del l[0] # 如果超出范围,则IndexError

list函数如下:

append(value)  ---向列表尾添加项value

l = [1, 2, 2]

l.append(3) #[1, 2, 2, 3]

count(value)  ---返回列表中值为value的项的个数

l = [1, 2, 2]

print( l.count(2)) # 2

extend(list2)  ---向列表尾添加列表list2

l = [1, 2, 2]

l1 = [10, 20]

l.extend(l1)

print (l )  #[1, 2, 2, 10, 20]

index(value, [start, [stop]])  ---返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError

l = [1, 2, 2]

a = 4

try:

print( l.index(a))

except ValueError, ve:

print( "there is no %d in list" % a

insert(i, value))  ---向列表i位置插入项vlaue,如果没有i,则添加到列表尾部

l = [1, 2, 2]

l.insert(1, 100)

print l #[1, 100, 2, 2]

l.insert(100, 1000)

print l #[1, 100, 2, 2, 1000]

pop([i])  ---返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常IndexError

l = [0, 1, 2, 3, 4, 5]

print( l.pop()) # 5

print( l) #[0, 1, 2, 3, 4]

print( l.pop(1)) #1

print( l) #[0, 2, 3, 4]

try:

l.pop(100)

except IndexError, ie:

print( "index out of range")

remove(value)  ---删除列表中第一次出现的value,如果列表中没有vlaue,则异常ValueError

l = [1, 2, 3, 1, 2, 3]

l.remove(2)

print (l )#[1, 3, 1, 2, 3]

try:

l.remove(10)

except ValueError, ve:

print ("there is no 10 in list")

reverse()  ---列表反转

l = [1, 2, 3]

l.reverse()

print (l) #[3, 2, 1]

sort(cmp=None, key=None, reverse=False)  ---列表排序

l5 = [10, 5, 20, 1, 30]

l5.sort()

print( l5) #[1, 5, 10, 20, 30]

l6 = ["bcd", "abc", "cde", "bbb"]

l6.sort(cmp = lambda s1, s2: cmp(s1[0],s2[1]))

print( l6) #['abc', 'bbb', 'bcd', 'cde']

l7 = ["bcd", "abc", "cde", "bbb", "faf"]

l7.sort(key = lambda s: s[1])

print (l7) #['faf', 'abc', 'bbb', 'bcd', 'cde']❝

本文已收录 GitHub,传送门~ ,里面更有大厂面试完整考点,欢迎 Star。❞

python基础教程怎么看_八、给小白看的第一篇Python基础教程相关推荐

  1. sip 时序图_时序图怎么看_教你如何看懂时序图 - 什么是时序图_时序图怎么看_教你如何看懂时序图...

    时序图怎么看_教你如何看懂时序图 操作时序永远使用是任何一片IC芯片的最主要的内容.一个芯片的所有使用细节都会在它的官方器件手册上包含.所以使用一个器件事情,要充分做好的第一件事就是要把它的器件手册上 ...

  2. Android 系统(243)---Android进程系列第一篇---进程基础

    Android进程系列第一篇---进程基础 内容预览.png 概述: 本文主要讲解进程基础,更深入的认识有血有肉的进程,内容涉及进程控制块,信号,进程FD泄露等等.仅供参考,欢迎指正. 一.从Linu ...

  3. vue 单相绑定_Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)...

    Vuejs第一篇之入门教程详解(单向绑定.双向绑定.列表渲染.响应函数) 2018-12-30 什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素 ...

  4. 2021消防工程师 第一篇 消防基础知识 1.燃烧

    第一篇 消防基础知识 第一章 燃烧 总体框架:燃烧.火.火灾.爆炸.易燃易爆品 第一节 燃烧的本质与条件 燃烧本质:可燃物.氧化剂作用发生的放热反应,伴有火焰.发光或发烟现象 过程:白炽固体粒子和不稳 ...

  5. 八、给小白看的第一篇Python基础教程

    本文是第一篇,一共四篇打下Python基础 @Author:Runsen @Date:Writern By 2019/04/15 and supplied By 2020/3/31 @公众号:Pyth ...

  6. python软件如何安装方法_【新手必看】Python软件下载及安装教程

    原标题:[新手必看]Python软件下载及安装教程 Python下载:免费开源 官网地址:https://www.python.org/downloads/ 下载对应版本Python:python-3 ...

  7. python输入年月日输出年月日_新手学习必看的0基础入门Python与python的输入输出...

    我平常使用的编程语言主要是Fortran和Python,用于做数值计算,两种语言各具优势,Fortran更快,Python写起来更方便,更适合阅读,而且可以直接对数据进行可视化处理.但是有时候输出数据 ...

  8. python实用脚本 知乎_停课不停学|38 个免费 Python 项目合集,从小白到老司机!...

    1665 年,牛顿在剑桥三一学院就读期间,伦敦发生了著名的鼠疫.这场鼠疫几乎摧毁了整个伦敦城,无论是下层人民还是王室贵族都难逃魔掌,几乎五分之一的伦敦人都在这场鼠疫中丧生. 牛顿被迫回家进行自我隔离, ...

  9. python df共有几行_从zero到hero,一款Python自然语言处理效率利器!

    在做推荐系统或者纯自然语言处理的过程中,都会接触到大量的非结构化数据.这些数据格式不统一.质量层次不齐,因此,在文本数据处理过程中一直都是一项非常耗费精力的工作. 除了要对文本数据进行预处理之外,文本 ...

最新文章

  1. php fopen 中文,php fopen用法是什么
  2. python娃娃_充气娃娃?Python告诉你到底有多爽......
  3. org.apache.hadoop.hive.metastore.api.MetaException: Get request failed :xxxx
  4. Visual Studio“15”进一步改善性能和易用性
  5. Libusb开发教程一 安装
  6. cad一键标注闭合区域lisp_CAD快捷键大全,你值得学会!
  7. JavaScript全局变量的本质及页面共享问题
  8. 【数位DP】恨7不成妻
  9. Vue解决接口访问跨域问题
  10. jquery mobile将页面内容当成弹框进行显示
  11. Android开发之跟踪应用更新大小
  12. ValueError: No JSON object could be decoded?此种异常的解决方案之一
  13. 怎么用计算机打出音乐符号,音乐符号怎么打出来(所有)
  14. seckill配置补发
  15. 分词算法--正向最大匹配和逆向最大匹配实现
  16. 后端springboot、mybatisplus,前端vue-cli3、elementUI、axios,使用阿里巴巴提供的easyExcel导入导出excel表格
  17. vmalloc 虚拟实现
  18. note2刷 android 5.0.2,三星Galaxy Note Pro 12.2 Android 5.0.2更新锁定了竞争对手的键盘
  19. python实现高级计算器_高级计算器功能Tkinter GUI和variab
  20. 51单片机实验(LED and KEY)

热门文章

  1. 你们想要的徽章终于制作完了
  2. 目前最流行的15个机器学习框架,你知道几个?
  3. linux pssh用法,Linux pssh 命令用法详解-Linux命令大全(手册)
  4. JS 中的三目运算符详解
  5. 一场疫情让我明白:当死亡来临时,什么才是最好的告别
  6. form表单的onsubmit事件中调用方法时为什么前面加return
  7. pycharm 激活码
  8. 永久激活(破解) IntelliJ IDEA 2018.2
  9. adb linux 微信游戏,微信跳一跳的正确姿势
  10. 银行业务中,日终、日初、日切分别指的是什么,三者之间都有什么联系?