一、基础语法

1、编码

默认情况下,Python3以utf-8编码的,当然你也可以指定不同的编码。utf-8能防止代码乱码的情况。所有字符串都是unicode字符串。

2、标识符

  • 第一个字符必须是字母表中字母或下划线_.
  • 标识符其它部分由字母、数字和下划线组成
  • 标识符对大小写敏感

3、Python保留字(关键字)

保留字不能把它用作任何标识符名称。以下是Python中的所有保留字:

>>> import keyword
>>> 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']
>>>

4、注释

  • Python中单行注释用#开头
  • 多行注释用多个#号,或'''和"""
  • 多行注释可以使用Ctrl+/一键注释

5、行与缩进

Python中最具有特色的就是使用缩进表示代码块,缩进的空格数是可变的,但同一个代码块的语句必须包含相同的缩进空格数。

通常情况下,缩进空格数可以用Tab一键缩进。

值得注意的是,缩进空格数不对会导致运行错误。所以我们一定要多检查代码中的缩进空格数。

6、多行语句

在Python中如果遇到一行语句太长,要想换行的话可以使用“\”实现多行语句。但如果在【】、{}、()中的多行语句中,不需要使用“\”,直接换行。例如:

 total=1111+\22222+\33333
total=("11111","22222","33333")

7、数字(number)类型

Python中数字有四种类型:整数、布尔型、浮点数和复数

  • int(整数),如:5.
  • bool(布尔型),如:TRUE、FALSE
  • float(浮点数),如:1.23、3E-5
  • complex(复数),如:1+2i

8、字符串(string)

  • Python中单引号'和双引号"使用完全相同
  • 使用三引号'''或"""可以指定一个多行字符串
  • 转义符\
  • \用来转义,使用r可以让反斜杠不发生转义。
  • 按字面意义级联字符串
  • 字符串使用+运算符连接在一起,用*运算符重复
  • 字符串有二种索引,从左往右0开始,从右往左-1开始
  • 字符串不能改变
  • 没有单独的字符类型,一个字符就是长度为1的字符串
  • 字符串的截取语法格式:变量【头下标:尾下标:步长】

9、空行

函数或类之间要用空行分隔,表示一段新的代码的开始。

空行与代码缩进不同,空行不是Python语法的一部分。书写是也不用插入空行,运行也不会出错。空行的作用在于日后代码的维护或重构

10、等待用户输入

input("\n\n按下enter键后退出")

在代码中。\n\n输出时会输出二个新的空行。

11、同一行显示多条语句

Python可以在同一行使用多条语句,语句之间使用分号;分割

使用交互式命令行执行,输出结果为:

import sys;x='runoob';sys.stdout.write(x+'\n')
runoob
7

输出结果的7表示字符数,runoob有6个字符,\n表示一个字符所以就有7个字符数

12、多个语句构成代码组

缩进相同的一组语句构成代码块,称为代码组

如:if、while、def、class这些复合语句,以冒号:结束改行之后的一行或多行代码构成代码组

13、print输出

print默认输出是换行的,如果要实现不换行需在变量末尾加上end=""

如:

x="a"
y="b"
#换行输出
print(x)
print(y)
#不换行输出
print(x,end="")
print(y,end="")#输出结果为:
a
b
ab

14、import与from...import

在Python中用import或from...import导入相应的模块

  • 将整个模块(somemodule)导入,格式:import somemodule
  • 从某个模块导入某个函数,from somemodule import somefunction
  • 从某个模块导入多个函数,from somemodule import function1,function2,function3
  • 从某个模块导入全部函数,from somemodule import *
  • *代表所有函数

15、命令行参数

可以执行来查看基本信息,Python中可以使用python -h查看各种参数。

二、基本数据类型

在Python中每个变量在使用前必须赋值,变量赋值以后才会被创建。

等号=运算符左边是变量名,运算符右边是变量的值。

1、多个变量赋值

Python中可以同时为多个变量赋值,如:

x=y=f=5(三个变量被赋予相同的数值)

同时也可以为多个对象指定多个变量,如:

x,y,d=5,6,"dfnjbjh"  (两个整型对象5与6分别给变量x,y,字符串对象给变量d)

2、标准数据类型

number(数字)、string(字符串)、list(列表)、tuple(元祖)、set(集合)、dictionary(字典)。其中number、string、tuple为不可变数据,set、list、dictionar为可变数据

3、number(数字)

Python支持int、float、bool、complex。可以通过type()函数查询对象类型,如:

>>> a,b,c,d=3,2.35,True,4+4j
>>> print(type(a)),type(b),type(c),type(d)
<class 'int'>
(None, <class 'float'>, <class 'bool'>, <class 'complex'>)
>>> 

Python中通过del语句删除单个或多个对象,如:

  • del var
  • del var1,var2,var3...

4、数值运算

在Python中+加法、-减法、*乘法、/除法(得到一个浮点数)、//除法(得到一个整数)、%取余、**乘方

注意:

  • Python可以同时为多个变量赋值,如x,y=5,5.14
  • 一个变量可以通过赋值指向不同类型的对象
  • 数值的除法有两个,/浮点数,//整数
  • 在混合计算时,Python会把整型转换成浮点数

5、string(字符串)

前面提过字符串索引从左边0开始,从右边-1开始,如,

>>> str='abcdefg'
>>> print(str) #输出字符串
abcdefg
>>> print(str[0:-1]) #输出第一个到倒数第二个的所有字符
abcdef
>>> print(str[0:-2]) #输出第一个到倒数第三个的所有字符
abcde
>>> print(str[2:5]) #输出第三个到第5个的字符
cde
>>> print(str[2:]) #输出第三个开始的所有字符
cdefg
>>> print(str*3) #星号*表示复制当前字符串的次数
abcdefgabcdefgabcdefg
>>> print(str+"ABCD") #连接字符串
abcdefgABCD
>>> 

前面也提过\反斜杠是转义字符,如果你不想让反斜杠发生转义,可在前面添加r,如,

>>> print("小明\n喜欢玩游戏")
小明
喜欢玩游戏
>>> print(r"小明\n喜欢玩游戏")
小明\n喜欢玩游戏

6、列表(list)

列表是写在方括号[]之间,用逗号分隔开元素。同时列表和字符串的索引和截取大致相同如,

>>> list=["grg","grg",5,3.84]
>>> list2=[456,"gerg"]
>>> print(list)
['grg', 'grg', 5, 3.84]
>>> print(list[0])
grg
>>> print(list[1:3])
['grg', 5]
>>> print(list[3:])
[3.84]
>>> print(list*3)
['grg', 'grg', 5, 3.84, 'grg', 'grg', 5, 3.84, 'grg', 'grg', 5, 3.84]
>>> print(list+list2)
['grg', 'grg', 5, 3.84, 456, 'gerg']

7、元祖(tuple)

元祖与列表类似,不同在于元祖的元素不能修改。元祖写在小括号()里面

在这里就不过于介绍,可以看看前面字符串与列表的例子。

8、set(集合)

集合是由一个或数个整体组成的,构成集合的事物或对象称为元素或成员

集合能够进行成员关系测试和删除重复元素如,

>>> set={"grge","gnjkn","abccd","grge",1546}
>>> print(set)
{1546, 'gnjkn', 'grge', 'abccd'}

9、字典(dictionary)

字典是一种映射类型,用{}标识,它是一个无序的对象集合。

字典的关键字必须为不可变类型,且不能重复

三、数据类型转换

数据类型的转换一般情况下只需将数据类型作为函数名即可。

Python数据类型转换可分为两种:

  • 隐式类型转换(自动完成)
  • 显式类型转换(使用 函数来转换)

1、隐式类型转换

隐式类型指的是会将一种数据类型转换成另一种数据类型。如,

num_int = 123
num_flo = 1.23num_new = num_int + num_floprint("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))#输出结果为:
datatype of num_int: <class 'int'>
datatype of num_flo: <class 'float'>
Value of num_new: 124.23
datatype of num_new: <class 'float'>

在代码中num_int为整型,num_flo为浮点型。在num_new中之所以为浮点型是因为Python将小的数据类型转换为大的数据类型,避免数据丢失。

2、显式类型转换

显式类型转换指的是用户将对象是数据类型转换为所需的数据类型。

  • int()强制转换成整型
  • float()强制转换成浮点型
  • str()强制转换成字符串类型

所以整型和字符串类型就是用强制类型转换完成的,如

num_int = 123
num_str = "456"print("num_int 数据类型为:",type(num_int))
print("类型转换前,num_str 数据类型为:",type(num_str))num_str = int(num_str)    # 强制转换为整型
print("类型转换后,num_str 数据类型为:",type(num_str))num_sum = num_int + num_strprint("num_int 与 num_str 相加结果为:",num_sum)
print("sum 数据类型为:",type(num_sum))
#输出结果为
num_int 数据类型为: <class 'int'>
类型转换前,num_str 数据类型为: <class 'str'>
类型转换后,num_str 数据类型为: <class 'int'>
num_int 与 num_str 相加结果为: 579
sum 数据类型为: <class 'int'>

四、推导式

Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。

推导式分为:列表推导式、字典推导式、集合推导式、元祖推导式

以下一次分析介绍:

1、列表推导式

格式:(1)、[out_exp_res for out_exp in input_list]

[表达式 for 变量 in 列表]

(2)、[out_exp_res for out_exp in input_list if condition]

[表达式 for 变量 in 列表 if 条件]

看不懂表达式也不要着急,接下来的例子将分析

names=["grg","hyh","hthj","yuth"]
new_names=[name.upper() for name in names if len(name)>3]
print(new_names)
#输出结果为:
['HTHJ', 'YUTH']

从以上代码中可以看到将长度小于或等于3的字符串过滤掉,剩下的转换机成大写字母

x=[i for i in range(30) if i%3==0]
print(x)
#输出结果为:
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

以上代码是计算30以内可以被3整除的数。其中range是指范围 %取余

2、字典推导式

格式:

(1)、{key_exp:value-exp for value in collection}

(2)、{key-exp:value-exp for value in collection if condition}

使用字符串及其长度创建字典

x=["sdfg","brgrh","btgnruh","bt"]
newx={key:len(key) for key in x}
print(newx)
#输出结果为:
{'sdfg': 4, 'brgrh': 5, 'btgnruh': 7, 'bt': 2}

计算数字的平方并创建字典

x=[2,6,8]
dic={x:x**2 for x in x}
print(dic)
print(type(dic))
#输出结果
{2: 4, 6: 36, 8: 64}
<class 'dict'>

3、集合推导式

格式:

(1)、{expression for item in sequence}

(2)、{expression for item in wequece if condition}

集合推导式与列表推导式类似

同样的计算数字的平方并创建集合

x=[2,6,8]
dic={x**2 for x in x}
print(dic)
print(type(dic))
#输出结果
{64, 4, 36}
<class 'set'>

输出不是abc的字母并创建集合

x=("fefegrhabcrghuahhcb")
y={x for x in x if x not in "abcf"}
print(y)
print(type(y))
输出结果
{'r', 'e', 'g', 'h', 'u'}
<class 'set'>

4、元祖推导式

元祖推导式可以利用range区间、元祖、列表、字典、集合等数据类型生成一个满足指定需求的元祖

格式:

(1)、(expression for item in sequence)

(2)、(expression for item in wequece if condition)

元祖推导式和列表推导式的用法相同,只是元祖推导式是用()

x=range(1,20)
a=(x for x in x)
print(a)
print(type(a))
print(tuple(a)) #使用tuple()函数可以直接将生成器对象转换成元祖
#输出结果为
<generator object <genexpr> at 0x00000249BD46F510> #返回的是生成器
<class 'generator'>
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

五、注释

Python中是注释有单行注释和多行注释。

  • 单行注释以#开头
  • 多行注释以'''或者"""注释
  • 使用快捷键Ctrl+/一键注释

六、运算符

Python语言支持以下类型的运算符:算数运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级

接下来将一一介绍。

1、算术运算符

运算符有:+、-、*、/、%(取余)、**(幂)、//(取整数),如:

a=15
b=5
c=0c=a+b
print("1.",c)
c=a-b
print("2.",c)
c=a*b
print("3.",c)
c=a/b
print("4.",c)
c=a%b
print("5.",c)
c=a**b
print("6.",c)
c=a//b
print("7.",c)
#输出结果为:
1. 20
2. 10
3. 75
4. 3.0
5. 0
6. 759375
7. 3

2、比较运算符

比较运算符:==、!=、>、<、>=、<=,如:

a=15
b=5
if(a==b):print("a等于b")
else:print("a不等于b")
if(a!=b):print("a不等于b")
else:print("a等于b")
if(a>b):print("a大于b")
else:print("a小于等于b")
if(a>=b):print("a大于等于b")
else:print("a小于b")
#输出结果为:
a不等于b
a不等于b
a大于b
a大于等于b

3、赋值运算符

赋值运算符有:=(简单的赋值运算符)、+=(加法赋值运算符)、-=(减法赋值运算符)、*=(乘法赋值运算符)、/=(除法赋值运算符)、%=(取模赋值运算符)、**=(幂赋值运算符)、//=(取整数)、:=(海象运算符),如:

a=15
b=5
c=0
c=a+b
print(c)
c+=a
print(c)
c-=a
print(c)
c*=a
print(c)
c/=a
print(c)
c%=a
print(c)
c//=a
print(c)
#输出结果为
20
35
20
300
20.0
5.0
0.0

4、位运算符

位运算符是把数字看做二进制来进行的。

位运算符有:&(按位与运算符)、|(按位或运算符)、^(按位异或运算符)、~(按位取反运算符)、<<(左移动运算符)、>>(右移动运算符)

二进制加法法则:0+0=0  0+1=1  1+0=1  1+1=0(向高位进1)

减法法则:0-0=0  1-0=1   1-1=0   0-1=1(向高位借1)

乘法法则:0*0=0  0*1=0  1*0=0  1*1=1

除法法则:0/0=0  0/1=0  1/0=0

看到这些你是不是还不会计算二进制呢?

下面我们先进行二进制练习吧...

把60转换成二进制

同理可以输出13=0000 1101

a=60 #60=0011 1100
b=13 #13=0000 1101
c=0
c=a&b
print(c)
c=a|b
print(c)
c=a^b
print(c)
c=~a
print(c)
c=a<<2
print(c)
c=a>>2
print(c)
#输出结果
12
61
49
-61
240
15

5、逻辑运算符

逻辑运算符有:and or not

6、成员运算符

除了以上运算符之外还包含了一系列的成员,包括字符串、列表、元祖

如:

a = 10
b = 20
list = [1, 2, 3, 4, 5]if (a in list):print("1 - 变量 a 在给定的列表中 list 中")
else:print("1 - 变量 a 不在给定的列表中 list 中")if (b not in list):print("2 - 变量 b 不在给定的列表中 list 中")
else:print("2 - 变量 b 在给定的列表中 list 中")# 修改变量 a 的值
a = 2
if (a in list):print("3 - 变量 a 在给定的列表中 list 中")
else:print("3 - 变量 a 不在给定的列表中 list 中")
#输出结果
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中

7、身份运算符

is(判断二个标识符是不是引用一个对象)

is not(判断二个标识符是不是引用自不同对象)

a=10
b=10
if(a is b):print("相同标识")
else:print("不相同标识")
if(id(a)==id(b)):print("相同标识")
else:print("不相同标识")#输出结果
相同标识
相同标识

8、运算符优先级

a = 20
b = 10
c = 15
d = 5
e = 0e = (a + b) * c / d       #( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:",  e)e = ((a + b) * c) / d     # (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:",  e)e = (a + b) * (c / d)    # (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:",  e)e = a + (b * c) / d      #  20 + (150/5)
print ("a + (b * c) / d 运算结果为:",  e)
#输出结果
(a + b) * c / d 运算结果为: 90.0
((a + b) * c) / d 运算结果为: 90.0
(a + b) * (c / d) 运算结果为: 90.0
a + (b * c) / d 运算结果为: 50.0

Python入门教程(一)相关推荐

  1. Python入门教程:很多人推荐学 Python 入 IT ,如果学完 Python 找不到工作怎么办...

    Python入门教程:很多人推荐学 Python 入 IT ,但是如果学完 Python 找不到工作怎么办,这也是很多人担心的问题. 很多人推荐通过学习 Python 入行 IT 一是因为 Pytho ...

  2. python入门教程完整版(懂中文就能学会)-Python入门教程完整版(懂中文就能学会)...

    不过小编的内心是强大的,网友虐我千百遍,我待网友如初恋,因为今天又给大家带来了干货,Python入门教程完整版,完整版啊!完整版! 言归正传,小编该给大家介绍一下这套教程了,希望每个小伙伴都沉迷学习, ...

  3. python入门教程非常详细-Python编程入门教程:从入门到高级,非常详细

    本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧: 这里给初学Python的朋友提供一些建议和指导吧.大神请无视, 俗话说:授人以鱼不如授人以渔.所以我这里只是阐述学习过程,并不会直接详细 ...

  4. 小学生python入门-极度舒适的全套 Python 入门教程,小学生看了也能学会

    编程几乎已经成为现代人的一门必修课,特别是 Python ,不仅长期霸占编程趋势榜.薪资榜第一,还屡屡进入小学教材,甚至成为浙江省信息技术高考项目-- 今天,小编带来了一门极度舒适的 Python 入 ...

  5. python入门教程 官方-Python自学入门?

    如果你是零基础入门 Python 的话,建议初学者至少达到两个目标: 会用,理解. 会用 通过 Python 入门教程,学习 Python 的语法,熟悉 Python 标准库的使用. 目前 Pytho ...

  6. python第一次使用教程-python入门教程第一日

    python 官方下载地址:https://www.python.org/downloads/ 根据系统的不同安装包也不同,但是开发的程序兼容各个操作系统,这点是python能吃得开的原因之一. py ...

  7. python语言入门教程-菜鸟学Python入门教程大盘点|7个多月的心血总结

    原标题:菜鸟学Python入门教程大盘点|7个多月的心血总结 阅读本文大概需要5分钟 菜鸟学python已经写了70几篇,入门的教程已经快写完了,我把入门的文章整理了一下,下面是入门篇的一些总结,也是 ...

  8. python快速编程入门黑马-新手如何快速入门Python编程?/开发python入门教程

    Python从入门到实践的教程是什么? 第一阶段Python与Linux数据这是Python的入段,也是帮助零基础学员打好基础的重要阶段,让零基础学员可以具备基础的编程能力,并掌握MySQL进阶内容. ...

  9. python入门教程非常详细-python初学者怎么入门:python入门教程非常详细

    python安装后如何打开 ,先找到python安装位置. python学习网,大量的免费python入门教程,在线学习! 进装目录之后,点击Lib文件夹. 相关推荐:<Python教程> ...

  10. python入门教程收藏_python入门教程:超详细保你1小时学会Python,快来收藏看看...

    简介:简介(转发文章+私信[Python]获取资料方式)1.Hello world安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行 ...

最新文章

  1. 科学研究发现:说谎,是儿童成长的里程碑
  2. 无法打开物理文件“E:\Database\VRVIES6841-FZ01-Global\VRVEIS.mdf”。操作系统错误 5:“5(拒绝访问。)”...
  3. python与lua闭包的一点不同
  4. apache 2许可证_如何理解Apache 2专利许可
  5. [原创]java WEB学习笔记36:Java Bean 概述,及在JSP 中的使用,原理
  6. 5个元素排序java_Android-java-如何按对象内的某个值对对象列表进行排序
  7. 亚特兰大,I got you!
  8. 初窥QuickTest脚本录制
  9. 怎么练字才会有效果,多久才能有体现
  10. linux系统中查看系统内存或flash使用情况
  11. 广外男生病毒代码剖析
  12. git gui 中文乱码解决方法
  13. OpenGL学习书籍推荐
  14. 记录一下CSR蓝牙做DFU的流程
  15. mysql的安全加固方法_MySQL数据库安全加固方法
  16. java-opencv文档
  17. 使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC
  18. STC15系列单片机与 OV7670 SCCB通讯
  19. 机器人磨内孔_半导体阀块内孔机器人打磨,效果超乎想象!
  20. 【为生活开发系列之二】Android微信新版全自动抢红包助手

热门文章

  1. 盘点一道使用pandas.groupby函数实战的应用题目
  2. 处理PDF文档比较强大的库
  3. Ubuntu桌面生存指南
  4. 桥梁工程相关c语言程序,土木工程专业(路桥梁工程方向)本科生培养方案.doc
  5. IDEA 常用快捷键以及调试
  6. html怎么让两个表单并行,HMLT/CSS:如何将一个表单分成两个部分,使其并排显示?
  7. 基于mysql的高校学生管理系统_基于Web的学生考勤管理系统的设计与实现(Struts2,MySQL)...
  8. C/C++打印圣诞树||秀翻全场!
  9. mfc实现加载jpg图片
  10. CSS实现磨砂玻璃(毛玻璃)效果样式