__ ভবিষ্যত___ থেকে আমদানি করা প্রিন্ট_ফংশনটি পাইথন 2-স্টাইলের মুদ্রণটি কেন ভেঙে দেয়? [বন্ধ]


135

আমি অজগর নিয়ে প্রোগ্রামিংয়ে নতুন, এবং আমি একটি বিভাজক এবং শেষ দিয়ে মুদ্রণ করার চেষ্টা করছি তবে এটি এখনও আমাকে একটি সিনট্যাক্স ত্রুটি দিচ্ছে।

আমি পাইথন ২.7 ব্যবহার করছি।

আমার কোডটি এখানে:

from __future__ import print_function
import sys, os, time

for x in range(0,10):
    print x, sep=' ', end=''
    time.sleep(1)

এবং এখানে ত্রুটি:

$ python2 xy.py
  File "xy.py", line 5
    print x, sep=' ', end=''
          ^
SyntaxError: invalid syntax
$

4
আপনি মুদ্রণটিকে একটি ফাংশন হিসাবে আমদানি করেছেন তবে আপনি এখনও এটিকে বিবৃতি হিসাবে ব্যবহার করছেন
জোনারশপে

4
আপনি প্রথম বন্ধনী ছাড়া মুদ্রণ কল করতে পারবেন না কারণ আপনি মুদ্রণটিকে ফাংশন প্রিন্ট (আর্গস) হিসাবে পরিবর্তন করেছেন
চার্লি পার্কার

উত্তর:


210

সবার আগে, from __future__ import print_functionআপনার স্ক্রিপ্টে কোডের প্রথম লাইন হওয়া দরকার (নীচে উল্লিখিত কিছু ব্যতিক্রম বাদে)। দ্বিতীয়ত, অন্যান্য উত্তরগুলি যেমন বলেছে, আপনাকে printএখন একটি ফাংশন হিসাবে ব্যবহার করতে হবে । এর পুরো বিষয়টি from __future__ import print_function; পাইথন 3 থেকে পাইথন 2.6+ এ print ফাংশনটি আনতে ।

from __future__ import print_function

import sys, os, time

for x in range(0,10):
    print(x, sep=' ', end='')  # No need for sep here, but okay :)
    time.sleep(1)

__future__বিবৃতিগুলি ফাইলের শীর্ষের কাছাকাছি হওয়া প্রয়োজন কারণ তারা ভাষা সম্পর্কে মৌলিক জিনিসগুলিকে পরিবর্তন করে এবং তাই সংকলকটি তাদের শুরু থেকেই জানা উচিত। ডকুমেন্টেশন থেকে :

একটি ভবিষ্যতের বিবৃতি সংকলন সময়ে বিশেষভাবে স্বীকৃত এবং চিকিত্সা করা হয়: মূল নির্মাণের শব্দার্থবিজ্ঞানের পরিবর্তনগুলি প্রায়শই বিভিন্ন কোড উত্পন্ন করে প্রয়োগ করা হয়। এমন কি এমন ঘটনাও ঘটতে পারে যে কোনও নতুন বৈশিষ্ট্যটি নতুন বেমানান সিনট্যাক্সের (যেমন একটি নতুন সংরক্ষিত শব্দ) পরিচয় করিয়ে দেয়, সেক্ষেত্রে সংকলকটিকে মডিউলটিকে আলাদাভাবে পার্স করার প্রয়োজন হতে পারে। রানটাইম না হওয়া পর্যন্ত এই জাতীয় সিদ্ধান্তগুলি বন্ধ করা যায় না।

ডকুমেন্টেশনে আরও উল্লেখ করা হয়েছে যে কেবলমাত্র একটি বিষয় যা __future__বিবৃতি আগে আসতে পারে সেগুলি হ'ল মডিউল ডক্ট্রিং, মন্তব্য, ফাঁকা লাইন এবং ভবিষ্যতের অন্যান্য বিবৃতি।


1
First of all, from __future__ import print_function needs to be the first line of code in your script , আমি কি জানতে পারি কেন?
অবিনাশ রাজ

1
@UHMIS, কি end=' '
সাইফেজ

14
ডকুমেন্টেশন দ্বারা বলা হয়েছে ( docs.python.org/2/references/simple_stmts.html#future ) এটি প্রথম লাইন হতে হবে না :A future statement must appear near the top of the module. The only lines that can appear before a future statement are: the module docstring (if any), comments, blank lines, and other future statements.
এনগলাম

1
@ গুলুলাম, আমি এটি উল্লেখ করার জন্য সম্পাদনা করেছি, তবে এটি প্রথম অনুচ্ছেদে পরিষ্কার ছিল না, তাই আমি এটি স্থির করেছিলাম। এটা ইশারা জন্য ধন্যবাদ।
সাইফেজ

1
@ অবিনাশরাজ, আমি জানি না; আপনি UHMIS জিজ্ঞাসা করতে হবে। তবে আমি আপনার উত্তরের মন্তব্যে যেমন বলেছিলাম, সম্ভবত ওপি একটি পরিবর্তন করেছে এবং এটি উল্লেখ করে নি। এবং ওপির প্রথম মন্তব্যটি ছিল যে এখনও ত্রুটি ছিল।
সাইফেজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.