《Python编程从入门到实践》学习笔记-语法篇

在这篇文章中,将《Python编程从入门到实践》中介绍的重要代码整理总结,并配有书中相关语法的注释,收录了从第1章到第11章的全部重要语法知识点。

#在这里大量使用print,方便读者下载进行编译调试理解代码及结果,增强学习效果
 
 
 
#第2章 变量和简单数据类型
 
 
 
#string.lower()与string.upper()
name="Ada lover"
print(name.lower())
print(name.upper())
 
#字符串拼接
first_name="zhang"
last_name="shuang"
print(first_name+" "+last_name)
 
#实现首字母的大写
print((first_name+" "+last_name).title())
 
#找出开头和结尾的空白
print((" "+first_name+" "+last_name+" ").strip())
print((" "+first_name+" "+last_name+" ").lstrip())
print((" "+first_name+" "+last_name+" ").rstrip())
 
#将非字符串转换为字符串
a=23
print("I'm "+str(a)+" years old")
 
 
 
#第3章 列表及操作列表
 
 
 
zhang_shuang=['age','weight','height']
print(zhang_shuang[0])
print(zhang_shuang[-1])
 
zhang_shuang[0]='eyes'
print(zhang_shuang)
 
#列表添加元素
zhang_shuang.append(['nose','mouth'])
zhang_shuang.append('tonuge')
 
#列表中特定位置插入元素
zhang_shuang.insert(1,'arm')
 
#删除特定位置元素
del zhang_shuang[4]
#输出尾部删除元素,还可以删除指定位置元素
print(zhang_shuang.pop())
#指定元素删除(只删除第一个元素的值,若有重复值需要循环删除)
zhang_shuang.remove('eyes')
print(zhang_shuang)
 
#使用sort()方法对列表进行永久性排序(正序及反序)
zhang_shuang.sort()
zhang_shuang.sort(reverse=True)
print(zhang_shuang)
 
#使用sorted函数进行临时排序
print(sorted(zhang_shuang))
print(zhang_shuang)
 
#反转列表元素顺序
zhang_shuang.reverse()
 
#确定列表长度
print(len(zhang_shuang))
 
#遍历列表
for element in zhang_shuang:
    print(element)
    
#创建数值列表,
for value in range(1,5):
    print(value)
 
#1-4,步长为2
numbers=list(range(1,5,2))
print(numbers)
 
#对数字列表进行简单的统计运算
print(max(numbers))
print(min(numbers))
print(sum(numbers))
 
#列表解析
squares=[value**2 for value in range(1,11)]
print(squares)
 
#列表切片
print(squares[0:3])
print(squares[:3])
print(squares[-3:])
 
#复制列表
square=squares[:]
print(square)
 
#不可修改的列表称为元组
dimensions=(200,50)
#如果进行重新赋值,可重新定义整个元组
dimensions=(400,100)
 
 
 
#第4章 if语句
  
 
#条件判断
age=12
if age<4:
    age=0
elif age<18:
    age=1
elif age<20:
    age=2
else:
    pass
print(age)
 
#检查特定值是否包含在列表中
cats=['cat1','cat2','cat3']
if 'cat2' in cats:
    print("列表中已经有cat2了!") 

#检查特定值是否不包含在列表中
cats=['cat1','cat2','cat3']
if 'cat2' not in cats:
    print("列表中已经有cat2了!") 

#检查列表不是空的
cats=[]
if cats:
    print("列表不是是空的")
else:
    print("列表是空的")


#第5章 字典
 
 
 
 
zhang_shuang={'name':'zs','age':'21','weight':'100'}
print(zhang_shuang['name'])
#在字典中新增一个键值对
zhang_shuang['height']='160cm'
#删除键值对
del zhang_shuang['weight']
#遍历字典
for key,value in zhang_shuang.items():
    print("\nkey:"+key)
    print("value:"+value)
#遍历字典中的所有键
for key in zhang_shuang.keys():
    print(key)
#遍历字典中的所有值
for value in zhang_shuang.values():
    print(value)
    
#字典列表
aliens=[]
for alien_number in range(30):
    new_alien={'name':'zs','age':'15'}
    aliens.append(new_alien)
for alien in aliens:
    print(alien)
    
#在字典里存储列表
pizza={'crust':'thick','toppings':['mushrooms','extra cheese']}
#在字典中存储字典
 
 
 
#第6章 用户输入和while循环
 
 
 
#用户输入
message=input()
print(message)
 
#使用int来获取数值输入
age=input("how old are you")
age=int(age);
if age<=30:
    print("You are so young!")
    
#while循环格式同if判断,通过break可退出循环,continue跳过本次循环
 
#利用while循环删除列表中的重复元素
pets=['dog','cat','cat','pig']
print(pets)
while 'cat' in pets:
    pets.remove('cat')
print(pets)
    
 
 
#第7章:函数
 
 
 
#定义一个函数,返回类型为字典
def build_person(first_name,last_name):
    person={'first':first_name,'last':last_name}
    return person
person1 = build_person('zhang','shuang')
print(person1)
 
#传递列表
def greet_users(names):
    for name in names:
        print(name)
usernames=['sd','fg','gh']
greet_users(usernames)
 
#禁止函数修改列表,可以将列表的副本传递给函数
function_name(list_name[:])
 
#传递任意数量的实参,会封装成一个元组
def function_name(*args):
    print(args)
function_name('zhang')
function_name('zhang','li','guo','wang')
 
#结合使用位置实参和任意数量实参
def function_name(num,*args):
    print(num,args)
function_name(4,'zhang','li','guo','wang')

#将函数存在模块中,引用时从另一文件中import即可
#导入特定的函数,from 块 import 函数
#使用as给函数指定别名
#使用as给模块指定别名
#导入模块中所有函数(好处是不用写模块名字.):from 块 import *
 
 
 
#第8章:类
 
 
 
class Animal():
    def __init__ (self,name,age):
        self.name=name
        self.age=age
        #给属性指定默认值,实例中会有一个隐含的参数weight,可以在外部手动修改其值,无需提前传参
        self.weight=0
        
    def sit(self):
        print(self.name.title()+" is now sitting")
my_dog=Animal('beibei',5)
print(my_dog.name.title())
print(my_dog.age)
my_dog.sit()
 
#修改属性的值:直接修改&&通过方法修改
        
#继承
class Dog(Animal):
    def __init__(self,name,age):
        super.__init__(name,age)    #给父类传参,super指向父类,__init__指向本实例
        #新增属性默认值
        self.height=0

#重写父类的方法,与父类的方法重名即可,程序会忽略父类的方法调用子类的方法
#类中定义默认参数(形参可选,可不传参,自动使用默认值) def __init__(self,name,age=2)
#导入类 from 模块(文件)import 类
#导入一个模块中的所有类  from 模块 import *
        
 
 
#文件和异常
 
 
 
#读取整个文件(绝对路径)
with open('txt_files\zhang_shuang.txt') as file_object:
    contents=file_object.read()
    print(contents)
    
#逐行读取,同时消除多余的空行符
with open('zhang_shuang.txt') as file_object:
    for line in file_object:
        print(line.rstrip())
        
#常常使用with来处理文件的读取操作,with所求值的对象必须有一个enter()方法,一个exit()方法(文件实例中包含这两个方法),因为with关键字最后会自动调用exit()方法,可以间接调用文件实例的close方法,避免open了一个文件但是最后忘记close这个资源或者程序出错导致无法close。
#使用关键字with 时, open() 返回的文件对象只在with 代码块内可用。 
#如果要在with 代码块外访问文件的内容, 可在with 代码块内将文件的各行存储在一个列表中, 
#并在with 代码块外使用该列表: 你可以立即处理文件的各个部分, 也可推迟到程序后面再处理


#readlines() 从文件中读取每一行, 并将其存储在一个列表中
with open('zhang_shuang.txt') as file_object:
    lines=file_object.readlines()
for line in lines:
    print(line.rstrip())
    
#可使用replace()将字符串中的特定单词都替换为其他单词
message="I like dogs"
message.replace('dog','cat')
#即message变为“I like cats”
 
#写入文件,写入多行时需要自行加入换行符
with open(filename,'w') as file_object:
    file_object.write('I like dogs\n')
    file_object.write('I like cats\n')
#r 为读取,w为写,a为追加,r+ 为读写,默认为只读

#异常
try:
    answer = a/b
except:
    print("b不能为0")    #出错时执行except内代码块
else:
    print(answer)    #没有出错时执行else内代码块



     
#json存储数据:json将数据结构转储到文件中,并在程序再次运行时加载
#json也可在多个语言之间共享
    
#使用json.dump()存储
import json
numbers=[1,2,3,4,5]
with open(filename,'w') as f_obj:
    json.dump(numbers,f_obj)
    
#使用json.load()将数据读取到内存中
import json
with open(filename) as f_obj:
    number=json.load(f_obj)
 
#包含json和异常的小程序:
#如果之前存储了用户名就加载它,否则就提示输入用户名并存储
import json
try:
    with open(filename) as file_object:
        username=json.load(file_object)
except FileNotFoundError:
    username=input("What's your name?")
    with open(filename,'r') as file_object:
        json.dump(username,file_object)
        print("We'll remember you"+username)
else:
    print("Welcome back,"+username)
     

你可能感兴趣的:(Python学习)