三、基础语法 下

  1. 函数
    • 函数带名字的代码块,用于完成具体工作。
    • def  函数名(形参1,形参2): 函数体
    • #user_name 是形参
      def greet_user(user_name):
          """显示简单的问题语"""
          print("Hello:"+user_name.title()+"!")
          
      #juice是实参    
      greet_user("juice")
      View Code

      传递参数形式:位置实参、关键字实参

    • def descript_userinfo(username,age):
          print("I am "+username+", I am "+str(age)+" years old")
          
      #位置实参调用形式,位置实参根据位置确定实参对应形参。
      descript_userinfo("jack",10)
      
      #关键词实参,需要准确指定函数定义的形参名
      descript_userinfo(username="jack",age=11)
      View Code

      参数默认值,为形参设置指定值,在传递实参时可不传形参数已设置指定值的实参

    • #默认值示例
      def describe_userinfo(username,age=18):
          print(f"I am {username.title()}, I am {str(age)} years old")
          
      #age 默认值为18,可传递参数
      describe_userinfo("jack")
      View Code

      返回值,返回简单值、列表、字典

    • 传递任意数量的实参,*传递列表,**传递字典
    • def greet_user(*users):
          print(users)
          
      greet_user('jack')
      greet_user('jack','tom')
      
      def greet_user(**users):
          print(users)
          
      greet_user(firstname='jack')
      greet_user(first='jack',last='tom')
      View Code

      将函数存储在模块中,模块是独立的.py后缀文件。文件引用模块通过import  、from 模块名 import 函数名。

    • View Code

    • 创建类
      • python约定类名首字母大写。
      • _init_(self),是特殊方法,创建实例时python会自动运行。
      • 方法前后加_是一种约定,避免默认方法与普通方法名称发生冲突
    • 创建实例、属性赋值、属性调用、方法调用
    • class Dog():
          """模拟小狗"""
          
          def _init_(self,name,age):
              """初始化属性name和age"""
              self.name=name
              self.age=age
              
          def sit(self):
              """模拟小狗坐下"""
              print(self.name.title()+" is now sitting")
              
          def roll_over(self):
              """模拟小狗打滚"""
              print(self.name.title()+" rolled over")
              
      
      #创建实例        
      my_dog=Dog()
      
      #属性赋值
      my_dog.name='while'
      my_dog.age=6
      
      #访问属性
      print(f"name is:{my_dog.name.title()}")
      print(f"age is:{str(my_dog.age)}")
      
      #调用方法
      my_dog.sit()
      my_dog.roll_over()
      View Code

      继承
      View Code

  2. 文件与存储
    • 读取文件,逐行读取,移除空格
    • #相对路径
      with open('pi.txt') as object:
          contents=object.read()
          print(contents) 
          
      #绝对路径    
      path='E:\PythonCode\DemoCode\pi.txt'
      #移除全部空格
      pi_string=""
          
      with open(path) as object:
              
          #逐行读取
          #for line in object:
          #    print(line.rstrip())
          
          for line in object:        
              pi_string+=line.strip()
      
          print(pi_string)
      View Code

      写入文件,新创建写入,追加写入

      file_name='name2.txt'
      
      #w 写入模式,文件不存在时创建,存在时覆盖
      with open(file_name,'w') as file_object:
          file_object.write("hello kitty\n")
          file_object.write("hello world\n")
      
      # a 写入模式,文件不存在时创建,向文件中追加数据
      with open(file_name,'a') as file_object:
          file_object.write("hello kitty\n")
          file_object.write("hello world\n")
          
          
      with open(file_name) as read_object:
          print(read_object.read().rstrip())
      View Code
  3. 异常
    • try-except-else处理异常
    • ZeroDivisionError异常
    • 使用异常避免崩溃
    • pass不做任何处理跳过异常
      try:
          print(5/0)
      except ZeroDivisionError:
          print('发生了异常')
          #使用pass忽略异常
          #pass
      #使用else 处理正常流程
      else:
          print("异常被忽略")
      View Code
  4. 存储数据
    • json存储数据
      import json
      
      name="number.txt"
      def get_num():
          try:
              with open(name) as f_object:
                  username=json.load(f_object)
          except FileNotFoundError:
              return None
          else:
              return username
              
      def set_num():
          """提示输入用户名"""
          username=input("请输入用户:")
          with open(name,'w') as object:
              json.dump(username,object)
          
          return username
          
      def greet_user():
          username=get_num()
          
          if username:
              print("Welcome back "+username)
          else:
              username=set_num()        
              print("Welcome back "+username)    
          
      greet_user()
      View Code

猜你喜欢

转载自www.cnblogs.com/bro-ma/p/10367928.html