python速成

参考:列表_哔哩哔哩_bilibili

一、基本语法

1.变量

a.python变量的数据类型是在给变量赋值时确定的,不像C语言在使用变量时需要先定义变量;

b.python变量是对内存中某个数据的引用,而不是某一个固定内存单元的标识。这其中,x、y都指向同一块存着“1”的内存,只不过名字不同而已。

>>>x=1
>>>y=1
>>>id(x)
1458006144
>>>id(y)
1458006144

2.标识符

在python中,变量名、列表名、函数名等都用标识符来表示。

标识符是由字母、数字和下划线(_)组成(只能是这三者的组合),但不能以数字开头

3.关键字

如“class”、"def"、“if”、“elif”、“else”等

4.缩进

和c语言不同的是,python每一行代码不以“;”结尾,其通过语句的缩进对齐来反映语句之间的逻辑关系。要么都使用空格缩进,要么都是用tab键缩进。不同的代码缩进会有不同的执行结果。

5.注释

单行注释采用#开头。

多行注释,采用三引号括起来形成多行字符串。

6.续行

在python中,每个语句行都以回车符结束。可以将多行语句放在同一行中,语句之间用分号间隔。如果语句行太长,可以使用反斜杠“\”将一行语句分多行显示。如果一行语句中包含小括号、中括号或大括号,则不需要使用多行续行符。

if year%4==0 and year%100!=0 or\
        year%400==0:
        print("该年为闰年")
也可以写成下面的形式:
if(year%4==0 and year%100!=0 or
        year%400==0):
        print(("该年为闰年"))

7.变量的赋值

链式赋值语句:

>>>a=b=c=3

python中提供了同步赋值方式,其格式为:

>>>a,b,c=10,20,30

8.模块的引用

使用Python编程时,通常会引用一些模块,这些模块也称为库。

Python的库主要分为三大类:标准模块(系统自带)、第三方模块(需要另外安装)、自定义模块。这些模块在使用之前需要引入。引入的方式有import方式和from方式。

import方式:
    import<模块名>
这种引用方式在调用模块的函数时必须同时包含模块的名字,例如
>>>import turtle
>>>turtle.Pen()
为方便使用,可以用as给模块定义一个别名,例如:
>>>import turtle as t
>>>t.Pen()

from方式:可将模块中指定的函数导入到当前程序,用法如下:
    from <模块名> import <函数名>
例如:
    >>>from turtle import Pen #导入turtle模块中的Pen()函数
    >>>Pen()
这种方式引入模块的函数后,函数前面无需再加模块名称。
如果要把模块中的所有函数都引入到程序中,可以使用如下格式:
    from <模块名> import *
这种方式将库的所有函数导入到当前程序时,可能会覆盖掉当前程序中已有的相同函数名,建议谨慎使用。

二、数据类型

1.数值类型

a.整数型数据

b.浮点型数据:

两种表示方法:a.十进制小数形式:如3.14;b.指数形式:就是科学计数法表示的浮点数,如4e-2。表示0.04.

c.复数型数据

2.字符串类型

a.在python中定义一个字符串可以使用单引号、双引号或者三引号(也就是三个单引号或三个双引号)。

        例如,字符串’I say:"hello"'。

用单引号或双引号括起来的字符串必须在一行内表示,这是最常见的表示字符串的方法。

        用三引号括起来的字符串可以是多行的。

        例如:’’’古今多少事

                       都在笑谈中’’’

b.特殊的字符串

\n回车换行
\'代表一个单引号

c.原始字符串

        原始字符串用于显示字符串原来的意思,不让转义字符生效。这就要用到字母r或R来进行定义。例如:

>>>print(r'c:\11\a.txt')
c:\11\a.txt
>>>print('c:\11\a.txt')
c:.txt

3.布尔类型

4.复合数据类型

列表、元组、字典和集合是Python的复合数据类型

列表:
>>>list1=[1,5,9,'x','y']
元组:
>>>tup=(5,'x','y')
字典:
>>>dict={"name":LiMing,"age":20}
集合:
>>>set1={'Bob','Jack','Tom'}

5.类型转换函数

float()函数:可以将其他类型的数据转换为浮点型,例如:
>>>float(3)
3.0

int()函数:
>>>int(3.14)
3
>>>int(float('3.14'))#有的字符串不能直接转换为整型,应该分两步转换
3

str()函数:
>>>str(3.14)
'3.14'
>>>str(True)
'True'

bool()函数:可以将其他类型的数据转换为布尔型
complex()函数:可以将其他类型转换为复数

chr()函数:将一个整数按ASCII码转换为对应的字符,例如:
>>>chr(65)
'A'

ord()函数:ord()函数则是把字符转换为对应的ASCII码或Unicode编码值。

三、基本运算

a.数学运算

+
-
*
/
//整除
%求余
**求幂(3**2=9)
python提供了一些常用的数学运算函数,如
>>>abs(-3.14)#求绝对值
3.14
>>>divmod(7,4)#求商和余数
(1,3)
>>>pow(4,2)#求乘方
16
>>>round(1.5)#采用“奇进偶不进”的方法取整
2
>>>round(2.5)
2
>>>max(1,3,5)
5
>>>min(1,2,3)
1

 b.位运算

c.关系运算(>、<、==、!=、>=)

d.逻辑运算

and(逻辑与)、or(逻辑或)、not(逻辑非)

e.测试运算

in(查找指定序列中某个值是否存在,存在返回ture)和not in

>>>3 in(1,2,3,4,5)
True
>>>3 not in(1,2,3,4,5)
False

四、字符串

a.创建字符串

>>>s1="abcd1234" #字符串可以包含任意字符
>>>s2='He said:"hello!"' #字符串里面包含双引号,外面需要用单引号
>>>s3='Let's go!' #字符串外面是单引号,里面的但引号前需加反斜线\转义
SyntaxError:invalid syntax
>>>s3='Let\'s go!'
>>>s3
"Let's go!"
>>>s4=r"c:\11\q1\a1.txt" #字符串前面加R或r,禁止转义,按字面意思使用

b.字符串的访问

c.字符串常用方法

如大小写转换、字符串对齐处理、字符串替换、字符串的运算等

五、输入输出

基本输入函数input(),

基本输入函数input(),其使用格式如下:
    <变量>=input(<提示信息>)
>>>a=input()
1
>>>a
'1' #input()返回值为字符串
>>>a=int(input())
1
>>>a
1

eval()函数,其用法如下:
    <变量>=eval(<字符串>)
>>>x=eval('123')
>>>x
123

基本输出函数print(),其用法如下:
    print(<输出项>)
>>>a,b,c=1,2,3
>>>print(a,b,c)
1 2 3
print()函数输出文本时会默认在最后增加一个换行,如果希望输出文本后增加其他内容,可以使用end参数,如:
>>>for i in range(3):
        print(i)
0
1
2
>>>for i in range(3):
        print(i,end',')
0,1,2,

六、格式化输出

d按十进制输出一个整数
b按二进制输出一个整数(format()中使用的说明符)
o按八进制输出一个整数
x按十六进制输出一个整数
f、e、g按小数形式或科学计数法形式输出一个整数或浮点数
c输出以整数为编码的字符
s输出字符串
Python提供了格式化运算符%,format内置函数和format()方法用于格式化输出
>>>print("书的价格是%.2f"%12.3)
书的价格是12.30
>>>print(format(12.3,'.2f'))
12.30
>>>print("书的价格是{0:.2f}".format(12.3)) #"0:"是指format()中数据的序号
书的价格是12.30

一、格式化运算符%在python2中用得很多,python3仅是为了兼容python2而保留格式化运算符%,其使用格式如下:
    格式字符串%(逗号分割的输出项)
>>>print("%5.2f\n%05.1f\n%-6.1f\n%-7.3f"%(3.14,3.14,3.14,3.14))
 3.14#5个宽度两位小数
003.1
3.1#这里大概是默认左对齐
3.140

二、format()内置函数可以将一个输出项单独进行格式化,其使用格式如下:
    format(输出项,[格式说明符])
>>>print(format(65,'c'),format(65,'b'),format(65,'o'))
A 1000001 101

三、format方法是python3中主要的格式化输出方法,它把字符串当成一个模板,通过传入的参数对输出项进行格式化。其使用格式为:
    格式化字符串.format(逗号分割的输出项)
其中,格式化字符串=普通字符+格式说明符
而格式说明符={[序号或键]:格式说明符}
>>>print('{0}的成绩是{1}'.format('高山',90))
高山的语文成绩是90
<键>形式的格式说明符,用于指向使用改键的参数,例如:
>>>print('{xm}的{kc}成绩是{cj}'.format(xm='高山',cj=90,kc='语文'))
高山的语文成绩是90

花括号{}形式的格式说明符,按自然顺序输出,例如:
>>>print('{}的{}成绩是{}'.format('高山','语文',90))
高山的语文成绩是90

注:这里只讨论了输出函数的一些参数,其他参数用到现学即可。

七、顺序结构

八、选择结构

单分支选择结构:
其格式如下:
    if 表达式:
        语句块
示例:
if a<60:#注意空格和冒号
    print("不能评奖学金\n")#注意向右缩进
    print("因为成绩为{}".format("不及格"))#注意语句块的对齐

双分支选择结构:
其格式如下:
    if 表达式:
        语句块1
    else:
        语句块2
示例:
if a<60:#注意空格和冒号
    print("不能评奖学金\n")#注意向右缩进
    print("因为成绩为{}".format("不及格"))#注意语句块的对齐
else:
    print("可以评奖学金\n")

双分支还有一种更简洁的表示方式,适合“语句块1”和“语句块2”都只包含简单表达式的情况,其格式如下:
    <语句块1> if <表达式> else <语句块2>
示例:
print("不能评奖学金\n") if a>600 else print("可以评奖学金\n")

嵌套分支选择结构:
if a>=60:
    if a>=90:
        print("一等奖学金\n")
    else:
        if a>=80:
            print("二等奖学金\n")
        else:
            print("三等奖学金\n")
else:
    print("下次加油\n")

多分支选择结构:
if 表达式1:
    语句块1
elif 表达式2:
    语句块2
......
elif 表达式n:
    语句块n
else:
    语句块n+1

 九、循环结构

while循环
其格式如下:
    while 表达式:
        语句块

示例:
i=1
while i<=3:
    print("加油!\n")
    i=i+1

for循环
其格式如下:
    for 循环变量 in 对象:#执行过程中从对象逐个提取元素,放在循环变量中并执行语句块,这种处理模式称为遍历。对象可以是字符串、列表、元组、字典、文件或range()函数等
        语句块
注:for常与range()函数配合使用,该函数用于生成整数序列,格式是range(start,end,step),其中start表示序列的起始值,可以省略,默认从0开始;end表示序列的结束值,但不包括end;step表示序列的步长,可以忽略,默认为1.
示例:
for i in range(5):
    print(i)
运行结果:
0
1
2
3
4

for i in range(1,5):
    print(i)
运行结果:
1
2
3
4

for i in range(9,1,-4)
    print(i)
运行结果:
9
5

循环控制语句
    break语句:用于跳出它所在的那层循环
    continue语句:用于结束本次循环,继续下一轮循环。
    pass语句:是空语句的意思,不做任何操作,相当于占位语句。
    else语句:是while和for循环的扩展模式。如果循环正常结束,则执行else子句;若非正常结束而是break提前退出,则不执行else子句。

示例:
while True:
    key=input("请输入密码:")
    if len(key)<6 or len(key)>6:
        print("长度为6位,请重新输入!")
        continue#如果没有continue,循环就不会执行了
    elif key=="778899":
        print("密码正确!")
        break
    else:
        print("密码有误,请重新输入!")

十、列表

十一、元组

十二、字典

十三、集合

十四、函数

a.函数的定义

def 函数名([形式参数列表]):
    函数体
    [return <返回值>]
示例:
def f():
    pass

b.函数的调用

函数名(实际参数列表)
示例:
首先定义一个函数
def j(n):
    f=1
    for i in range(1,n+1):
        f=f*i
    return f
对该函数进行调用
print(j(10))
    

c.函数的参数类型

位置参数
def j(x,y):
    return x*y
j(1,2)

关键字参数
def j(x,y)
    print("x=",x,"y=",y)
j(y=10,x=20)
运行结果:
x=20 y=10

默认值参数
def j(x,y=20,z=10): #y和z已有默认值
    print("x=",x,"y=",y,"z=",z)
j(5,10)
程序结果如下:
x=5 y=10 z=10
注意:默认值参数必须出现在形参表的最右端。也就是说,第一个形参使用默认值参数后,它后面的所有形参也必须使用默认值参数,否则会出错。

元组可变长参数
字典可变长参数

d.变量的作用域

d.1 在函数体内部,如果要为全局变量重新赋值,可以使用global语句。

>>>a=1
>>>def f():
    a=a+2 #修改全局变量的值
    print(a)
>>>f()
error
修改全局变量,要用到global关键字
>>>a=1
>>>def f()
    global a #global关键字声明
    a=a+2
    print(a)
>>>f()
3

d.2 同一个程序里,如果全局变量与局部变量同名,则在局部变量的作用范围内,全局变量不起作用。

e.匿名函数(没有函数名的函数)

格式:
    <函数对象名>=lambda <形式参数列表>:<表达式>
示例:
    def add1(x,y):
        return x+y
可定义为匿名函数:
    f=lambda x,y:x+y
函数对象名可以作为函数直接调用,对于上例,可以这样调用:
    a,b=2,3
    result=add1(a,b)
或直接调用:
    result=(lambda x,y:x+y)(2,3)

f.递归函数

十五、文件

十六、数据的维度

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值