Python基础快速入门—精简易懂(附实例)

253 阅读7分钟

Python基础快速入门—精简版(附实例)

基础概念

数字型变量

在Python中,数字型变量是可以直接计算的,变量赋值时也无需声明类型,Python会自动声明其类型。值得注意的是,如果变量是bool型,在计算时:
True 值为1;False值为0

x1=123			#整数型
x2=1.23			#浮点型
x3="123"		#单引号、双引号、三引号、三单引号、三双引号都可以表示字符串
>>str=''' Tom said,"Let's go ." '''
Tom said,Let's go .

格式化输出

>>x=input("Please enter a number: " )		#输入一个数赋值给x,注意input方法输入的值是字符串,如此处输入123
>>print("用户输入的数是:%s"%x)				#格式化输出到控制台,%d(整数),%f(浮点),%s(字符串)
123
>>int(x)									#强制类型转换
>>print("用户输入的数是:%06d"%x)			#控制最少输出6位,不足由0补位
000123

逻辑判断结构

Python中是靠if语句来进行逻辑判断的,注意Python中是没有switch结构的。
if格式如下:

if x<10:
	print("小于10")
elif x==0:
	print("等于10")
else x>10:			
	if x>15:				#此处为if嵌套
		print("大于15")
	else:
		print("15>x>10")
逻辑类型含义
and且:一假必假
or或:一真必真
not反向逻辑
==逻辑相等判断

优先级:not > and > or

循环结构

>>while x<=5:					#while循环
	print("hello word")
	x+=1
>>while True:					#while型死循环的应用
	print("hello word")
>>for k in range(5):
	print(k)
k:定义遍历变量  		in 后面接遍历对象

循环结构是应用十分广泛,它还可以与列表、元组、字典等结合使用

循环中的关键字含义
continue跳过该循环中后面的代码,循环继续
break跳过该循环中后面的代码,循环终止

小练习:打印九九乘法表

row=1
while row<=9:
    col=1
    while col<=row:
        print("%d*%d=%d" %(row,col,row*col),end="\t")		#格式化输出,end="\t"意为同行打印且对齐格式
        col+=1
    print("")
    row+=1

九九乘法表

函数定义

定义函数——封装独立的功能
调用函数——享受封装的效果
如将上面的九九乘法表封装,并加入参数n,意为打印n阶乘法表。如下:

def multiply(n):
	row=1
	while row<=n:
	    col=1
	    while col<=row:
	        print("%d*%d=%d" %(row,col,row*col),end="\t")		#格式化输出,end="\t"意为同行打印且对齐格式
	        col+=1
	    print("")
	    row+=1

此时只需要运行如下代码,即可实现九九乘法表

multiply(9)

列表、元组、字典

list1=[1,2,3,4,5]	#定义列表
用于存储一串信息,作用类似于数组
list2=(1,2,3,4,5)	#定义元组
作用和用法和列表类似,但元组中的元素不可修改
dict1={"name":"Tom","age":"18"}
字典是以key :value 对的形式存在的,以键为标准且必须唯一存在

列表和元组的索引都是从0开始的
字典是集合类型,只以key为标准,不分顺序

切片

用于输出一定范围内的内容,格式:[起点索引 : 终点索引 :间隔],其终点索引不包含自身

>>"0123456"[1:5]
1234
>>"0123456"[::2]
0246
>>"0123456"[::-1]
6543210

适用于字符串、列表、元组 — — 字典不可用

Python是一门面向对象的编程语言,我们先来了解下面向对象的一些基本特征。

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
数据成员: 类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
方法重写: 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程称为方法的重写。
局部变量: 定义在方法中的变量,只作用于当前实例的类。
实例变量: 在类的声明中,属性是用变量来表示的。这种变量就称为实例变量。
继承: 即一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
实例化: 创建一个类的实例,类的具体对象。
方法: 类中定义的函数。
对象: 通过类定义的数据结构实例。对象包括两个数据成员和方法。

下面来看一个简单创建类的例子:

class Employee:				#此处定义了一个Employee类
    empCount=0				#该类中定义了三个类方法
    def __init__(self,name,salary):	
        self.name=name
        self.salary=salary
        Employee.empCount+=1
        
    def displayCount(self):
        print("Total Emloyee %d" %Employee.empCount)
    
    def displayEmployee(self):
        print ("Name : ", self.name,  ", Salary: ", self.salary)
        
emp1=Employee("zara",2000)	#实例对象
emp2=Employee("Tom",3000)
emp1.displayEmployee()		#调用类方法
emp2.displayEmployee()
print( "Total %d" % Employee.empCount)
结果如下:
Name :  zara , Salary:  2000
Name :  Tom , Salary:  3000
Total 2

继承

#继承上一节的Employee类
class Child(Employee): # 定义子类并继承父类
   def __init__(self):
      print "调用子类构造方法"
   def childMethod(self):
      print '调用子类方法'
c = Child()          # 实例化子类,子类既可调用自身的方法,也可调用父类方法,此为继承
c.childMethod()      # 调用子类的方法
c.displayCount()     # 调用父类方法

方法重写

class Child(Employee): 		# 定义子类
   def displayCount(self):	# 子类可重新定义父类已存在的方法,该过程称为重写
        print("Total Emloyee %d" %Employee.empCount)

总结练习:实现名片管理系统

1、在文件中新建两个python文件,分别命名为:
cards_main.py
cards_tools.py
2、 cards_tools.py作为功能模块导入到cards_main.py
在cards_main.py中输入

import cards_tools

3、开始在cards_main.py中定义方法

card_list = []					#定义名片列表,初始为空
def show_menu():				"""显示主菜单选项"""
    print("1.新增名片\n"
          "2.显示所有名片\n"
          "3.搜索名片\n\n"
          "0.退出系统\n")
    print("^"* 50)
    action_str = input("请选择希望执行的操作:")
    return action_str```
def return_menu():				#定义返回主菜单的方法
    while True:
        action_str=input("\n输入0返回主界面")
        if action_str=="0":
            break

主菜单效果图:
主菜单

def new_card():			#想card_list中添加新名片的方法
    """
    添加新名片信息
    """
    print("^"*50)
    print("新增名片")
    #1.提示用户输入名片信息
    name  = input("请输入姓名 :")
    phone = input("请输入电话 :")
    qq    = input("请输入QQ号 :")
    email = input("请输入Email :")
    #2.将输入的信息存入字典格式
    card_dict = {"name":name,
                "phone":phone,
                "qq":qq,
                "email":email}
    #3.将名片字典存入List
    card_list.append(card_dict)
    #4.提示添加成功
    print("添加' %s '的名片成功!"%name)
    return_menu()

添加名片效果图:
添加名片

def show_all():			#打印系统中全部名片
    print("^" * 50)
    print("显示所有名片")
    #判断是否存在记录
    if len(card_list)==0:
        print("当前没有名片记录,请添加名片")
        return
    # 遍历列表打印所有信息
    for table_name in ["姓名","电话","QQ ","邮箱"]:
        print(table_name,end="\t\t")
    print("")
    print("-"*50)
    for card_dict in card_list:
        print("%s\t\t2%s\t\t%s\t\t%s\t\t"%(card_dict["name"],
                                  card_dict["phone"],
                                  card_dict["qq"],
                                  card_dict["email"]),end="\t\t\n")
    return_menu()

打印列表效果如图:
打印列表

def sch_card():					#对用户信息进一步编辑的中间方法
    print("^" * 50)
    #1.提示用户输入要搜索的用户名
    find_name= input ("搜索名片\n请输入要搜索的姓名:")
    #2.遍历名片列表,找到信息并提示
    index=find_card(find_name)	#调用find_card方法
    #3.可能继续执行的操作
    deal_card(index)			#调用deal_card方法
    return_menu()
    
def find_card(find_name):		#查找用户并返回在列表中的位置
    """
    查找指定名字的名片
    :param find_name: 要找的姓名
    :return: 返回在card_list中的索引
    """
    for card_dict in card_list:
        if find_name==card_dict["name"]:
            print("姓名:%s\n电话:%s\nQQ:%s\n邮箱:%s" %(card_dict["name"],
                                                         card_dict["phone"],
                                                         card_dict["qq"],
                                                         card_dict["email"]))
            found_name=find_name
            index=card_list.index(card_dict)
            break
        else:
            print("未找到用户")
            found_name = ""
    return index

def deal_card(index):		#显示可处理用户信息的详细功能
    action_str = input("1.修改\n"
                       "2.删除\n"
                       "0.无需其他操作")
    if action_str == "1":
        edit_card(index)
    elif action_str == "2":
        delete_card(index)
    elif action_str =="0":
        show_menu()

效果如图:
查找用户
编辑

def edit_card(index):		#修改用户信息的方法
    action_str = input("请问要修改该用户的哪项信息:\n"
                        "1.姓名\n2.电话\n3.QQ\n4.邮箱\n0.返回上一层")
    if action_str=="1":
        card_list[index]["name"]=input("请输入新的姓名:")
    elif action_str=="2":
        card_list[index]["phone"] = input("请输入新的电话:")
    elif action_str=="3":
        card_list[index]["qq"] = input("请输入新的QQ:")
    elif action_str=="4":
        card_list[index]["email"] = input("请输入新的邮箱:")
    elif action_str=="0":
        deal_card(index)
        
def delete_card(index):		#删除名片的方法
    card_list.remove(index)

好了,这时候模块中的方法我们就已经全部定义好了,只需在card_main文件中调用即可

import cards_tools
while True:
    action_str=cards_tools.show_menu()  #显示菜单
    if action_str in ["0","1","2","3"]:
        if action_str =="1":
            cards_tools.new_card()
        elif action_str =="2":
            cards_tools.show_all()
        elif action_str =="3":
            cards_tools.sch_card()
        elif action_str =="0":
            print("正在退出...欢迎下次使用本系统")
            break
    else: print("您的输入有误,请重新输入")
#include<stdio.h> 
int main() {
printf("Hello Python!");
}

Python是不是让你有种飞一般的感觉,你学会了吗?