zoukankan      html  css  js  c++  java
  • python入门 -- 学习笔记2

    习题11:提问

      --  接受键盘的输入  raw_input

      input() 和 raw_input() 有何不同?
      input() 函数会把你输入的东西当做 Python 代码进行处理,这么做会有安全问题,你应该避开
    这个函数。

    代码:

    print "how old are you?",

    age = raw_input()
    print "How tail are you?",
    height = raw_input()
    print "how much do you weight?",
    weight = raw_input()

    print "So, you're %r old, %r tall and %r heavy." % (
      age, height, weight)

    结果:

    习题12:提示别人

    代码: 

    age = raw_input("How old are you? ")
    height = raw_input("How tall are you? ")
    weight = raw_input("How much do you weight? ")

    print "So, you're %r old, %r tall and %r heavy." % (age, height, weight)

    结果:

     习题13:参数、解包、变量

      --   将变量传递给脚本的方法(所谓脚本,就是你写的 .py 程序),涉及“参数”

      --   import 将python已有的功能引入脚本直接使用

      --   argv:参数变量 

      --   解包:script, first, second, third = argv    把argv中的东西解包,将所有的参数一次赋予左边的变量名

      --   argv 和 raw_input() 有什么不同?

        不同点在于用户输入的时机。如果参数是在用户执行命令时就要输入,那就是 argv,如果是在脚本运行过程中需要用户输入,那就使用 raw_input()。

    代码: 

    from sys import argv

    script, first, second, third = argv

    print "The script is called:", script
    print "Your first variable is:", first
    print "Your second variable is:", second
    print "Your third variable is:", third

    结果:

     

    习题14:提示与传递

    代码:

    from sys import argv

    script, user_name = argv
    prompt = '> '

    print "Hi %s, I'm the %s script." % (user_name, script)
    print "I'd like to ask you a few questions."
    print "Do you like me %s?" % user_name
    likes = raw_input(prompt)

    print "Where do you live %s?" % user_name
    lives = raw_input(prompt)

    print "What kind of computer do you have?"
    computer = raw_input(prompt)

    print '''
      Alright, so you said %r about liking me.
      You live in %r. Not sure where that is.
      And you have a %r computer. Nice.
    ''' % (likes, lives, computer)

    结果:

    习题15:读取文件

      --   涉及两个文件,一个脚本文件.py文件,另一个是ex15_sample.txt

      第二个文件内容:

    This is stuff I typed into a file.
    It is really cool stuff.
    Lots and lots of fun to have in here.

    --   open()  打开文件   返回的是一个“file object”

    --   read()  读取文件内容

    代码:

    from sys import argv

    script, filename = argv

    txt = open(filename)

    print "Here's your file %r:" % filename
    print txt.read()

    print "Type the filenmae again:"
    file_again = raw_input("> ")

    txt_again = open(file_again)

    print txt_again.read()

    结果:

    习题16:读写文件

      --   close  关闭文件

      --   read  读取文件内容

      --   readline  读取文本文件中的一行

      --   write(stuff)   将stuff写入文件

    代码:

    from sys import argv

    script, filename = argv

    print "We're going to erase %r." % filename
    print "If you don't want that, hit CTRL-C (^C)."
    print "If you do want that, hit RETURN."

    raw_input("?")

    print "Opening the file..."
    target = open(filename, 'w')

    print "Truncating the file, Goodbye!"
    target.truncate()

    print "Now I'm going to ask you for three lines."

    line1 = raw_input("line 1: ")
    line2 = raw_input("line 2: ")
    line3 = raw_input("line 3: ")

    print "I'm going to write these to the file."

    target.write(line1)
    target.write(' ')
    target.write(line2)
    target.write(' ')
    target.write(line3)
    target.write(' ')

    print "And finally, we close it."
    target.close()

    结果:

     习题17:更多文件操作

      --   exists()  判断文件是否存在,存在,继续执行;不存在,新建文件再继续执行

    代码:

    from sys import argv
    from os.path import exists

    script, from_file, to_file = argv

    print "Copying from %s to %s" % (from_file, to_file)

    #we could do these two on one line too, how?
    in_file = open(from_file)
    indata = in_file.read()

    print "The input file is %d bytes long" % len(indata)

    print "Does the output file wxist? %r" % exists(to_file)
    print "Ready, hit RETURN to continue, CTRL-C to abort."
    raw_input()

    out_file = open(to_file, 'w')
    out_file.write(indata)

    print "Alright, all done."

    out_file.close()
    in_file.close()

    结果:

    习题18:命名、变量、代码、函数

      函数可做三洋事情:

       1、给代码片段命名,就跟“变量”给字符串和数字命名一样

       2、可以接受参数,就跟脚本接受argv一样

       3、通过使用#1和#2,可以创建“微型脚本”或者“小命令”

      介绍:

        def:定义

        函数名:可以随意取,最好能体现出函数的功能来,注意命名规范!不可重复

        参数:放在圆括号内

        格式:def  函数名称  (参数-多个参数以“,”隔开):

             函数内容  开始编写前缩进4个空格

        函数可以接收参数,也可以不接收参数

        运行/调用函数,函数名后紧跟(参数-可有可无,可多个)

    代码:

    # this one is like your scripts with argv
    def print_two(*args):
      arg1, arg2 = args
      print "arg1: %r, arg2: %r" % (arg1, arg2)

    # ok, that *args is actually pointless, we can just do this
    def print_two_again(arg1, arg2):
      print "arg1: %r, arg2: %r" % (arg1, arg2)

    # this just takes one argument
    def print_one(arg1):
      print "arg1: %r" % arg1

    # this one takes no arguments
    def print_none():
      print "I got nothin'."

    print_two("Zed", "Shaw")
    print_two_again("Zed", "Shaw")
    print_one("First!")
    print_none()

    结果:

    习题19:函数和变量

    代码:

    def cheese_and_crackers(cheese_count, boxes_of_crackers):
      print "You have %d cheeses!" % cheese_count
      print "You have %d boxes of crackers!" % boxes_of_crackers
      print "Man that's enough for a party!"
      print "Get a blanket. "

    print "We can just give the function numbers directry:"
    cheese_and_crackers(20, 30)

    print "OR, We can use variables from our script:"
    amount_of_cheese = 10
    amount_of_crackers = 50

    cheese_and_crackers(amount_of_cheese, amount_of_crackers)

    print "We can even do much inside too:"
    cheese_and_crackers(10 + 20, 5 + 6)

    print "And we can combine the two, variables and much:"
    cheese_and_crackers(amount_of_cheese + 100, amount_of_crackers + 1000)

    结果:

    习题20:函数和文件

      --   更多文件操作  seek()   readline()

    代码:

    from sys import argv

    script, input_file = argv

    def print_all(f):
      print f.read()

    def rewind(f):
      f.seek(0)

    def print_a_line(line_count, f):
      print line_count, f.readline()

    current_file = open(input_file)

    print "First let's print the whole file: "

    print_all(current_file)

    print "Now let's rewind, kind of like a tape."

    rewind(current_file)

    print "Let's print three lines:"

    current_line = 1
    print_a_line(current_line, current_file)

    current_line = current_line + 1
    print_a_line(current_line, current_file)

    current_line = current_line + 1
    print_a_line(current_line, current_file)

    结果:

     

  • 相关阅读:
    os.path.split()、os.path.realpath()和os.path.join()
    我终于也有了自己的博客网站
    (Bug修复)C#爬虫,让你不再觉得神秘
    DevExpress弹框、右键菜单、Grid的使用
    Linux 宝塔部署 ASP.NET Core 应用
    C#高级特性(反射)
    WPF 的内部世界(Binding)
    WPF 的内部世界(控件与布局)
    Layui事件监听(表单和数据表格)
    (待更新)tensorboard [Fatal error in launcher: Unable to create process using]
  • 原文地址:https://www.cnblogs.com/testing2019/p/10653425.html
Copyright © 2011-2022 走看看