python从入门到精通

一.编程基础

1.标识符

就是变量、函数、属性、类、模块等可以由程序员指定名称的代码元素。

Python中标识符的命名规则如下:

1 区分大小写:Myname与myname是两个不同的标识符。
2 首字符可以是下画线(_)或字母,但不能是数字。
3 除首字符外的其他字符必须是下画线、字母和数字。例如#,$
4 关键字不能作为标识符。
5 不要使用Python的内置函数作为自己的标识符。

2.变量 

语法:变量名 = 值

age = 19
name = '南栀北夏ii'
print('姓名:' + name)


3.模块

在Python中一个模块就是一个文件,模块是保存代码的最小单位,在模块中可以声明变量、函数、属性和类等Python代码元素

一个模块可以访问另一个模块的元素

import<模块名>:通过这种方式会导入m2模块的所有代码元素,,在访问时需要加前缀“m2.”

from<模块名>import<代码元素>:通过这种方式会导入m2中的x变量,在访问时不需要加前缀“m2.” 

 

from<模块名>import<代码元素>as<代码元素别名>:与②类似,在当前m1模块的代码元(x变量)与要导入的m2模块的代码元素(x变量)名称有冲突时,可以给要导入的代码元素(m2中的x)一个别名x2

4.关键字 

二.数字类型的数据 

在Python中有6种主要的内置数据类型:数字、字符串、列表、元
组、集合和字典。列表、元组、集合和字典可以容纳多项数据,在本书
中把它们统称为容器类型的数据。

Python中的数字类型有4种:整数类型、浮点类型、复数类型和布
尔类型。需要注意的是,布尔类型也是数字类型,它事实上是整数类型
的一种。

1.整数类型

Python中的整数类型为int类

print('年龄:',20)#使用逗号分隔输出项,输出时自动补一空格
#年龄: 20
print('1024转换为二进制:' + bin(1024))
print('1024转化为八进制:' + oct(1024))
print('1024转化为十六进制:' + hex(1024))
 

3.浮点类型(float)

print('我的身高为:', 1.78)
#我的身高为:1.78

4.复数类型

 5,布尔类型

只有True和False)

print('是否大于18岁:', True)
print('是否为男生:', False)
#是否大于18岁:True
#是否为男生:False

6.空值型(None):表示空值 

print(print('Hello'))
#Hello
#None

7. 字符串型(str)

print('7899')#单引号字符串
print("6666")#双引号字符串
print('''你好,
    世界!''')#三引号可以换行
print('你好,"python"')#字符串中含有双引号使用单引号来括

8.数字类型的相互转换

type()函数:用于查看数据类型

print(type(179))#<class 'int'>
print(type(17.8))
print(type('女'))

 数据类型转换:

print(type(int(1,78)))#表示将float类型转化为int
print(type(float(178)))#表示将int类型转化为float
print('2055年是新中国成立' + str(2055-1949) + '周年')
#2055年是新中国成立106周年

三.运算符

1.算术运算符

2. 比较运算符

比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据,即True或False。

 3 逻辑运算符

4.位运算符

5.赋值运算符

 6.运算符的优先级

从表格中优先级依次递减,同一行有相同的优先级

四.程序流程控制

1 分支语句

if结构

if结构的语法如下:

souce = int(input('请输入一个分数:'))
if souce >= 80:
    print('你真优秀')

    

if-else结构

souce = int(input('请输入一个分数:'))
if souce >= 60:
    if souce >= 85:
        print('您真优秀')
    else:
        print('您的成绩还可以,继续加油')
else:
    print('您的成绩需要您加倍努力')
    

 

 if-elif-else结构



score = int(input("请输入一个成绩"))

if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'F'

print('Grade' + grade)





2. 循环语句

while语句


i = 0

while i * i < 10:
    i += 1
    print(str(i) + '*' + str(i) + '=',i * i)
else:
    print('While Over!')
    

 for语句


for item in 'hello':
    print(item)

print('----------------------------')
nummber = [1,2,3,4]
for i in nummber:
    print(i)

 

跳转语句

break语句用于强行退出循环体,不再执行循环体中剩余的语句。

continue语句用于结束本次循环,跳过循环体中尚未执行的语句,
接着进行终止条件的判断,以决定是否继续循环。

 


# range(10)表示从0-9
for item in range(10):
    
    if item == 3:
        break
    print(item)

 


# range(10)表示从0-9
for item in range(10):
    
    if item == 3:
        continue
    print(item)

 

 五.容器类型的数据

1 序列

序列(sequence)是一种可迭代的、元素有序的容器类型的数据。

序列包括列表(list)、字符串(str)、元组(tuple)和字节序列
(bytes)等。

序列的索引操作

序列中的元素都是有序的,每一个元素都带有序号,这个序号叫作
索引。索引有正值索引和负值索引之分。

我们是通过下标运算符访问序列中的元素的,下标运算符是跟在容
器数据后的一对中括号([]),中括号带有参数,对于序列类型的数据
,这个参数就是元素的索引序号。

 

 加和乘操作

加(+)和乘(*)运算符也可以用于序列中的元素操作。加(+)
运算符可以将两个序列连接起来,乘(*)运算符可以将两个序列重复
多次。

 切片操作

切片运算符的语法形式为[start:end:step]。其中,start是开始索引
,end是结束索引,step是步长(切片时获取的元素的间隔,可以为正整
数,也可以为负整数)。

注意:切下的小切片包括start位置的元素,但不包括end位置的元素
,start和end都可以省略

下面对字符串变量a进行切片操作[1:3],开始索引为1,结束索引
为3,省略步长(默认值为1)

 

下面对字符串变量a进行切片操作[0:3:2],开始索引为0,结束索
引为3,步长为2。

 

 

 成员测试

成员测试运算符有两个:in和not in,in用于测试是否包含某一个元
素,not in用于测试是否不包含某一个元素。

2 列表 

列表(list)是一种可变序列类型,我们可以追加、插入、删除和
替换列表中的元素

创建列表

创建列表有两种方法。
1 list(iterable)函数:参数iterable是可迭代对象(字符串、列表、
元组、集合和字典等)。
2 [元素1,元素2,元素3,⋯]:指定具体的列表元素,元素之间以
逗号分隔,列表元素需要使用中括号括起来。

 追加元素

列表是可变的序列对象,列表可以追加元素。
1 在列表中追加单个元素时,可以使用列表的append(x)方法。
2 在列表中追加多个元素时,可以使用加(+)运算符或列表的extend(t)方法。

 插入元素

想向列表中插入元素时,可以使用列表的list.insert(i,x)方法,
其中,i指定索引位置,x是要插入的元素。

 替换元素

想替换列表中的元素时,将列表下标索引元素放在赋值符号(=)
的左边,进行赋值即可

 删除元素

想在列表中删除元素时,可使用列表的list.remove(x)方法,如果
找到匹配的元素x,则删除该元素,如果找到多个匹配的元素,则只删
除第一个匹配的元素。

 3 元组

元组(tuple)是一种不可变序列类型

创建元组

创建元组时有两种方法

1 tuple(iterable)函数:参数iterable是可迭代对象(字符串、列表、元组、集合和字典等)。

 2 (元素1,元素2,元素3,⋯):指定具体的元组元素,元素之间
以逗号分隔。对于元组元素,可以使用小括号括起来,也可以省略小括
号。

 元组拆包

创建元组,并将多个数据放到元组中,这个过程被称为元组打包。
与元组打包相反的操作是拆包,就是将元组中的元素取出,分别赋
值给不同的变量。

 

 4 集合

集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类
型的数据。

创建集合

我们可以通过以下两种方式创建集合。
1 set(iterable)函数:参数iterable是可迭代对象(字符串、列表、
元组、集合和字典等)。
2 {元素1,元素2,元素3,⋯}:指定具体的集合元素,元素之间以
逗号分隔。对于集合元素,需要使用大括号括起来。

修改集合

修改集合类似于修改列表,可以向其中插入和删除元素。修改可变
集合有如右所示的常用方法。
add(elem):添加元素,如果元素已经存在,则不能添加,不会
抛出错误。
remove(elem):删除元素,如果元素不存在,则抛出错误。
clear():清除集合。

 5 字典

字典(dict)是可迭代的、通过键(key)来访问元素的可变的容器
类型的数据。
字典由两部分视图构成:键视图和值视图。键视图不能包含重复的
元素,值视图能。在键视图中,键和值是成对出现的。

创建字典

我们可以通过以下两种方法创建字典。
1 dict()函数。

2 {key1:value1,key2:value2,...,key_n:value_n}:指定具体
的字典键值对,键值对之间以逗号分隔,最后用大括号括起来

修改字典

 

 访问字典视图

items():返回字典的所有键值对视图。keys():返回字典键视图。values():返回字典值视图。

 

 遍历字典


s_dict = {'张三':119,'李四':108,'王麻子':106}
print('---------遍历键-----------')
for i in s_dict.keys():
    print('姓名:' + i)

print('------------遍历值---------')
for j in s_dict.values():
    print('分数:' + str(j))

print('------------遍历键:值---------')
for i,j in s_dict.items():
    # .format()方法中分别按顺序提供这两个值
    print(i,j)

六.函数

1.定义函数

 

2 调用函数

 

使用关键字参数调用函数

在调用函数时可以采用“关键字=实参”的形式,其中,关键字的名称就是定义函数时形参的名称

 

3 参数的默认值

4 可变参数

# *number可变参数
def sum(*number):
    total = 0.0
    for i in number:
        total += i
    return total

print(sum(100.0,20.0,30.0))  #150.0

基于字典的可变参数(**可变参数)**可变参数在函数中被组装成一个字典。示例代码如下:

 

5 函数中变量的作用域

变量可以在模块中创建,作用域(变量的有效范围)是整个模块,被称为全局变量。变量也可以在函数中创建,在默认情况下作用域是整个函数,被称为局部变量。

6 函数类型


#加法函数
def add(a,b):
    c = a + b
    return c

# 减法函数
def sub(i,j):
    m = i - j
    return m

# 定义计算函数
def calc(op):
    if op == '+':
        return add
    else:
        return sub
    
f1 = calc("+")
f2 = calc('-')
print(f1(10,5))  #15
print(f2(7,3))   #4

7.过滤函数filter()

 

 8.映射函数map()

 

七. 类与对象

1.定义类

继承了object类,object类是所有类的根类

 2.创建对象

类相当于一个模板,依据这样的模板来创建对象,就是类的实例化,所以对象也被称为“实例”。

 

 3.类的成员

 4.实例变量

实例变量就是对象个体特有的“数据”,例如狗狗的名称和年龄等。

 

 5.构造方法

类中的__init__()方法是一个非常特殊的方法,用来创建和初始化实例变量,这种方法就是“构造方法”。在定义__init__()方法时,它的第1个参数应该是self,之后的参数用来初始化实例变量。调用构造方法时不需要传入self参数。

 

6.实例方法 

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南栀北夏ii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值