Month: May 2025

  • Pakistan on Kashmir and its Internal Struggles

    Pakistan on Kashmir and its Internal Struggles

    This discussion explores the complex relationship between Pakistan and India, focusing on the historical Kashmir issue and other points of contention. Arguments are presented regarding Pakistan’s stance on Kashmir, asserting a lack of a true indigenous movement and instead highlighting Pakistani sponsorship of militants. The conversation also touches upon human rights violations in both India and Pakistan, particularly concerning minorities in Pakistan and historical events like the massacre in East Pakistan and the treatment of Ahmadis and Christians. The dialogue further examines Pakistan’s economic struggles, attributing them partially to its focus on Kashmir and perceived inconsistencies in its foreign policy and historical decisions, contrasting them with India’s perceived progress and economic stability.

    Analyzing the Kashmir Conflict

    Based on the sources provided, the Kashmir conflict is discussed from various perspectives, highlighting its history, the nature of the movement, the role of international agreements, and the ongoing search for a solution.

    The issue of Kashmir is described as one that has been a point of contention between Pakistan and India. The Shimla Agreement, signed between Indira Gandhi and Zulfikar Ali Bhutto, stipulated that the Kashmir issue would be solved through dialogue and negotiation between Pakistan and India. However, the insurgency in Kashmir is noted to have begun in 1989. Prior to this, from 1971 to 1989, India is said to have always denied requests from Pakistan to sit down and solve the issue through dialogue.

    Regarding the nature of the movement in Kashmir, one perspective presented is that there was no indigenous movement in Kashmir, suggesting it was orchestrated by Pakistan, citing even former President General Musharraf’s alleged statement about diverting “Jihadis” from Afghanistan to Kashmir. Conversely, it is argued that there is an indigenous movement of Kashmiris. However, if asked in a “caste-wise” manner, it’s suggested that the indigenous movement is being sponsored. It is also argued that sending “Jihadi forces” from Pakistan would not favor the indigenous movement and would actually defame it. A liberal perspective is offered, suggesting that the legitimate struggle of Kashmiris against India should not seek help from any “Jihadi or terrorist organisation or outfits”.

    The conflict is also viewed through the lens of religion and identity. One viewpoint asserts that the Kashmir issue is looked at only from the perspective of Muslims. Syed Ali Shah Gilani, a Hurriyat Conference leader, is quoted as saying living as a Muslim in a non-Muslim society is difficult, like a fish living without water. Benazir Bhutto is quoted as having given a speech provoking Kashmiris by saying that “Mujahideen and Islam run in the veins of Kashmiris” and that “The people of Kashmir are the heirs… of Rasool Pak… Hazrat Ali and Hazrat Umar” and their women are heirs of wives like Khadija and Fatima. It is argued that Pakistan’s identity itself is tied to Islam, and removing Islam would leave “Nothing”.

    Human rights violations in Kashmir are mentioned, with one speaker acknowledging that “very much in india Many excesses have occurred”. However, they question whether such violations occurred in the same manner before 1989, suggesting they escalated “When you have a gun I will raise it when you start killing innocent people If you do”. Another speaker observes that they see human rights violations in India but “not in pakistan”.

    The UN resolutions on Kashmir are a key point of discussion. It is stated that Pakistanis quote UN resolutions without reading them. An Indian scholar named AG Noorani wrote a book titled “The Kashmir Dispute” in which he stated that Jinnah Saheb was offered a plebiscite in all three states (Hyderabad, Deccan, Junagadh, and Kashmir) in November 1947, but refused. A speaker recounts that their father was told by Liaquat Ali Khan that accepting the offer of Hyderabad Deccan instead of Kashmir was foolish. Another speaker claims the UN Security Council passed a resolution in April 1948 for a plebiscite with conditions. This resolution allegedly stated that Pakistan should first remove non-Kashmiris and all its forces from the territory, while India would remove the bulk of its forces but could keep a small force for law and order. Pakistan reportedly objected to this, and the UN stated that India was the “epicentre” and Pakistan the “aggressor,” requiring Pakistan’s complete withdrawal. Pakistan is said to have later refused to accept these conditions. The 1965 war is seen by some as ruining the possibility of a plebiscite. Kofi Annan is quoted as having said that the plebiscite issue is “totally redundant Now” and advised leaders to work in the spirit of the Lahore Declaration. It is also mentioned that Quaid-e-Azam Mohammed Ali Jinnah rejected Mountbatten’s suggestion of a plebiscite in November 1947. The simple solution suggested, based on UN resolutions, is for Kashmir to decide through a plebiscite whether it wants independence, to stay with India, or to stay with Pakistan, and both countries should accept the outcome.

    Historical events and decisions are debated. Pakistan’s accession of Junagadh is criticized as a “poor Judgment” that harmed Pakistan’s case on Kashmir, especially since Junagadh was not contiguous and did not have a Muslim majority, while Pakistan argued Kashmir was theirs due to its Muslim majority. This is presented as a contradiction in principle. Pakistan is blamed for starting the wars in 1965 and 1971, as well as the Kargil conflict and promoting “thousand sentences” of terrorism, while also lecturing on peace. The Mumbai attacks, targeting India’s financial center, are also attributed to groups coming from Pakistan. Conversely, India is accused of sponsoring and promoting separatist terrorism in Balochistan, with alleged signatures of Indian involvement seen in terrorism inside Pakistan. India is also accused of “terrorism” inside Pakistan in 1971 (East Pakistan), which is described as a “big conspiracy” and “the worst Example of terrorism” according to one speaker.

    The impact of the conflict is noted, including the spending of “600 billion dollars” which has “messed up your mind”. It is argued that as long as the Kashmir issue is not solved, problems will continue. The conflict affects the economy, preventing investors from coming. Two to two and a half crore tourists have visited Kashmir recently, indicating economic activity, but “this kind of work” (presumably attacks/terrorism) happens when the local economy flourishes, just as attacking Mumbai happens when India’s economy flourishes. The ongoing tension prevents trade and industry from flourishing. War is dismissed as not being a solution to any problem, especially between two nuclear powers. Dialogue is presented as the favorable approach for both countries.

    The lack of serious intellectual engagement with the Kashmir issue in Pakistan is pointed out. Despite it being considered a “life and death issue,” it is questioned why, after 78 years, no significant book written by a Pakistani on Kashmir can be recommended to understand the issue. It is suggested that this indicates a casual approach and a lack of seriousness, using the issue “to fool people”. The speaker thinks of writing a book himself as he is not aware of any that comprehensively covers the issue.

    Other related issues are discussed in the context of Pakistan’s internal situation and its connection to the Kashmir issue. These include human rights violations and atrocities against minorities in Pakistan. The treatment of Christians and Hindus is mentioned, along with historical events like the 1950 massacre in East Pakistan and the resignation letter of Jogendra Nath Mandal, Pakistan’s first Law Minister who was Hindu. The constitutional disqualification of non-Muslims from becoming President or Prime Minister is highlighted as a mockery of equality, despite the constitution stating all citizens are equal. The persecution of Ahmadis is also brought up, noting that Pakistan’s first foreign minister was an Ahmadi (Sir Zafarullah Khan) but today discussing this is considered “blasphemous”. The severe blasphemy laws in Pakistan and the lack of results from efforts to change them are mentioned. Mob violence against minority communities, such as the incident in Jadawala involving Christians, is discussed. The influence of clergy (Maulvis) who allegedly give “green light” signals for Jihad in Afghanistan and Kashmir is criticized. The feudal system in Pakistan, even legitimized by a Sharia court according to one speaker, is presented as a significant internal issue. These internal issues are sometimes linked to the broader discussion, with one speaker noting the arguments presented sound like those from Jamaat Islami, despite the speaker’s claim of being secular and liberal. The concept of “sacrifice” in Pakistan is debated, with the immense loss of life described by one speaker as being more akin to being victims of “riot” and terrorism rather than conscious sacrifice.

    India and Pakistan Relations: Conflict and Dialogue

    Based on the provided sources, the relationship between India and Pakistan is deeply intertwined with the Kashmir conflict and marked by a history of antagonism, military confrontations, mutual accusations of sponsoring terrorism, and economic disparities.

    The Kashmir issue is presented as a fundamental point of contention between Pakistan and India. The Shimla Agreement between Indira Gandhi and Zulfikar Ali Bhutto stipulated that the Kashmir issue should be resolved through dialogue and negotiation between the two countries. However, dialogue has been elusive, with one speaker stating that India denied Pakistan’s requests for dialogue from 1971 to 1989, before the insurgency in Kashmir began in 1989.

    The relationship has been punctuated by military conflicts. Pakistan is accused by one speaker of starting the wars in 1965 and 1971, as well as the Kargil conflict, while also lecturing on peace. Another speaker points to India’s alleged involvement in the events of 1971 in East Pakistan as a “big conspiracy” and “the worst Example of terrorism”.

    Terrorism is a major theme, with both countries accusing the other of sponsoring it.

    • Pakistan is accused of diverting “Jihadis” from Afghanistan to Kashmir. It is blamed for promoting “thousand sentences” of terrorism, hitting India’s financial center in Mumbai, and attacking Indian military compounds.
    • India is accused of sponsoring and promoting separatist terrorism in Balochistan and other terrorism inside Pakistan.
    • The source notes that cross-border terrorism sponsored from the neighborhood prevents trade, industry, and business from flourishing in Pakistan. There’s a mutual demand for the other side to stop sponsoring terrorism.

    The economic disparities between the two nations are highlighted. India’s economy is described as growing with 8-9% GDP growth and large foreign reserves. It attracts investors and manufacturing (like Apple iPhones). In contrast, Pakistan’s economy is struggling with high debt (80% debt to GDP ratio), reliance on institutions like the IMF, capital flight, and difficulties attracting investors. One speaker links Pakistan’s economic struggles directly to its “self-defeating approach” and policies, including the failure to resolve the Kashmir issue.

    The sources emphasize that war is not a solution to any problem between two nuclear powers, and dialogue is presented as the favorable approach. Despite the history of conflict, both countries are neighbors and this cannot change. One speaker quotes Indian Prime Minister Modi as suggesting both countries should work together against poverty, ignorance, and “naughtiness”.

    Historical decisions are debated as impacting the relationship. Pakistan’s accession of Junagadh is described as a “poor Judgment” that harmed Pakistan’s case on Kashmir, especially since Junagadh was not contiguous to Pakistan and did not have a Muslim majority, thus contradicting the principle Pakistan used for claiming Kashmir (Muslim majority). This is seen by one speaker as signaling a desire for poor relations with India from the outset.

    Ultimately, the sources portray India-Pakistan relations as deeply strained by the unresolved Kashmir issue, a cycle of violence and mutual blame regarding terrorism, and significant economic differences, while recognizing the shared necessity for dialogue between two nuclear neighbors.

    Minority Rights and Persecution in Pakistan

    Based on the sources provided and our conversation history, the discussion on minority rights in Pakistan highlights several critical issues:

    • Constitutional Discrimination and Marginalization: It is stated that the constitution of Pakistan disqualifies non-Muslims from becoming President or Prime Minister. This is described as a mockery of equality, despite the law stating that all citizens are equal. The sources suggest there is such deep insecurity that non-Muslims are marginalized and can hardly become chief ministers or governors, despite their small population size.
    • Historical Incidents and Accounts: The sources refer to a massacre in 1950 in East Pakistan involving Hindus. Jogendra Nath Mandal, Pakistan’s first Law Minister who was Hindu, reportedly wrote a resignation letter detailing the “liquidation” of Hindus and mentioning 10,000 Hindu converts were killed. The Liaquat-Nehru Pact of 1950 is mentioned, in which Pakistan and India committed to giving equal rights, but the question is raised whether this commitment has been upheld.
    • Persecution of Ahmadis: The Ahmadi community is discussed as facing persecution. It is noted with irony that Pakistan’s first Foreign Minister, Sir Zafarullah Khan, was an Ahmadi. However, today, discussing this fact is considered “blasphemous”. The sources ask how many Ahmadis have been killed, mentioning a recent incident where a doctor in Sargodha was killed because he was Ahmadi, and questions the justice they receive and the atrocities committed against them.
    • Severe Blasphemy Laws and Mob Violence: Pakistan’s blasphemy law is described as the “worst in the world”. The sources discuss incidents of mob violence against minority communities, particularly Christians, following allegations of blasphemy. Specific incidents mentioned include Jadawala, where churches and residences were set on fire, and Gojra, where nine Christians were reportedly burned alive. It is noted that while action was taken against some people in the Jadawala incident (nearly 300 arrested, with bails pending), in the Gojra case, all those involved were acquitted. The sources also question the accountability of clerics who allegedly give “green light” signals for such actions.
    • Lack of Seriousness and Struggle: One speaker questions the sincerity of efforts to secure equal rights for minorities, describing the struggle as “very very very Marginal” and lacking tangible results despite years passing.
    • Contrasting Perspectives on Human Rights: While one speaker claims that human rights violations are visible in India but “not in pakistan”, the subsequent discussion immediately provides examples of severe human rights violations against minorities within Pakistan. Speaking out against human rights violations in Pakistan is suggested to potentially have consequences.

    Overall, the sources present a picture where, despite constitutional claims of equality and historical commitments, minorities in Pakistan face legal discrimination, marginalization, and are victims of mob violence and persecution, often linked to blasphemy accusations, with questions raised about accountability and the state’s commitment to protecting their rights.

    Pakistan’s Economic Struggles vs. India’s Growth

    Based on the sources and our conversation, Pakistan’s economic situation is portrayed as challenging, particularly when contrasted with India’s.

    The sources indicate that Pakistan’s economy is struggling. Key indicators point to significant difficulties:

    • Pakistan needs to ask for “a billion or two billion dollars”.
    • The country relies heavily on institutions like the IMF, which is described as “dictating” the entire economic policy.
    • Pakistan has a high debt to GDP ratio, which has reached 80%.
    • There is difficulty attracting investors, with the question raised, “Why don’t investors come to you?”.
    • The risk of “capital flight” is mentioned, particularly in the context of potential conflict.
    • The sources highlight widespread poverty, people lacking money to pay electricity bills, and even suicides linked to this situation.
    • A large number of children, 2.5 crore, are stated to be out of school, suggesting a potential lack of investment in human capital which impacts future economic prospects.
    • Pakistan’s passport is described as the “fourth largest in the world Worst passport”, implying a lack of international engagement, which could affect tourism and business.

    This picture is sharply contrasted with India’s economic performance, which is described as having 8 to 9% GDP growth, large foreign reserves of 600-700 billion dollars, and successfully attracting investors and manufacturing, such as Apple iPhones being made in India.

    Several factors are suggested in the sources as contributing to Pakistan’s economic difficulties:

    • A “self-defeating approach” and having “done something wrong” are cited as reasons for the economic struggles and lack of investors.
    • The sources explicitly link the ongoing difficulties to the unresolved Kashmir issue.
    • Cross-border terrorism sponsored from the neighborhood is stated to prevent industry, trade, business, and investment from flourishing within Pakistan.
    • There is a suggestion that the country’s historical growth, particularly in the 1960s and 70s, was “inflated” and based on “borrowed money”. This historical reliance on borrowed money is also linked to undertaking “dirty work”.
    • Significant spending, potentially linked to security or conflict (“600 billion dollars are being spent”) is mentioned.
    • Specific economic hardships for citizens, such as the high cost of DAP fertilizer for farmers, leading to reduced wheat sowing, are highlighted.

    In essence, the sources present Pakistan’s economy as fragile, burdened by debt and external reliance, hindered by regional security issues and past policy choices, and resulting in significant hardship for its population, standing in stark contrast to the economic progress described for India.

    Kashmir: UN Resolutions, Plebiscites, and Pakistan’s Position

    Based on the provided sources and our conversation history, the discussion surrounding UN resolutions concerning Kashmir highlights several points:

    It is mentioned that Pakistanis quote UN resolutions on Kashmir without reading them. One speaker notes that people in Pakistan often talk about UN resolutions, but questions whether they have actually read them. A Pakistani scholar at an event is also reported to have said that while UN Resolutions are often heard about in Pakistan, no one reads them, and he himself had to admit he hadn’t read them.

    Despite this, UN resolutions are presented as a legal basis for Pakistan’s position on Kashmir. One speaker mentions the UN resolution as suggesting that Kashmiris should decide their future through a plebiscite, asking, “go and ask the kashmir with home they want to Go”. It is stated that India went to the Security Council, which then called for a plebiscite.

    However, a specific UN Security Council Resolution from April 1948 is discussed in detail, laying out conditions for such a plebiscite. According to one speaker, this resolution stipulated that first of all Pakistan must remove non-Kashmiris from its territory and pull out all its forces. India, in contrast, was told to remove the bulk of its forces but allowed to keep a “little force” to maintain law and order. Pakistan reportedly objected to India keeping even a small force. The UN’s position, as presented by this speaker, was that India was the “epicentre” of the issue and Pakistan was the “aggressor”, thus Pakistan needed to withdraw completely.

    The sources suggest that Pakistan later refused to accept these conditions regarding the withdrawal of forces. One speaker argues that by fighting the 1965 war, Pakistan “missed the bus on Kashmir” on that day, and this action buried the issue of the plebiscite. It is further claimed that the issue was discussed after the 1971 events and the Kargil conflict, but ultimately buried “forever” after 1971.

    Furthermore, the sources quote Mr. Kofi Annan, the former UN Secretary-General, as stating during a military standoff in 2001 that the plebiscite issue is “totally redundant Now”. This alleged statement from Kofi Annan is suggested as a potential reason why the world no longer discusses the Kashmir issue in the same way, and one speaker suggests that Pakistan should educate its community about this. It is also mentioned that Quaid-e-Azam (Jinnah) himself rejected the plebiscite suggestion from Mountbatten in November 1947.

    In summary, while UN resolutions are cited as a basis for a plebiscite on Kashmir, the sources present arguments that Pakistan failed to meet the conditions laid out in key resolutions, engaged in military conflict which undermined the plebiscite idea, and that the plebiscite issue is now considered “totally redundant” by figures like Kofi Annan, potentially explaining the international community’s current perspective. There is also an assertion that Pakistan’s own leader, Jinnah, initially rejected the plebiscite idea. There is a contrasting view point presented, however, that states the UN Security Council resolution is indeed present and that the idea of a plebiscite is a simple solution.

    Pakistanis Quote UN Resolutions on Kashmir without Reading Them

    The Original Text

    There was no indigenous movement in Kashmir. This is true about your former President Army Chief General Musharraf himself has said that yes We took the train and from here when he When the Jihadis left Afghanistan, we made them turn their attention towards Kashmir and You are saying that he is lecturing There was an indigenous movement. if indigenous movement Syed Alauddin is sitting in Pakistan What are you doing? You have 4 to 5% bombs here Non-Muslims are difficult and they are Marginalize already. They are not a threat You thought that Sadar would become the Prime Minister. But Yet there was such deep insecurity and A liberal and secular man like Bhutto Sahab also had to be written in the mirror. They get scared. I get a little scared of non-Muslim friends He may become our chief minister let’s go. These are real. Those are the facts that you They don’t tell their people. You told the public It is installed behind the truck’s light. Educate them by saying Kashmir Kashmir Kashmir Didn’t do it. please tell me a book It must have been written by a Pakistani whom you recommend I can tell you that friend, read this book about Kashmir You will understand the issue. Our children Global universities bring ranks In. Our children will excel in the future Are. Where are your children? Why not Doing Excel? why are you not competin With our kids? something that you have The 600 billion dollars are being spent. So The one who has messed up your mind. To you Let me tell you one thing, six major cities of your six major cities which if we go nuclear today If you keep it on target then your investors He will run away from there. all yours Capital flight will happen. What about us? O! Friend, there is so much poverty here. We have So I don’t have money to pay the electricity bill Is. People are committing suicide. As long as this The Kashmir issue will not be solved. Remember this Matters will continue like this. We are our Let us take stock of the state’s existence. We are our army We also count this. We are proud of our politics He says a lot of bad things. ok this is us Will keep doing it. We are not going to run away. SA summit was to be held in Islamabad in 2016 In. You will remember it well. and in that What happened? One of our military Terrorists attacked the compound and killed 19 people Killed the soldiers. around 30 injured Did. After that Modi sahab said that we do not come inside it. Before that, you do this See, in 2008 when we were so into dialogue Went ahead. our relationship is so much Got normalized. everything about kashmir If we came to an agreement amongst ourselves on Terror has struck our financial center He hit Mumbai because he didn’t even earn anything himself Can be done. No ability, no anything I have taught everything except Jihad. Come on friend, come to the front Someone is earning good money. 8 to 9% Their GDP is growing. tolerate There was no terror happening at your place This and that came from the organizations and they attacked us Hit the financial center. Magar Guess What, we are still standing on our feet today Pay. I’m asking someone for a billion or two billion dollars I am not going back. Ok? did something wrong would be in need of a billion dollars You are done. an institution like the IMF The entire economic policy of your country He is dictating. something might have been done wrong You. if I have done nothing wrong then Why don’t investors come to you? Why do you come to India? Apple’s Why are iPhones made in India? Your Why not make it here? did something wrong You must have known that the passport is the fourth largest in the world Worst passport. something might have been done wrong that international tourists inside Pakistan As many people come to visit India Those who come, don’t come there that much. something is wrong You must have done that inside India All the heads of states are big Countries that have influence in the world All of them visit Pakistan Nobody comes, nobody comes for years Can anybody tell me in the last 5-10 years There has been a big state visit from Pakistan you must have done something wrong inside that your 2.5 crore children are out of school, some India would have done well by not doing anything today At least we are with you, our efforts are with you To equate. But our 600-700 billion The dollar has a foreign reserve and yours is over Has gone. Your debt to GDP ratio is It has reached 80%. did something wrong You must have done it. This is the bitter truth Sir Ji that You may not believe it but whenever your story also, if it is told in the world then their Will be mentioned. You may not agree, you may blame us keep giving. One after the other, I give as many as I want are. But this self-defeating approach of yours Is. This isn’t going to get you anywhere. Our children bring ranks globally In universities. our children go further Let’s excel. Where are your children? Why are you not excelling? why not comment what are you doing with our kids? something You might have done something wrong. with all due Respect. Sir, we are different from you Let’s wait for an answer with attitude. One A common man who is a member of Jamaat Islami or a typical The perspective is from Pakistan. we expect Let’s talk about some balance will do it and you will know both sides What is Pakistan’s stand on this issue? What is the situation of India? or whatever you have There is evidence, there are preliminary notions, What are the arguments against? One In the approach of an educated person and an illiterate person This is the difference. It is very easy nowadays. You will find out while you are on the internet Friend, this is my point of view which is against it Is Dalail present? Is there any evidence Is? For example, Sir, you talked about Kashmir that Human rights violations happened in Kashmir Is. It has happened too much. very much in india Many excesses have occurred. so sir what Human rights in Kashmir even before 1989 That violations occurred in this manner. When you have a gun I will raise it when you start killing innocent people If you do, then what do you expect from the state to do? For example there was a beta karate His video is available. They arrested him I went and asked him how many people you had Must have killed? He said yes, he must have killed 101 people. He said it could be 101 or 1520 It is 1520. He said how can you target Did you choose? He said, I have orders from above. I would have got the message to kill so and so, and I would have killed him Was. So the journalist further asked if you I get the order to kill my mother what to do? He says I would have killed my mother also. When you murder someone, what then? There was always an order from Ishq Majeed Wani then Did you do it or could you have done it as per your wish? No, I don’t do anything to anyone by my own will He used to beat me. We got orders from above. Leaders They used to give orders to give a good order to someone Kill me, you would have killed me. Yes sir. Whether he Whosoever it may be. Whosoever it may be. If he says that Kill your own brother. yes i I would have killed him. If he had said that he knew his mother Kill it with. I would have killed him. so this is it Your condition has become worse than slavery. No Where is slavery? I told you earlier when we Does any boy join before joining? He gets the plough done. This is work. if not If it is then you can go. and sir this is Is it about atrocities against minorities? Sir we did a Massacre in 1950 East in Pakistan. Jogendra Nath Mandal who He was our first law minister. pakistan today no one will know that our The first Law Minister was a Hindu. This also us It is said that Pakistan was formed for Islamic law. of the Islamic regime But look at the irony that our first law The minister was a Hindu and the first one who is foreign Minister, he was an Ahmadi, Sir Zafarullah Khan So that Hindu minister in his letter of Sir, please read what is written in the resignation please you are an educated man mashallah read he wrote to him that here The future of Hindus is that liquidation or There are 10,000 Hindu East Pakistan converts I was killed and he could not do a thing Despite being a federal minister after that Sir Liaquat Nehru Pact was signed in the year 1950 I think it was April 1950 in that Pakistan and India have committed that we Pakistan will give equal rights till today You gave equal rights to yourself It is written in the constitution that Janab Sadar And all the praises of the prime minister are non- Muslims are disqualified for that. One The law of that country says, the law of Pakistan says that all citizens are equal. and then you make a mockery of this equality by saying the the president and the prime minister they have To be Muslims. Practically the situation It is even worse than this. Means Chief No non-Muslim can become a minister. Cannot become a governor. But you have seen in the mirror There is so much insecurity that you have to worry about all this There are hardly any non-Muslims. and they are Marginalized Already. They are not a threat You thought that Sadar would become the Prime Minister. But Yet there was such deep insecurity and A liberal secular man like Bhutto Sahab. For him also had to be written in the mirror. They are afraid, I fear some who are non-Muslims My friend, don’t let our Prime Minister become yours If it is done then please respond sir. Then Arvind wants to say something. 10 seconds I’ll take a little one of mine that this Repeated human rights violations in Kashmir and every issue he wants to discuss Whether it is the issue of Balochistan or Kashmir The issue should be only from the perspective of Muslims Let’s see. Syed Ali Shah Gilani who He was the biggest leader of the Hurriyat Conference. He said this in an interview that For a Muslim in a non-Muslim society Living without water is like living without water The fish have to stay. So Bhatt sahab is from Pakistan There are at least ten million overseas Pakistanis who have left this water and gone to the English I have gone and sat in the community. islamic No one went and sat in the society. Kashmir I was the first one to do Jihad with you. Yours The army came from that side after that. this didn’t happen That first the army came and then jihad happened Is. So first, I took a look at myself as well Go there and do what you have done wrong. Look, as far as I am concerned, I am to be Frank being secular and liberal. aa mine If the bus moves then I will go inside Pakistan Christians in Pakistan who Our Hindu community is for those people And especially to those who are Christians, I bring them forward for promotion to get them out of the grind for progress That’s as far as I can go to say sorry for interruption what about ahmadis sir please please sir please answer me yes look i am from my state or my I am not a government spokesperson I can warn you about my personal opinion. Do it too. In this they are saying The president should become a Christian He needs it. A Hindu who has within him If he has competence then he can even become Prime Minister Can. Should be made. this is my caste opinion Is. Good. but if that’s not happening If it is there then we must struggle for it. We have to move forward for the rights of these minorities It should come that we are coming. we write Are. We will make our governments realise We try our best to get it done. now coming They are towards Kashmir. See the thing is that 71 inside which is the best date of the world It was a big terrorism and India did that. Inside Pakistan. That was such a big plod. There was such a big conspiracy and their His character was the same as that of Bachistan today. is inside and they have spread terrorism there sponsored and promoted the people there He was a separatist against the Pakistani Pak Army fought against the western wing of the They created hatred against and after that Dhaka happened and the Shimla Agreement was signed Yours which is very dear to me Indira Gandhi Sahiba and Zulfkar Ali It happened between the furnaces. So in that which The basic point that was decided was that Kashmir The issue is that of Pakistan and India He butters her up through dialogue We will solve the negotiation. Let me know that in 1989 there was insurgency in Kashmir It begins. So from 71 to By 1989 we are canvassing India that Come sir, let’s sit at the table. who is from Kashmir This is an issue, let’s solve it and by solving it Let’s move ahead. of the misery of his people against backwardness, against ignorance The fight against the disease begins We do. Tell me that till 1989 they had This was always denied. it is with us Was not ready to sit at the table. And then there’s the Indigenous movement. That is the indigenous movement of Kashmiris. I if you don’t ask me caste-wise Throw out that indigenous movement of Kashmiris Sponsorship is being done from. do your safe duty Suppose that from Pakistan to here If we send Jihadi forces there, they will That does not go in favor of his movement Is. This goes against their movement. His movement will be defamed. if you ask me So I definitely give this advice to Kashmiris I will not allow him to contest against India If there is a legitimate struggle, get help in that from any Jihadi or terrorist organisation or The outfits are called their indigenous It is a movement, he made many sacrifices More than one and a half lakh friends have been martyred Poor their innocent women were raped They have it, go there today and see, ask them They have put the whole thing on lockdown even today Their internet is down, their communication is down everything is closed and those who are there He is a young man, look at him, he has become blind Made using pet sugarcane did not blind them and kidnap them If he has left then that is the solution for him. The way to do this is not to make you fall Flag operation until you provide us with any evidence They do not give credibility to false flag operations Get it done within 10 minutes within India blamed Pakistan and after that Be the judge and decide for yourself You should attack whatever is there on Pakistan. War is not the solution to any problem, brother. War There is no solution to any issue. Both There are nuclear powers. think it over, understand it In a good way. both nuclear powers Is. between the nuclear powers Who he is You discussed that matter while sitting. Ok sir. My I think your point has been made. war with someone There is no solution to the issue. we are nuclear power Are. Despite that who started the war in 65? of You. Who started the war in 71? You. Who did Kargil do to you? terrorism Who said thousand sentences? You. and now You will also give a lecture on peace. You sit down. Are? Now it is like this that if it is above 71 then we will tell Choudhary sahab will answer you. It is better that Some Pakistani should answer this himself. But I would just like to tell you that over and over again, Let us say that ji is big on Kashmir This is oppression. This is there in Kashmir. Kashmir You should look at the issue from the prism of two national perspectives. Let’s see. Buddhists also live in Kashmir Are. Hindus also live here, Sikhs also live here. Told everything. You will not tell this Why did you expel the Pandits from Kashmir? What was his fault? He is a marginal There was a community. less than 5% what is their fault Was? Why were they removed? not only their On the basis of religion. You understood that this He is the eye and ear of India. These first Get it out of here. we should be. Your All the nationalists are from outside They are sitting in countries. from India’s big He is also a big separatist. She is from Kashmir They have been buried in the soil. Nobody out did not run away. No one ran out. like this From. You do these false equivalences People. When you have no arguments it occurs. The Kashmir issue is only for you Let us look at it from the perspective of Islam. and then Even if it is the issue of Balchistan, he too only We have Muslim brothers. our muslim brothers Are. But I am secular, I am liberal. You If you are a secular liberal then make a Muslim a Muslim Leave it sir. You say that yes brother there What is a pay issue? There is Islamic There is an issue of separatism in Jammu and Kashmir. There is no other issue there. Same Islamic separatism which you saw there It has been furrowed. In all these years you have got promotion have done it. You have taken it from your journals and All the big leaders you have There are speeches. There is little time left. Otherwise I will definitely send that video to Choudhary sahab And I request them to give me credit This is the speech of Benazir Bhutto Sahiba the way they have given in Muzaffarabad She was provoking the people of Kashmir from Just take a look. Kashmir’s Bahadur Baba escapes death They are not afraid because he is a Muslim. Mujahideen and Islam run in the veins of Kashmiris It is the blood of Ghazis. the people of Kashmir There is blood of Mujahideen in the veins. Because The people of Kashmir are the heirs. Rasool Pak He is the successor of Sallallahu Alaa Waale Wasallam. He is the heir of Hazrat Ali and Hazrat Umar There are heirs. and the brave women of Kashmir If there is an heir then wife Khadija, wife Ayesha and He is the heir of wife Fatima. He also fights They know it and they also know how to live. And If he lives, he will live with dignity. your right to We will take it. Sometimes for Kashmir, sometimes for someone else Sometimes it’s necessary to fight, kill and die for someone You’ve had your date. There is nothing else for it. There is nothing more from your date. You If you remove Islam from the Arabs, they will survive Arab. We will remove Islam from the Turks Then the Turks will survive. Islam among Iranians If we remove them, the Persians will survive. We will remove Islam from Pakistanis So what will be left? Nothing will be left. you are hindu All of them are Sikhs. Ok? so You are having trouble with your own identity. You will know from the identity of your ancestors There is an issue. That’s why you do all this work. Sirji, please remember one thing carefully. This is the work you do again and again, this talk about Kashmir We have an average Kashmiri here He is happier here than you are here terms of whether he wants to go to the principality the help that we get and the facilities that we get from Two to two and a half crore tourists visited Kashmir last For the last two-three years, two and a half crore rupees are being spent every year Whose stomach have you kicked till now? Have you ever kicked those Kashmiris in the stomach When you see these, their economy, local economy It starts to flourish, then you go to Kashmir I do this kind of work. When If the economy of India flourishes then Hit our financial center Mumbai You do it. This is your date. Own Make an economy. Earn your money. from the world How long will you take help? It’s the last 10 seconds Choudhary Sir, ever since Pakistan was formed Pakistan is the most major non NATO ally so far This is your foreign currency for Americans You are at the secretary level, even Jana sahab that if you look at yourself, the US Secretary On the very first day you said this in the name of off state The country was handed over to them. Yours All the growth was inflated. 60 more In the 70s, when our elders told me He had come to Pakistan and he used to tell that AC Radio Transistors and AC Things we get in Pakistan are cars We couldn’t even imagine that our insta you were building it at a time when you were the world’s You were doing this work with the borrowed money When the one who gives you money then you do that dirty work He also makes you have fun for two tens of days 70 came in the third decade and he said now do it Jihad goes there and then whoever takes the money Nor does he have any other option. For him then it has to do what you did Is. Till today you who are his relative They are suffering. you say that you He is a secular minded man, a liberal man. But your arguments are with all Due respect is what we give to Jamaat Islami Let’s hear from the people of. so like you said that East Pakistan has the world’s most There was major terrorism. so sir tell me this how many international organizations have How many countries have declared it as terrorism? Did? If India did terrorism, it was wrong Once you have made your country, join us again brother Again in Pakistan. it was the worst Example of terrorism according to you. There was such a big terrorism and we Bengalis India did it with. so sir habib jalib He was also a liberal man. why did he say Are you sowing love with bullets? of the homeland You are washing your face with blood. turn you around that The road is being cut. I am sure that I have lost my destination had been? Sir, are you standing with the liberals or Are you standing with Jamaat Islami? this to me I am a bit surprised. Second, you said that Yes, we are trying, we are struggling A Christian also has the same rights yes. Hindus should also have the same rights. Ahmadis Please take its name also in that. So Sir We have referred to the Ahmadis as the ones whom Jina Saheb had An Ahmadi was made the first foreign minister and India’s Legislature praising him It was said in the central legislature that I have a son and he is a Muslim. ok sir. If we talk to anybody today, they They say, this is a very blasphemous thing have been. see the worst in the world Blasphemy law in the world is in Pakistan. You say sir we are trying. Sir What was the result of that effort? what today If the result of the effort of your people If it would have come out, how many years have passed since the law of 73. That law would have been changed by now. So sir this The struggle is just lip service that We are doing it. yes I wrote the article I have. Look at its result as well. They They say the proof of putting a lie in the Eating. And on East Pakistan sir we had a A detailed discussion was held just recently I will send that to you. even on Bachistan There was a detailed discussion, I will send it to you Give. we should not reinvent the wheel and Second Sir you are talking about Kashmir Nor are we divided on the Kashmir solution. You can put on a show too and I’ll tell you I want to know that in Pakistan sir Which is the best book written on Kashmir? so that it can be known that the Pakistanis What is the seriousness about the Kashmir issue? AG Noorani was an Indian scholar. In Mumbai Use to live. and he was an eminent authority On the Kashmir issue. His book is The Kashmir The dispute which started in Karachi in 2014 Published by Oxford University Press of. In that sir he has written that Jana Saheb was offered in November 47 that we Let us get it plubsit done in all three states. Hyderabad, Deccan, Junagadh and Kashmir. Zina The gentleman refused. Even after that Sir Sardar Shaukat Hayat wrote In my book, yes, I found out that There is an offer from India that you Kashmir should become a part of Hyderabad Deccan If you take it then I went to Liaquat Ali Khan And I said, Sir, this is a very good offer. Our campaign in Kashmir is not going well I am called Liaquat Ali Khan, Shaukat you You think I’m crazy, I’m from Hyderabad Deccan Leaving a big kingdom like Kashmir’s Chand I should take the hills, they say I am so I was so frustrated by this that I immediately I had the chairmanship of Kashmir Committee that I resigned from him and another sir Under what logic did you do the accession of Junagadh? did you confess? Junagadh accession is your opportunity today What is the matter with Kashmir? There is a Muslim majority, this is ours. Junagadh There was neither contiguous nor Muslim majority. You acknowledged his accession. When India When we protested you said that every ruler He has the right to go with whoever he wants. Sir Ambassador Shahid Amin wrote on that He has written a book which is published in Oxford The University Press published Shay in Karachi He wrote that Pakistan should be poor Judgment in accepting Junagadh accession. It addressed Pakistan’s case on Kashmir. So Sir These are real. Those are the facts that you They do not tell the public. You gave the people a truck It is installed behind the light. Kashmir They are not educated by calling them Kashmir Did. please tell me a book It must have been written by a Pakistani whom you recommend I can tell you that friend, read this book about Kashmir You will understand the issue. and sir ji please please see the thing is that you are our Friends are sitting here. I am their elder I respect you. I am from Jadawaala I belong to you and to you in Jadawala You might remember that last year a very big incident happened It happened with reference to the Christian community So there was some allegation of blastfemi and Afterwards the mob came out and they When they came, the religious people, their churches and It was his residence and they set it on fire. Afternoon There is so much fear spread inside this city Was. I came home. I visited him all I did, and I was very saddened. Meaning I was crying. I came home and I When I opened social media, no one was there on it The post was not in this context. only these people He was sharing that here he said this There has been an excess. Christians Blasphemy has done. So we can call it the spirit of the Muslims he demands that we do all this React. you know i posted that It was written. When I wrote the post I condemned it Did. I told the mob that was there that was organized that you are doing injustice to Pakistan You are doing injustice to this religion Our religion is committing atrocities if he does not teach these things then it is okay All of this is upon you, You will fall for this Maulvi gives it but not religion, I was the one First one, I first posted on social media I wrote and my family is resting me There was risk involved in it, so my Wife said don’t do this, you are a provocateur Can do it. A mob can attack you Is. But I said let me write it down. It is my duty to spread this awareness to the people Should reach on. and then after that this happened that when I wrote and I am the first rain a katra was made and then it was made of jadawala because inside that I had seen this people It was taken that this was absolutely against Islam It is against the Taliban and this is our This is Pakistaniism and it is against that too. You are harming both of them and this It shouldn’t happen at all. stop it And we should apologize for this With your community. The second thing that you He was telling me about Choudhary sahab who is here MD is a community, what are you saying about it They say brother, they are our minority They are constitutionally recognized there are constitutional rights and Those are constitutional rights, absolutely There should be some kind of I understand caste wise which is their mirror they should meet them and their If persecution is happening at any place there should absolutely not be any Should minorities have rights or not? constitutionally then their The implementation should be exactly what it is Needed The second thing is that India is one of our He is a neighbour. We are also his neighbors. now neighbor Changes cannot happen. we are 2000 to 2000 Now I have entered 25. So, Pakistan There is terrorism going on inside. 77 who is a Pakistani I sacrificed here. So as long as this Cross the border from the neighborhood, what is it Terrorism will continue to be sponsored here. So Which industry do I know here? Will she come? Which trade is nurturing here will you do it? Which business is here, that is fruit Will it flourish or which investor will come? So the Like my Indian brothers have this objection with us that if you cross from across the border Across the border if you want to trialism here If you are sponsoring then stop this. Likewise, we also have the same demand from them that even inside Pakistan If we see his signature With regard to terrorism, he is free He should be stopped. the one from Afghanistan If terrorism is sponsored inside Buchistan Is it happening, is funding being done or training Whatever is happening it must stop immediately. Who What they did inside Delhi is to kill our Baloch They are separatists and have been placed there This is all against Pakistan to manage he must stop and at Neighbors cannot be changed at the same time Both countries are proud of the prosperity of their people But attention should be given to removing the inequality I am absolutely convinced by this statement of Modi Sahab I agree that we both should come together hand in hand By putting this in my hand I started my war against poverty we show our ignorance against our own naughtiness Let’s begin our war against. This is not feasible for both the countries and Nor is it in anybody’s interest that we Fight with others. every second third Let a new incident happen every day. After that you Bomb across the border. We to him Detail it. So Pakistan’s part in this There will definitely be loss. But India is a big There is economy. Ok? and its stay is more If they are bigger, they will suffer more than us will be. So sit together and through dialogue Solve the problem. I understand that this is the It is in favor of both the countries. good bhatt Sir, first of all you talked about Christians Or if we talk about minorities then sir this also It should be seen that after every five to seven years Why do such incidents happen and you like the people who are against this thing How many are there? Is it okay? For example, in Gojra there are nine Or eight or nine Christians were burnt alive Was given. If someone is punished then it is a The pattern was formed. It happened in Shanti Nagar. Address No, where did it happen? So who we are The controversial community is a victim of self-righteousness Are. We need human rights in India Violations are visible. not in pakistan Would be visible. Those Americans use this as a term We do. Other countries of Afghanistanism You can see the atrocities happening in it. It does not happen in our country. because if you speak on that then There may be consequences. like your Your wife told you not to do this but sir Do this, something may happen against you. Any The state can take action. Anyone can grow Is. So sir this is what happens in our country committing human rights violations Much of the heart and kidney work is done. and this See, this one is showing no sign of stopping. And You told me that we are struggling For equal rights. no one knows about that struggle There was no result sir. it is a very very very Marginal Struggle. and the second thing sir that you have I told you that we are neighbours. Neighbors Change Can’t happen. nobody can say yes Neighbors may change. But sir, we Do the honest Tazia of the exalted one I don’t want what from whom There were excesses. Our head is an extremist Air Marshal was a respected military officer Asghar Khan. He said that sir as much as Their war started towards Pakistan It started from. What is left behind, Sir? your one The Air Chief is saying this. So sir we Should not be taken seriously. Keep these things in your text books should be revised Brother, this hatred has done nothing to us Gave. remove it and live like humans Live like decent human beings. This We have our dues in me and in Kashmir too sir Please tell me how serious is the state of Pakistan on Kashmir issue. how educated He did it to the people. tell me a book Give whatever you recommend. There is a foreigner He says, please understand the Kashmir issue Is. You tell me which book should we give him? I think there is work to be done during this time too Needed Intellectuals should come forward. Then the issue got resolved. Bhatt sahab, now you are saying that Intellectuals should come forward. Sir it is disconnected. G Bhatt Sir. ok Bhatt sahab you are saying this I am thinking of writing a book on Kashmir see if about me are you with mir kashmir I should definitely write a book on it and to be Frank, I am not aware of any such There is a book that comprehensively covers Whatever the issue of Kashmir is, it is its responsibility. yes it is good you should definitely come forward Intellectuals should write both But in that sorry to you can buy 1000 books Write it down too. But if you have included all of it Filling that book with bias content only If yes, then I have written it on behalf of India Should we go or go to Pakistan Ji Bhatt sahab If you listen to my request, it’s of no use will be. Yes, you said that Bhatt sahab Intellectuals should come forward. Book It should be written. He gets an idea from it Of seriousness. That is, an issue about which Day and night we are told that life ends There is a death issue. Our Juggler Wayne is our shag Is. On that after 78 years you are saying that Intellectuals should come forward. Any A book should be written. Sir what more than that Proof that we have a casual approach. We He is not serious. We will address this issue only want to use fools to fool people To make. So sir what you mean is strange There is entitlement. this is from Pakistan This is the policy regarding Kashmir. yes arvind what are you Will you say it? My parting comments are Thank you Choudhary sahab, you said it Bhatt Sir is saying that I want to write a book means you don’t know that community The issue on which we are preparing the report is Kashmir For whom they struggle day and night We keep giving them lectures about what we are Till date we have not seriously read any book We did not write it, we did not explain it to the community They were not educated as to what the issue was What is Kashmir? I am a Pakistani Has interviewed intellectuals Am. Till date no one knows me except one or two He is not telling who is the scholar of Pakistan I found that the issue is ultimately Kashmir What? Look, at this time I am talking about If this is happening after the Pahalgam attack then I I would like to tell Pakistan not to allow terrorism So it is neither in your interest nor in ours, you Stop doing this. you kept on saying a million about Balochistan but when you are asked the question Someone must be coming on your television channel these days I do not say that this is a good Taliban or this is a bad one It is Taliban because now both have become bad As long as they were listening to you the Afghans Taliban were good, now they are not listening to you So now they too have become bad in their jails Thousands of terrorists of the closed TTP were killed Who was released by your Afghan Taliban? left for which Imran Khan said that The Afghan community has broken the chains of slavery I congratulate you, what a great achievement Chaudhary sahab’s Pakistan We have a secular system in the East He wants India in his west wants a Sharia regime in Afghanistan This half partridge and half quail for myself This is the election of Islamic Jamuria Guess what the Afghan Taliban have done Nearby This is not profit. This is not tajad. They What you think is good for you, it is good for you They also understand the same. This is for you to understand It took 2530 years. He who for himself consider Nizam to be good, Pakistan’s I want to export the same thing inside as well Via TTP. You’re in big trouble there She goes. If the Taliban are Pakistan’s there might be islamic jamhuria inside then you They say that Taliban came to the election, brother and Let’s try contesting elections against Ashraf Ghani. Who wins, who loses. then I accept that your position is absolutely correct Is. Islamic democracy for us and for them Shari government. Now they want to bring it. Your Here the Shari government has started screaming. The issue is whether it is true or not I didn’t tell you. He talked about Jadawala So how many clerics will be booked again? He has been punished till date. even on top of one No. It is this Maulvi only because of whom all the wrong things are proved The work is done. Sometimes this is Khadim Hussain Rivi’s face is on and West is on to march in Islamabad to intimidate The call is made. Sometimes this Sharia court I remember late BB early even in 1980 In 1989 in 90 and in 1991 those two It is a matter of three years. I’m a little bit can you please correct me in this Do it. Your Sharia court has ended feudalism It was declared legitimate in Pakistan. i.e This feudal system is Pakistan that the Shari court put its seal on it And it is said that according to the spirit of Islam this It is absolutely justified. and your country It is made only for the landlords and the landlords. cry what is it about? not a political party In Pakistan, in whose Mansoor this thing It is written that we will fight feudalism The feudal white system which is wrong understand and those people who for thousands of years The labourers are going to pay for their lands I give him the ownership. this is not a guy any political stance of this sort which is If he can take a stand on this then everything This is the same Maulvi who was once in Afghanistan Jihad is a green light from your side gives the signal. It is this cleric who Would have given green signal to Jihad in Kashmir Is. This is the same Maulvi who never spoke against America He talks about Jihad. It is this cleric who Sometimes he talks about jihad against Israel Is. So when will the time come when you will say this that brother whatever issue we have now Bhatt Sir was saying that even Islam does not tell us this And even Pakistaniness does not teach us this She teaches. Sir, where in the world is this argument It is not given. You say that this The law of Pakistan does not allow us to do this Would give. This is wrong. As long as you are of religion Those who do wrong things will keep using it There are Maulvis to counter them By then that Maulvi would have become a burden on you will remain. You need to put the cleric down. Ok? And first you bring your mirror. Forgive me. my last words That reminded me of her. You have Habib Jalib What did you say Chaudhry sahab I am in Lahore right now? a few days, a few months, two or three months ago Jalil went to the Jamhoori fair. big my heart I was standing there and doing something I should study but then I thought I should not stay Arvind Two. But today through this platform of yours A few lines that Habib Jalib wrote for such people I want to read what is written about it. So I have a request from you, whatever is yours I would like attention from both. Yes. So Jalib Sir says I have heard you a lot But my speech hasn’t changed yet, Maulana Destiny Maulana Khudaara thank you for your Keep it close, it feels like it’s on my chest Teer Maulana I cannot tell a lie This is my crime of being impudent and this is it Takseer Maulana, you should know what the reality is Or God knows, I’ve heard Jamie Carter, your pain Maulana, these are the lands and these are the machines of the traders The god of robbers has written it for you Tahrir Maulana why crores are not together For Palestine Why do Choudhary sahab and Bhatt sahab fight over crores? We don’t fight for Palestine together but with prayers Maulana, only the chains don’t break all day long Keep reciting prayers to people keep on studying in english you will never die, go on your own, go on your own You will not fight, this is Pakistan, this is the date this is his future if you You did not do any mid course correction sir I talked about 77,000 sacrifices The Pakistanis made this sacrifice Concept G 77000 sir this is also a concept This is a very strange kind of sacrifice. Sacrifice sir, it is not that you make curd You go to get it and there is an explosion and you lose your life Went. You make sacrifice consciously. So We also say that yes Tehreek Pakistan Lakhs of people sacrificed their lives in made the sacrifice. Brother, that was not a sacrifice. There was riot and people were killed. So if our If there was any life in the parliament then it would be a We should form a committee to ask why we should fight this terrorism have been victimized. Who is responsable for this? The attack that you made on the Army Public School It happened that I talked about that. Sir, to defend him Gonna take his responsibility for the favor Where is his favor today, Salim Safi said Sir, tell me a little about how you did the interview You should look inside yourself Mashallah is educated, escape from the clutches Sir, this is just like Ajmal Kasab escaped from Indian prison and Your 150 should flee to some other country He has a long list of child killers If you do that now, then someday the time will be less and I will tell you that he himself babange dohal claim We have done all these terror attacks and He ran away from your agencies. What will Banu tell you about this from the jail? Around 150 to 200 prisoners The Jihadis were taken away. Now What would you call Pakistan? Principality He will say, I leave that to you. So the butt Sir my only request to you is that Being an educated person is a little bit about your Isn’t it critical thinking skills please? Do your work. The one who is your point of view, There are pre-conceived notions. Try that The arguments you get against him yes, let’s meet on the internet, with a friend You get them, consider them too. His After that form your balanced opinion. that is My request. please conclude thoughts Please let me conclude it. yes please. One is that as per the book, In the context I talked about if this If content is not available then it is not available on both sides Intellectuals should come forward. But If it is to move beyond prejudice and bias Then it is better that he does not do anything It should be written. the second one that my friend said How many people were punished here, how many People caught the mob violence which was going on Action was taken against nearly 300 people in that It happened and people are still in prisons. Now! Till now people are in prisons and their bails are pending It is not happening. And now come let’s see you Attacked our country. Our Saw the response. We are not 20 years old, we are three It’s been two years since I last met my first child. are tolerating violence. I am travelling. bomb blasts for us They have become a common thing. We have known a lot I have given it. There is a bomb blast in it. An explosion occurs. Suicide bombers come Are. And you saw that the extremes of the war Even in horrific conditions when you are above us It was raining missiles. our people Did you see what the response was? sleep de ver He was making a fun meme. that goose game Were living. Now for them violence is what it is You made them so addicted to it that they were in such a warlike environment You also responded to his psychological study After looking at it he saw that all the thinking things were a joke in the end You asked me what is the session of Kashmir? Kashmir’s mission is very simple; it is not a rocket It is not science that we do not understand Hey brother United Nations Security Council the incisura is present above the plumpet Ask Kashmir to become independent I want to stay, I want to stay with India want to stay with Pakistan and get it done there, get the election done and whatever Kashmiris should give their opinion in it, Give your decision, accept both countries Should be taken. Which is such a big thing in this Is it a difficult thing? Yes Bhatt sahab you have one I talked about the book so that my heart is not filled with bias For him. Sir when did I say that it was full of bias? I am questioning the seriousness That for you Kashmir is a life and death issue Is. Day and night it is told that yes, This is our Juggler van. This is the state of seriousness that not a single book has been written in 78 years Which you can recommend. to fill from outside No one is talking. indians write book Don’t write. Pakistan should write No. When you create such an issue and present it It is like we cannot survive Juggler is Wayne. Second sir you are saying that Yes, the cases are still going on in Jadawala. Sir Nine people were killed in Gojra All of them were acquitted while this Sir was alive Place is not an issue. How many Ahmadis were killed? Went? Just now a doctor was killed in Sargodha That he was Ahmadi. And please from any Ahmadi Please talk about how much justice they get And how many atrocities are being committed against them. So sir there is Christian fair on Kashmir There is a clip of that too please watch it There was a Pakistani scholar in that too, I went to his event, it was a book launch His name was Etesham Ghaliban, he was full bright There was a scholar who also said the same thing there. Christian Fair of UN Resolutions said I hear it a lot in Pakistan every band Talks about resolutions but no one reads them I don’t care if you have read it I had to admit I didn’t read it, thank you my name isha shyam and i am a full bright Scholar Here in United States. Ah Off Of Course I Have to Write the Book But My Observations are based on the presentation Made By Christine. Ah unfortunately I found some of the at there is a lot to debate about but i understand i am a participant only i can make only use of Limited time. I found some of the Arguments are very selectively used on Only one side of the picture was presented. For example, a couple of examples. you said Kashmir Pakistan has no legal Basis on Kashmir. I don’t understand What sort of legal basis should we have. You Have mentioned about the UN resolution. You have mentioned that india went to a Security Council and Security Council said that let the Kashmiris leave the kashmir decide let me let us have a Playlicide There. So that’s a legal basis. go and ask the kashmir with home they want to Go. Single Securitization have OK Security Website Resolution Singles Actual Security to the Claim Pakistan Permanent Two The Actually There Three Steps The conditional first step should be assumed to be meet to the satisfaction of this us too Be established then condition up ua satisfied this Dimilitate India as well as suppose to dimilite with a presence being permitted to defend itself against pakistanis Aggression the third having both two steps Taken place to the satisfaction in sequence to this preference giving The pakistan pakistan by Condition actually make The scholar went to an event and told this thing He has gone to become an advocate. But sir you Have you read UN resolutions what does 47 to 2 B Frank not everyone read Sir 47 There was a resolution, right? What does the sub-section say? please tell me whose essence are you talking about sorry The resolution that came in April 47, 48 What does that mean, please tell me a little, Aman Please tell Bhatt sahab, Bhatt sahab he just said that he hasn’t read any It’s okay but there are people like Sahab in Pakistan There are crores who have not made that resolution Read. Sir Ji in April 1948 United The Nation’s Security Council Resolution passed and for plebiscite A condition was laid down that how would a plebiscite be held It will happen and if you want it today then you can go and You can read it from the United Nations website He has it. It was said therein that first of all Pakistan should remove non-Kashmiris from its territory population and pulled out all their forces Will have to take it out. So the question in the United Nations It was asked, brother why are we getting furloughs Do I have to take it out completely? and India was told that India is also the bulk of the forces He will take it out. will mostly take out the furrows but A little force to maintain law and order India can keep it to do. Its Pakistan objected to this. So United Nations said that India is the epicentre Is. You know this, right Jawaharlal Nehru? This issue was taken to the United Nations. So he said he is epicant and you He is an aggressor. So you can complete your Will withdraw. India will be allowed to law A little bit to maintain end order Can keep the floors. then subsequently this Once you have completed the first two steps later on there International who are currently observers What do they say? Seizures under their supervision There will be fire. So Pakistan has made those conditions later refused to accept that we I do not take it out. when you will have norman oil Radha will dance when you missed the bus on Kashmir on that day. then a long list It is the resolution of the United Nations. in that You are repeatedly reminded that you are Do it, you do this. When Pakistan said this He refused to accept it. After that 65 In 1976 Pakistan waged a war over Kashmir Took. Sir, when you fight on an issue Then whatever your previous past These are your intentions, you spoil them. Treaty of Versailles after World War One If it happened then you would have to pay for the damages They fall. when you lose a war you will suffer a lot Something has to be done. so that’s the issue then The day the 1965 war broke out there all the things about your plebeicide which She was left behind. Then when it became 71 and we Made it a butter issue. even after that This issue has been buried forever. This was discussed even after Kargil. So When we had a military standoff in 20001 Kofi Anan sir, he has said what he is that the plebiscite issue is totally redundant Now. I would ask the leaders of India and Pakistan to work in the spirit of Lahore Declaration to sort out the differences on Kashmir. So Sir ji this is United for you The statement of Mr Kofinan in the Nations yes, you will get this too. Perhaps this is the reason why The world is now talking about the Kashmir issue in that way You don’t do it and you should educate the community on this as well. do that baba community itself is quaid-e-azaam mohammed In November 1947, when Ali Jinnah Mountbatten came up with the suggestion of this plebiscite So the Quaid-e-Azam rejected it outright Gave. Yes and but sir the thing is this to you sir Kashmir was being served on a plate. Too I quoted. to Pakistani sources Quoted it. I didn’t do it to any Indian. Even The book Emergence by Chaudhary Mohammad Ali of Pakistan, this thing is present in it. And Sardar, the first president of AJ of Kashmir Ibrahim is his book The Kashmir Saga It is present in it. and it is even written that Liaquat Ali Khan asked me, what are you doing? what are you saying about this offer? I said yes This is a very good offer. accept this Take it. So they tell me that it’s good Ghulam Mohammad does not agree. Finance He was a minister. you go and convey him do it. I went to Ghulam Mohammed and I tried very hard but he did not budge inches. He didn’t move even a bit. says that later I came to know that from there Gold bricks used to arrive. An adventurous pilot His name was Sidney Cotton. those gold bricks used to bring it from Hyderabad Deccan to Karachi and Ghulam Mohammad had a share in them. Sir, about these blunders as well Get information. Tell this community the truth Be warned by Hakayak. Tell them the truth Pumble don’t keep it in and sir we have a very MB Naqvi was a senior journalist There was a big splash in the Herald in July 88. wrote an insightful article the best of Enemies in that he said that in 65 we Tried to get Kashmir by using force She failed to do that to us at that very moment He should have been so brave that we could say that Enough is enough we must move on now Commies move on, they don’t remain stuck I have buried this article in it sir Later I met Agha Shahi sahab S.A. Student I told him Sir MB Naqvi This is written, what do you say? He said that MB Naqvi is a good friend of mine but this is the thing Who will explain to Punjabis that they are 60% Sir, this is an issue of Pakistan for Punjabis. I have to explain it to them, I have to educate them Please for God tell them not to look at the truck’s lights Don’t hold back and let them solve their problems give me a chance to do it, they deserve much better They Deserve Better Education They Deserve Better Facilities that deliver better health Kashmir Don’t fool them like this by doing Kashmir make enough is enough thank you very much if you want to say anything ji I will say one thing Then Bhatt sahab should also say the same thing as you While working as a maid, I was in Lahore for two Three months ago a farmer came to me and He comes and says yes sir it is not good Kashmir If you want then please reduce the rate of DAP fertilizer a bit I asked, what is the rate? If you don’t say anything about DAP then he would say that Sir 14000 rupees have been given to DAP Hindustan There are 1350 bag mills inside so farming is a big deal If it happens then the mistake is to understand that sir You should think about that farmer, think about the one who sells ₹1000 If he puts DAP in a fort, two At least three bags or two or three bags are required. What will happen to his wheat crop then and because of this I said all across when I’m going down the motorway So this time the sowing of wheat has reduced There are not as many in Pakistan as there should be If it has happened then the issue for me is that you Sir I have no idea how much I am burdened by it There is more criticism that I When I talk about peace with Pakistan Hindustan is a greater source of peace than me I will not meet you sir yes but saheb please lastly ghulam mohammed There are many antics of Saheb’s antics it is in me but you have given me a new me It has been told that he has been taking those bricks You can see gold bricks etc. in Junagadh one principle is followed and the other principle is Its exact equivalent is in Kashmir We adopt it. This is a great tyranny and oppression The thing is. On the one hand you say that there Because the ruler was a Hindu He showed me the accession document which was I signed with India and on the other side you They say that the Muslim ruler is now You are not listening to him. a principle principle The principle was to be same for both the states Needed Look at the time when we got freedom You care about me 750 princely states theban 750 so no no no 552 or It was around 565 or 550. Ok? Sorry. well you gave him this authority Was. He was given the powers that if he wanted, India can go with it or even with Pakistan If he wants, he can post it independently. But you haven’t This principle was adopted in Kashmir that the the ruler who was the ruler is fine green Singh sahab, he is a Hindu so he lived that life Signed the documents with us. And On the other hand, the Muslim rulers who are I forcefully annexed her to myself To Junagadh. There you have a principle which You implemented that and at another place you implemented another We apply the principles as they are. Solution to Kashmir Brother is a plebiscite. the opinion of Kashmiris Without forcefully keeping them with you can not keep up. You are from the United Nations Brought the resolution. Brought international law. Make your own law. as long as it is I told you. without their freedom Would like to keep it with me. He is yours We will continue to run a movement against them. Bhatt Sahab Bhat Sir, Bhatt sir, Bhatt sir, tell me this Bhatt Sir Bhatt sir what is inside the world What Is? I have a question, sorry, I have a question. What Is there any country in the world which you can call From this point of view, we can be convinced that Which is the plebiscite one. When it’s in front of you This will be kept in mind by those from your foreign office he is a man he himself told me that when We used to go and talk and he would tell us used to say that excellence you know have you red di documents you have read these these you have read these what do they say then they say we are sir Our head used to bow down in shame, such is yours You will get many things for the first time You must be knowing, let me tell you this as well Even Jinnah sahab had his own house in Mumbai Did he want to keep this of his? I thought that after killing lakhs of people to uproot crores from their land Later his own affiliation, his love It was so much away from his home that he I told the Indian government that my elder brother There are better memories than this, there are more memories So you will sell this house to someone, right? that house What we have has not been sold to anyone till date. By the way, Jina sahab also has many such There are blunders which if you get to know about, I will recommend the book. wait a second I come out of my shell. this cover is mine A little bit of it was torn. so this doctor This is a book by Dr. Ishtiyak. Sure Please read it. Jinnah’s Successes, Failures and Roll in history. Its Inside you will also find information about Jinnah sahab You will get a lot. Jinnah in March 1930 Sir was giving a speech in Kanpur. Shakeel Choudhary sahib please tell me. March 41 in that Jinnah sahab had said on 30th March 1941 Yes. And in that he said that I am 6 To give freedom to millions of Muslims There are 2 crore Muslims in India I am ready to make sacrifices. Complete the whole thing the whole thing is this I tell you I will read the text and tell you. ok that’s it This is what he said in his speech at Kanpur on 30th March 1941 Willing to Sacrifice 20 Million Muslims. The Weakest in Janaaz Two nation theory was that it would leave one third of the Muslims under Congress rule addressing A meeting of the Muslim Students Federation At Kanpur he made a starting remark In order to liberate 7 crore Muslims where there was a majority he was willing to Perform the Last Ceremony of Martyrdom If Necessary and let 2 crore Muslims be smash that I am the muslim majority who There are seven crore Muslims in the provinces to free us from this Congress rule To make two crore Muslims die I am ready too. Someone please ask Jinnah sahab that Do you have any personal opinion or any sheep? goats are those that you smash Ready to get it done? Do you own them sir? No you don’t. Yes, Bhatt saheb you have talked about Junagadh. Even if I did that, I would go against the principles, Sir. Who did you talk about before? Violet Call it a principle and an ambassador of your own it is being said that it ended our case on Kashmir Accept I’m surprised under logic that you again came back to the same argument your continuation is not muslim There is no majority and you cannot defend I can tell him and you know there How many votes did Pakistan get in the referendum? We met each other. Have you studied this issue? In Junagadh. Yes brother, in Junagadh. Yes Yes yes. So definitely how to vote from there Was Pakistan supposed to meet him? There, Muslims There would have been a minority. Yes sir. 91 votes Pakistan met us there. I this thing I am not doing it sir. I am talking about this. I I am saying that in Kashmir you have seen this adopted the principle that the ruler there who he is hindu and He demanded to share the Kashmir region with India Decided to do so. You accepted it. On The Other Hand was the roller from Jonagadh He was a Muslim. You are not listening to him and They are taking the argument that because here Hindus If there is a majority then we will not accept it I agree. This is not direct sir sir, hint I am doing it. yes but saheb this contradiction Who started it? Please be honest. Please be honest intellectually. Who? I started fighting against this principle Vergie? I expect you to be honest. You Look, listen to me. please my point Listen. Please listen to me. You By accepting the accession of Junagadh, India Gave a clear message that we are with you Don’t want good relations. We are for you We will create problems wherever we can. You also tried Jodhpur. He is also a Hindu It was a majority state. to the Maharaja of Jodhpur I have given you a blank piece of paper, write down whatever conditions you want Needed Sir, where has your two nation theory gone? Why do you believe in Two Nation Theory at every step? They are protesting against it. And they say that Mr Our principle is Two Nation Thirsty. So sir Kashmir But how many times have I told you to give me a plate I was getting it by keeping it in my possession. You did not take it. Sir If you miss the bus. You missed the bus. why don’t You accept this? how long are we on this Will you continue arguing? so thank you very much but Sir. Thank you very much Arvind. Thank you. Thank you.

    कोई इंडजीनस मूवमेंट नहीं थी कश्मीर की। यह बात तो आपके साबिक प्रेसिडेंट फॉर्मर आर्मी चीफ जनरल मुशर्रफ खुद कह चुके हैं कि हां हमने ट्रेन करके और यहां से जब वो जब जिहादी फारग हुए अफगानिस्तान से तो हमने उनको उनका रुख कश्मीर की तरफ मोड़ दिया और आप ये कह रहे हैं लेक्चर दे रहे हैं कि वो इंडजीनस मूवमेंट थी। अगर इंडजीनस मूवमेंट है तो सैयद अलाउद्दीन पाकिस्तान में बैठा क्या कर रहा है? आपके यहां चार पांच% बम मुश्किल नॉन मुस्लिम्स हैं एंड दे आर मार्जिनलाइज ऑलरेडी। उनका खतरा कोई नहीं था आपको कि सदर बन जाएगा वज़रे आजम। लेकिन फिर भी इतनी डीप इनसिक्योरिटी थी और भुट्टो साहब जैसा लिबरल सेुलर आदमी उसको भी आइन में लिखना पड़ा। इनको डर आता है। खौफ आता है थोड़े से जो नॉन मुस्लिम यार सदर ना बन जाए कहीं हमारा वजीर आजम ना बन जाए। ये हकायक हैं। वो फैक्ट्स हैं जो आप अपने आवाम को नहीं बताते। आपने आवाम को ट्रक की बत्ती के पीछे लगाया हुआ है। कश्मीर कश्मीर कश्मीर करके उनको एजुकेट नहीं किया। एक किताब मुझे बता दें किसी पाकिस्तानी ने लिखी हो जिसको आप रिकमेंड कर सकें कि यार ये किताब पढ़ लो कश्मीर का मसला तुम्हें समझ आ जाएगा। हमारे बच्चे रैंक्स लेकर आते हैं ग्लोबल यूनिवर्सिटीज में। हमारे बच्चे आगे चलके एक्सेल करते हैं। आपके बच्चे कहां है? क्यों नहीं एक्सेल कर रहे? क्यों नहीं कमपीट कर रहे हमारे बच्चों के साथ में? कुछ आपके पास जो 600 अरब डॉलर जो है ना वो भुड़ रहे हैं। तो आपका दिमाग जिसने खराब कर दिया है। आपको मैं एक बात बताऊं छह मेजर सिटीज आपके छह मेजर सिटीज जो है अगर हम आज न्यूक्लियर टारगेट पे रख लें तो आपके जो इन्वेस्टर्स है ना वो भाग जाएंगे वहां से। आपका सारा कैपिटल फ्लाइट हो जाएगा। हमारा क्या है? ओ यार इधर तो इतनी गुरबत है भाई। हमारे पास तो बिजली के बिल देने के लिए पैसे नहीं है। लोग खुदकुशियां कर रहे हैं। जब तक ये कश्मीर का मसला हल नहीं होगा। याद रखें यह मामलात ऐसे ही चलते रहेंगे। हम अपनी रियासत का एतसाब करते हैं। हम अपनी फौज का भी एतसाब करते हैं। हम अपने पॉलिटिश को बहुत बुरा भला कहते हैं। ठीक है ये हम करते रहेंगे। हम बाहर भागने वाले नहीं है। 2016 में सा का समिट होना था इस्लामाबाद में। याद होगा आपको अच्छे से। और उसमें क्या हुआ? हमारे हमारे एक मिलिट्री कंपाउंड पे अटैक करके दहशत गर्दों ने 19 जवानों को मारा। 30 के करीब को जख्मी किया। उसके बाद मोदी साहब ने कहा कि हम नहीं आते इसके अंदर। उससे पहले आप यह देखें कि 2008 में जब हम डायलॉग में इतना आगे चले गए। हमारे ताल्लुकात इतने ज्यादा नॉर्मलाइज हो गए। कश्मीर को लेके हर चीज के ऊपर हमने हमारे अंदर एक सहमति बनी तो दहशत गर्दों ने हमारे फाइनेंशियल सेंटर को मुंबई को हिट किया कि यार खुद तो कमा नहीं सकते हैं। ना कोई काबिलियत है ना कुछ पढ़ाया है सिवाय जिहाद के। चलो यार सामने वाला कोई अच्छी कमाई कर रहा है। 8 टू 9% इनकी जीडीपी ग्रो कर रही है। बर्दाश्त नहीं हो रहा था आपके यहां पे दहशतगर्द तंजीमों से ये और वो आके उन्होंने हमारे फाइनशियल सेंटर को हिट किया। मगर गेस व्हाट हम फिर भी आज खड़े हैं अपने पैरों पे। किसी से बिलियन दो बिलियन डॉलर मांगते नहीं फिर रहे। ठीक है? कुछ तो गलत किया होगा कि एक एक बिलियन डॉलर के लिए मोहताज हो गए हो। एक आईएमएफ जैसा जो इदारा है आपके मुल्क की पूरी इकोनमिक पॉलिसी को डिक्टेट कर रहा है। कुछ तो गलत किया होगा आपने। अगर गलत नहीं किया तो फिर इन्वेस्टर्स क्यों नहीं आते आपके यहां पे? इंडिया में क्यों आते हैं? Apple के आईphonस इंडिया में क्यों बनते हैं? आपके यहां पर क्यों नहीं बनते? कुछ तो गलत किया होगा आपने कि पासपोर्ट दुनिया का चौथा वर्स्ट पासपोर्ट है। कुछ तो गलत किया होगा कि पाकिस्तान के अंदर इंटरनेशनल टूरिस्ट जितने बड़े नंबर में हिंदुस्तान में घूमने आते हैं उतने वहां नहीं आते। कुछ तो गलत किया होगा आपने कि हिंदुस्तान के अंदर जितने भी हेड ऑफ द स्टेट्स हैं बड़े-बड़े मुल्कों के जिनका असरो रसूख है दुनिया में उन सब की विजिट होती है पाकिस्तान में तो कोई नहीं आता ले दे के कोई नहीं आता सालों कोई बता दें पिछले 5 10 सालों में कोई बड़ी स्टेट विजिट हुई हो पाकिस्तान के अंदर कुछ तो आपने गलत किया होगा कि आपका ढाई करोड़ बच्चा स्कूल से बाहर है कुछ तो हिंदुस्तान ने ठीक किया होगा कि आज कम से कम हम आपके साथ आपकी कोशिश है अपने के साथ इक्वेट करने की। मगर हमारे 600 700 बिलियन डॉल का फॉरेन रिजर्व है और आपका खत्म हो गया है। आपका डेप्ट टू जीडीपी रेशो जो है वो 80% तक पहुंच गया है। कुछ तो गलत किया होगा आपने। ये वो तल्ख हकायक है सर जी जो आपको आप ना माने लेकिन आपकी स्टोरी जब कभी भी दुनिया में बताई जाएगी तो उसमें इनका जिक्र होगा। आप ना माने आप हमें इल्जाम देते रह। एक के बाद एक जितने मर्जी देते रहे। मगर यह सेल्फ डिफिटिंग आपकी अप्रोच है। इससे आप कहीं बाहर नहीं जाने वाले। हमारे बच्चे रैंक्स लेकर आते हैं ग्लोबल यूनिवर्सिटीज में। हमारे बच्चे आगे चल के एक्सेल करते हैं। आपके बच्चे कहां हैं? क्यों नहीं एक्सेल कर रहे? क्यों नहीं कमट कर रहे हमारे बच्चों के साथ में? कुछ तो गलत किया होगा आपने। विद ऑल ड्यू रिस्पेक्ट। सर, आपसे हम डिफरेंट एक एटीट्यूड की एक जवाब की तवको रखते हैं। एक आम जो जमात इस्लामी का बंदा है या टिपिकल नजरिया पाकिस्तान वाला है। हम एक्सपेक्ट करते हैं कि आप थोड़ा सा बैलेंस बात करेंगे और आपको दोनों साइड्स का पता होगा कि इस इशू पे पाकिस्तान का मौकफ क्या है? इंडिया का मौकफ क्या है? या जो आपके पास एविडेंस है, प्रीकंसीव नोशंस हैं, उनके खिलाफ क्या आर्गुममेंट्स मौजूद हैं? एक पढ़े लिखे बंदे की और अनपढ़ की अप्रोच में यही फर्क होता है। आजकल तो बड़ा आसान है। इंटरनेट पे बैठे हैं आपको पता चल जाता है यार ये जो मेरा नुक्ता नजर है इसके खिलाफ क्या दलाइल मौजूद है? क्या एविडेंस मौजूद है? मसलन आपने सर कश्मीर की बात की कि कश्मीर में ह्यूमन राइट्स वायलेशंस हुई है। बहुत ज्यादा हुई है। इंडिया में बहुत ज्यादा ज्यादतियां हुई हैं। तो सर क्या 1989 से पहले भी कश्मीर में ह्यूमन राइट्स की इसी तरह वायलेशंस होती थी। जब आप गन उठाएंगे, जब आप बेगुनाहों को मारना शुरू करेंगे, तो व्हाट डू यू एक्सपेक्ट द स्टेट टू डू? मसलन वहां पर एक बिटा कराटे थे उनका वीडियो मौजूद है। उनको गिरफ्तार किया गया और उनसे पूछा गया कि आपने कितने लोग मारे होंगे? उसने कहा जी 101 मारे होंगे। उसने कहा 101 या 1520 कहता हो सकता है 1520 हो। उन्होंने कहा जी आप टारगेट कैसे चुनते थे? उसने कहा जी मुझे ऊपर से आर्डर मिलता था कि फला को मार दो मैं मार देता था। तो आगे से जर्नलिस्ट ने पूछा अगर आपको यह आर्डर मिलता कि अपनी मां को मार दो क्या करते? कहता मैं मां को भी मार देता। जब भी आप किसी का मर्डर करते थे तो क्या हमेशा इशक मजीद वानी का आर्डर होता था तब करते थे या अपनी मर्जी से भी कर सकते थे? नहीं अपनी मर्जी से मैं किसी को नहीं मारता था। ऊपर से आर्डर मिलता था। लीडर्स ऑर्डर देते थे कि अच्छा ऑर्डर दे किसी को मार दो आप मार देते थे। हां जी। चाहे वो कोई भी हो। कोई भी हो। अगर वो कहता कि अपने सगे भाई को जान से मार डालो। जी मैं तो मार देता। अगर वो कहता अपनी मां को जान से मार डालो। मैं तो मार देता। तो यह तो गुलामी से भी बदतर हालत हो गई आपकी। नहीं गुलामी कहां? मैंने कहा ना पहले हम जब जाइन करता है कोई लड़का जाइन होने से पहले वो हल बुठवाते हैं। ये काम है। अगर नहीं है तो आप जा सकते हैं। और सर ये जो माइनॉरिटीज के साथ ज्यादती की बात है ना सर हमने 1950 में एक मैसकर किया ईस्ट पाकिस्तान में। जोगेंद्र नाथ मंडल जो हमारे पहले लॉ मिनिस्टर थे। आज पाकिस्तान के किसी शख्स को पता नहीं होगा कि हमारा पहला लॉ मिनिस्टर एक हिंदू था। यह भी हमें बताया जाता है जी पाकिस्तान बना था इस्लामी कानून के लिए। इस्लामी निजाम के लिए लेकिन आयरननी देखिए कि हमारा पहला लॉ मिनिस्टर एक हिंदू था और पहला जो है फॉरेन मिनिस्टर वो एक अहमदी था सर जफरुल्लाह खान तो उस हिंदू मिनिस्टर ने अपने लेटर ऑफ रेिग्नेशन में क्या लिखा सर वो पढ़िएगा प्लीज आप पढ़े लिखे आदमी है माशा्लाह पढ़ सकते हैं उसको उसने लिखा कि यहां के हिंदुओं का फ्यूचर वो लिक्विडेशन है या कन्वर्शन है 10,000 हिंदू ईस्ट पाकिस्तान में मारे गए एंड ही कुड नॉट डू अ थिंग डिस्पाइट बीइंग अ फेडरल मिनिस्टर उसके बाद सर लियाकत नेहरू पैक्ट हुआ था 50 ही में आई थिंक इट वास अप्रैल 1950 उसमें पाकिस्तान और इंडिया ने कमिट किया कि हम इक्वल राइट्स देंगे आज तक पाकिस्तान ने इक्वल राइट्स दिए आपने अपने कॉन्स्टिट्यूशन में लिख दिया कि जनाब सदर और वजीर आजम के ओदे जो हैं सारे नॉन मुस्लिम उसके लिए डिसक्वालिफाइड हैं। एक तरफ आईन कहता है पाकिस्तान का आईन कहता है कि सारे सिटीजन बराबर हैं। एंड देन यू मेक अ मौकरी ऑफ दिस इक्वलिटी बाय सेइंग द प्रेसिडेंट एंड द प्राइम मिनिस्टर दे हैव टू बी मुस्लिम्स। प्रैक्टिकली तो सिचुएशन इससे भी ज्यादा खराब है। मतलब चीफ मिनिस्टर कोई नॉन मुस्लिम नहीं बन सकता। गवर्नर नहीं बन सकता। लेकिन आपने आइन में इतनी इनसिक्योरिटी है कि आपके यहां चारपस बमुश्किल नॉन मुस्लिम्स हैं। एंड दे आर मार्जिनलाइज्ड ऑलरेडी। उनका खतरा कोई नहीं था आपको कि सदर बन जाएगा वजीरेआज़म। लेकिन फिर भी इतनी डीप इनसिक्योरिटी थी और भुट्टो साहब जैसा लिबरल सेुलर आदमी। उसको भी आइन में लिखना पड़ा। इनको डर आता है, खौफ आता है थोड़े से जो नॉन मुस्लिम है कि यार सदर ना बन जाए कहीं हमारा वज़र आजम ना बन जाए तो सर प्लीज रिसोंड कीजिएगा। फिर अरविंद कुछ कहना चाह रहे हैं। 10 सेकंड में एक छोटी सी मेरी एक के ले लें कि ये बार-बार कश्मीर के ह्यूमन राइट्स वायलेशंस की बात करते हैं और हर इशू को फिर वो चाहे बलचिस्तान का मुद्दा हो या कश्मीर का मुद्दा हो सिर्फ मुसलमानों के चश्मे से देखते हैं। सैयद अली शाह गिलानी जो कि हुरियत कॉन्फ्रेंस के सबसे बड़े लीडर थे। उन्होंने यह बात एक इंटरव्यू में कही कि एक मुसलमान के लिए गैर मुस्लिम मुआशरे में रहना ठीक वैसे ही है जैसे बिन पानी के मछली का रहना है। तो भट्ट साहब पाकिस्तान के कम से कम एक करोड़ ओवरसीज पाकिस्तानीज हैं जो इसी पानी को छोड़ के और अंग्रेज के मुआशरे में जाके बैठे हैं। इस्लामिक मुआशरे में नहीं बैठा कोई जाके। कश्मीर में सबसे पहले जिहाद किया गया आपसे। आपकी तरफ से फौज उसके बाद आई है। ये नहीं हुआ कि पहले फौज आई है और उसके बाद जिहाद हुआ है। तो पहले अपनी भी थोड़ा सा देख लिया करें कि आपने क्या गंद डाला है वहां जाके। देखिए जहां तक मेरी राय है तो मैं टू बी फ्रैंक बीइंग सेकुलर और लिबरल के। अ मेरा बस चलता हो तो मैं पाकिस्तान के अंदर क्रिश्चियंस को पाकिस्तान के अंदर जो हमारी हिंदू कम्युनिटी है उन उन लोगों को और खासतौर पर जो क्रिश्चियन है उनको मैं आगे लेकर आ उनकी प्रमोशन के लिए उनकी तरक्की के लिए उनको पसमांदगी से निकालने के लिए मैं जहां तक जा सकता हूं जहां सॉरी फॉर इंटरप्शन व्हाट अबाउट अहमदीस सर मैं प्लीज मैं प्लीज सर मुझे जवाब देना जी देखिए मैं अपनी स्टेट का या अपनी गवर्नमेंट का स्पोक्सपर्सन नहीं हूं मैं आपको अपनी जाती राय से आगाह कर सकता हूं। को भी कर ले। इसमें ये कह रहे हैं प्रेसिडेंट जो है वो क्रिश्चियन बन बनना चाहिए उसे। एक हिंदू जो है अगर उसके अंदर कंपटेंसी है तो वो प्राइम मिनिस्टर भी बन सकता है। बनना चाहिए। ये मेरी जाती राय है। अच्छा। लेकिन अगर वो ऐसा नहीं हो रहा है तो उसके लिए हमें स्ट्रगल करनी चाहिए। हमें इन माइनरिटी के राइट्स के लिए आगे आना चाहिए जो कि हम आ रहे हैं। हम लिखते हैं। हम अपनी गवर्नमेंट्स को रियलाइज करवाने की पूरी कोशिश करते हैं। अब आते हैं कश्मीर की तरफ। देख बात ये है कि 71 के अंदर जो दुनिया की तारीख की जो सबसे बड़ा टेररिज्म था वो इंडिया ने किया मशरकी पाकिस्तान के अंदर। वो इतनी बड़ी प्लड थी। इतनी बड़ी कास्परेसी थी और वहां पर इनका किरदार वही था जो आज इनका बचिस्तान के अंदर है और इन्होंने वहां पर टेररिज्म को स्पोंसर किया प्रमोट करके वहां के जो सेपरेटिस्ट थे उनको पाकिस्तानी पाक आर्मी के खिलाफ लड़ाया जो वेस्टर्न विंग थी उसके खिलाफ नफरत इन्होंने पैदा की और उसके बाद ढाका हो गया और जो शिमला एग्रीमेंट है आपका जो आपकी जो मेरे लिए बड़ी मोहतरम है इंदिरा गांधी साहिबा और जुल्फकार अली भट्टो के दरमियान हुआ था। तो उसमें जो बेसिक पॉइंट तय हुआ था वो ये था कि कश्मीर का मसला जो है वो पाकिस्तान और इंडिया जो है वो बटरली इसको डायलॉग के जरिए नेगोशिएशन के लिए हल करेंगे। मुझे बताएं कि 1989 के अंदर कश्मीर के अंदर इंसजेंसी शुरू होती है। तो 71 से लेकर 1989 तक हम इंडिया को कन्वस कर रहे हैं कि आइए जनाब टेबल पर बैठते हैं। जो कश्मीर का मसला है इसको हल करते हैं और इसको हल करके आगे बढ़ते हैं। अपने लोगों की गुरबत के खिलाफ, पसमांदगी के खिलाफ, जहालत के खिलाफ, बीमारी के खिलाफ लड़ाई का आगाज करते हैं। मुझे बताएं के 1989 तक इन्होंने इस बात को हमेशा झुठलाया। यह हमारे साथ टेबल पर बैठने के लिए तैयार नहीं हुए थे। और उसके बाद वो इंडजीनस मूवमेंट है। कश्मीरियों की वो इंडजीनस मूवमेंट है। मैं जाती तौर पर अगर मुझसे पूछे ना अगर कश्मीरियों की उस इंडजीनस मूवमेंट को बाहर से स्पोंसरशिप हो रही है। सेफ फर्ज कर ले सपोज कर ले कि पाकिस्तान से वहां यहां से जहादी तजीमे हम वहां भेजेंगे तो वो उस उनकी वो मूवमेंट की फेवर में नहीं जाती है। ये उनकी मूवमेंट के खिलाफ जाती है। उनकी मूवमेंट बदनाम होगी। अगर मुझसे पूछे तो मैं बिल्कुल कश्मीरियों को यह मशवरा नहीं दूंगा कि वो इंडिया के खिलाफ जो अपनी लेजिटमेट स्ट्रगल है उसमें हेल्प ले बाहर से जो जिहादी या टेररिस्ट ऑ्गेनाइजेशन या आउटफिट्स है उनको बुलाकर उनकी इंडजनस मूवमेंट है उन्होंने बहुत कुर्बानियां दी है डेढ़ लाख से ऊपर यार शहीद हो चुके हैं बेचारे उनकी बेशार औरतों के साथ रेप हुआ है उनके आज उधर जाके देख ले इनसे पूछ ले इन्होंने आज भी सारा लॉकडाउन किया हुआ है उनका इंटरनेट बंद है उनकी कम्युनिकेशन सारी बंद की हुई है और वहां पर जो उनके नौजवान है बेचारे उनको देखो इन्होंने अंधा कर दिया पैेट गन्नों का इस्तेमाल करके अंधा नहीं किया और उनको अपहज करके उन्होंने छोड़ दिया है तो उस उसको उसको हल करने का तरीकाकार ये नहीं है कि आप फाल्स फ्लैग ऑपरेशन जब तक आप हमें कोई एविडेंस नहीं देते क्रेडिबल वो फाल्स फ्लैग ऑपरेशन इंडिया के अंदर करवाएं 10 मिनट के अंदर पाकिस्तान के ऊपर इल्जाम लगाए और उसके बाद खुद से जरी और जज बनकर फैसला करें और पाकिस्तान के ऊपर जो है वो आप अटैक कर दे। जंग किसी मसले का हल नहीं है भाईजान। जंग किसी मसले का हल नहीं है। दोनों न्यूक्लियर पावर्स है। सोच ले समझ ले इसको अच्छी तरीके से। दोनों न्यूक्लियर पावर्स है। न्यूक्लियर पावर्स के दरमियान जो जो है वो वो बात आपने बैठकर ही। ठीक है सर। मेरे ख्याल से आपका पॉइंट आ गया है। जंग किसी मसले का हल नहीं है। हम न्यूक्लियर पावर हैं। उसके बावजूद 65 में जंग किसने शुरू की? आपने। 71 में जंग किसने शुरू की? आपने। कारगिल किसने किया आपने। दहशतगर्दी के हजार वाक्यात किसने किए? आपने। और अब आप आप लेक्चर भी अमन का देंगे। आप बैठ के। हैं? अब ऐसा है कि 71 के ऊपर तो बताएंगे चौधरी साहब आपको जवाब देंगे। बेहतर है कि कोई पाकिस्तानी खुद ही इसका जवाब दे। मगर मैं सिर्फ आपसे इतना कहूंगा कि आप बार-बार यह कह देते हैं कि जी कश्मीर पर बड़ा जुल्म है। कश्मीर में ये है वो है। कश्मीर के मसले को आप दो कौमी नजरिए के चश्मे से देखते हैं। कश्मीर में बुद्धिस्ट भी रहते हैं। हिंदू भी रहते हैं, सिख भी रहते हैं। सब कुछ बता दिया। ये ये नहीं बताओगे कश्मीर से पंडितों को क्यों निकाला आपने? उनका क्या कसूर था? वो तो एक मार्जिनल कम्युनिटी थे। लेस देन 5% उनका क्या कसूर था? उनको क्यों निकाला? ना सिर्फ उनके मजहब की बुनियाद पे। आप ये समझते थे कि हिंदुस्तान की आंख और कान है। इनको पहले यहां से निकालो। हमें होना चाहिए। आपके जितने नेशनलिस्ट है वो तो सारे बाहर के मुल्कों में बैठे हैं। इंडिया के बड़े से बड़े सेपरेटिस्ट भी हैं। वो कश्मीर की मिट्टी में जाकर दफन हुए हैं। कोई बाहर नहीं भागा। कोई बाहर नहीं भागा। इस तरह से। ये फॉल्स इक्विवेलेंस करते हैं आप लोग। जब आपके पास कोई आर्गुममेंट नहीं होती है। कश्मीर का मुद्दा जो है सिर्फ आप इस्लाम के चश्मे से देखते हैं। और फिर चाहे बलचिस्तान का इशू हो उसको भी सिर्फ हमारे मुसलमान भाई हैं। हमारे मुसलमान भाई हैं। लेकिन मैं सेकुलर हूं, लिबरल हूं। आप सेकुलर लिबरल हो तो मुसलमान मुसलमान करना छोड़े सर। आप यह बात करें कि हां भाई वहां पे इशू क्या है? वहां पे इस्लामिक सेपरेटिज्म का इशू है जम्मू कश्मीर में। कोई और कोई इशू नहीं है वहां पे। वही इस्लामिक सेपरेटिज्म जिसको आपने वहां पर फरो दिया है। इतने सालों में आपने प्रमोट किया है। आपने आपके जर्नलों से लेके और आपके जितने भी बड़े-बड़े लीडर्स हैं उनकी स्पीचेस हैं। वक्त थोड़ा सा कम है। वरना मैं चौधरी साहब को जरूर वो वीडियो भेजूंगा और उनसे मेरी गुजारिश है कि क्रेडिट देके बेनजीर भुट्टो साहिबा की जो स्पीच है मुजफराबाद में जो उन्होंने दी है जिस तरह से वो उकसा रही थी कश्मीर के लोगों को वो जरा देख लें। कश्मीर के बहादुरबा मौत से नहीं डरते हैं क्योंकि वो मुसलमान है। कश्मीरियों के रगों में मुजाहिद और गाजियों का खून है। कश्मीर के आवाम के रगों में मुजाहिदों का खून है। क्योंकि कश्मीर के आवाम वारिस हैं। रसूल पाक सल्लल्ला आला वाले वसल्लम के वारिस हैं। वो वारिस है तो हजरत अली और हजरत उमर के वारिस हैं। और कश्मीर के बहादुर खवातीन वारिस है तो बीवी खदीजा, बीवी आयशा और बीवी फातिमा के वारिस हैं। वो लड़ना भी जानते हैं और वो जीना भी जानते हैं। और अगर वो जिएंगे तो वो इज्जत के साथ जिएंगे। अपने हक को लेकरेंगे। कभी कश्मीर के लिए कभी किसी के लिए कभी किसी के लिए लड़ना मारना मरना यह आपकी तारीख रही है। और कुछ नहीं है इसके। आपके तारीख में से और कुछ भी नहीं है। आप अरबों में से इस्लाम निकाल दें तो बचेंगे अरब। तुर्कों में से इस्लाम निकाल देंगे तो बचेंगे तुर्क। ईरानियंस में से इस्लाम निकाल देंगे तो बचेंगे परशियंस। पाकिस्तानियों में से इस्लाम निकाल देंगे तो क्या बचेगा? कुछ नहीं बचेगा। आप हिंदू है सिख है सारे के सारे। ठीक है? इसलिए आपको तकलीफ अपनी अपनी आइडेंटिटी से है। अपने अबबाओ अदाद की शिनाख्त से आपको आपको मसला है। इसलिए आप यह सारा काम करते हैं। सर जी एक बात आप अच्छे से गांठ बांध लें। यह जो काम बार-बार आप यह जो कश्मीर की बात करते हैं हमारे यहां पर एक एवरेज कश्मीरी आपके यहां से कहीं ज्यादा खुश है इन टर्म्स ऑफ कि फिर चाहे उसको रियासत की तरफ से जो इमदाद मिलती है जो सहूलतें मिलती है दो से ढाई करोड़ टूरिस्ट कश्मीर पिछले दो-ती साल से जा रहा है हर साल ढाई करोड़ तक आपने किन के पेट पर लात मारी है आपने उन कश्मीरियों के पेट पर लात मारी है कभी आप जब इन जब उनकी इकॉनमी लोकल इकॉनमी फ्लोरिश करने लगती है तब जाके आप कश्मीर में इस तरह का काम करते हैं। जब हिंदुस्तान की इकॉनमी फ्लोरिश करती है तो हमारे फाइनेंसियल सेंटर मुंबई को आके हिट करते हैं आप। ये आपकी तारीख है। अपनी इकॉनमी बनाओ। अपना पैसा कमाओ। दुनिया से कब तक इमदाद लोगे? आखरी 10 सेकंड है चौधरी साहब पाकिस्तान जब से बना है तब से लेकर अब तक पाकिस्तान सबसे मेजर नॉन नेटो अलय है अमेरिकनंस के के लिए आपके फॉरेन फॉरेन सेक्रेटरी लेवल के आप यहां तक कि जना साहब के अगर आप खुदत देखें जो यूएस सेक्रेटरी ऑफ स्टेट के नाम से आपने तो पहले दिन ही मुल्क को उनके हवाले कर दिया था। आपकी सारी ग्रोथ जो थी वो इनफ्लेटेड थी। 60 और 70ज में हमारे बड़े जब मेरे को जो पाकिस्तान आए हुए हैं वो बताते थे कि ऐसीसी रेडियो ट्रांजिस्टर्स और ऐसीसी चीजें पाकिस्तान में गाड़ियां मिलती है हम सोच भी नहीं सकते थे हम अपने इंस्टटश को बिल्ड कर रहे थे उस वक्त जब आप दुनिया के बोरो किए हुए पैसे से आप ये काम कर रहे थे जब जो पैसा देता है ना फिर वो डर्टी काम भी करवाता है उसने दो दहाई आपको मौज कराई तीसरी दहाई में 70 आतेआते कहा अब अब करो जिहाद वहां जाके फिर जो पैसा ले लेता है ना उसके पास कोई चारा भी नहीं रहता। उसको फिर यह काम करना पड़ता है जो आपने किया है। आज तक उसका आप जो जो उसके नताज है उनको भुगत रहे हैं। आप कहते हैं कि आप सेकुलर माइंडेड आदमी हैं, लिबरल आदमी है। लेकिन आपके आर्गुमेंट्स जो है ना विद ऑल ड्यू रिस्पेक्ट वही है जो हम जमात इस्लामी के लोगों से सुनते हैं। तो आपने जैसे कहा कि ईस्ट पाकिस्तान में दुनिया का सबसे बड़ा टेररिज्म हुआ। तो सर मुझे यह बताइए कि कितनी इंटरनेशनल ऑर्गेनाइजेशंस ने कितने मुल्कों ने उसको टेररिज्म डिक्लेअर किया? अगर इंडिया ने टेररिज्म किया, गलत मुल्क बनवा दिया तो भाई फिर शामिल हो जाओ दोबारा पाकिस्तान में। इट वाज़ द वर्स्ट एग्जांपल ऑफ़ टेररिज्म अकॉर्डिंग टू यू। इतना बड़ा टेररिज्म हुआ और हमने बंगालियों के साथ इंडिया ने किया। तो सर हबीब जालिब वो भी लिबरल आदमी थे। उन्होंने क्यों कहा मोहब्बत गोलियों से बो रहे हो? वतन का चेहरा खून से धो रहे हो। घुमा तुमको कि रास्ता कट रहा है। यकीन मुझको कि मंजिल खो रहे हो? सर आप लिबरल्स के साथ खड़े हैं या जमात इस्लामी के साथ खड़े हैं? ये मुझे जरा हैरत होती है। दूसरा आपने फरमाया कि जी हम कोशिश कर रहे हैं, स्ट्रगल कर रहे हैं के एक क्रिश्चियन के भी राइट्स वही हो। हिंदू के भी राइट्स वही हो। अहमदियों का नाम भी जरा ले लीजिएगा उसमें। तो सर हमने तो अहमदियों को जिनको जिना साहब ने पहला फॉरेन मिनिस्टर बनाया एक अहमदी को और उसकी तारीफ करते हुए इंडिया की लेजिस्लेचर जो सेंट्रल लेजिस्लेचर थी उसमें कहा ये मेरा कोई मेरा बेटा है और यह मुसलमान है। ठीक है जी। आज हम किसी से बात करें तो वो कहते हैं जी ये तो बड़ी ब्लेसफस बात कर रहे हैं। दुनिया का देखिए द वर्स्ट ब्लेसफमी लॉ इन द वर्ल्ड इज इन पाकिस्तान। आप कहते हैं जी हम कोशिश कर रहे हैं। सर उस कोशिश का नतीजा क्या निकला? क्या आज आपके लोग जो है उस कोशिश का अगर नतीजा निकलता तो कितने साल हो गए 73 के आइन को। अब तक वो आइन बदला जा चुका होता। तो सर ये स्ट्रगल जो है ना ऐसे ही लिप सर्विस है कि हम कर रहे हैं। जी आर्टिकल लिख दिया था मैंने। उसका नतीजा भी तो देखिए ना। वो कहते हैं ना द प्रूफ ऑफ द पुटिंग लाइ इन द ईटिंग। और ईस्ट पाकिस्तान पे सर हमने एक डिटेल डिस्कशन की थी अभी पिछले दिनों एक वो मैं आपको भेज दूंगा। बचिस्तान पे भी डिटेल डिस्कशन थी वो वो मैं आपको भेज दूंगा। वी शुड नॉट री इन्वेंट द व्हील और दूसरा सर जो कश्मीर की आप बात कर रहे हैं ना कश्मीर के स्यूशन की उस पे भी हम अलग से भी एक शो रख सकते हैं और मैं आपसे जानना चाहता हूं कि पाकिस्तान में सर कश्मीर पे सबसे अच्छी किताब कौन सी लिखी गई है ताकि पता चले कि पाकिस्तानियों की सीरियसनेस क्या है कश्मीर के इशू से? एजी नूरानी एक इंडियन स्कॉलर थे। मुंबई में रहते थे। एंड ही वास एन एमिनेंट अथॉरिटी ऑन द कश्मीर इशू। उनकी किताब है द कश्मीर डिस्प्यूट जो 2014 में कराची में ऑक्सफोर्ड यूनिवर्सिटी प्रेस ने पब्लिश की। उसमें सर उन्होंने लिखा है कि जना साहब को नवंबर 47 में ऑफर की गई कि हम तीनों स्टेट्स में प्लबसिट करवा देते हैं। हैदराबाद, दक्कन, जूनागढ़ और कश्मीर। जिना साहब ने इंकार कर दिया। उसके बाद भी सर सरदार शौकत हयात ने लिखा अपनी किताब में हां मुझे यह पता चला कि इंडिया की तरफ से ऑफर आई है कि आप हैदराबाद दक्कन से दस्तरदार हो जाए कश्मीर ले लें तो मैं लियाकत अली खान के पास गया और मैंने कहा सर ये बड़ी अच्छी ऑफर है कश्मीर में हमारी कैंपेन ठीक नहीं जा रही मुझे लियाकत अली खान कहते हैं शौकत तुम मुझे पागल समझते हो मैं हैदराबाद दक्कन जैसी बड़ी रियासत छोड़ के कश्मीर की चंद पहाड़ियां ले लूं वो कहते हैं मैं इतना इतना फ्रस्ट्रेट हुआ इस बात से मैंने फौरन चेयरमैनशिप जो थी मेरे पास कश्मीर कमेटी की मैंने उसे रिजाइन कर दिया और दूसरा सर जूनागढ़ की एक्सेशन आपने किस लॉजिक के तहत कबूल की? जूनागढ़ की एक्सेशन आज आपका मौकफ क्या है कश्मीर पे के जी कंटीग्यूस है मुस्लिम मेजॉरिटी है ये हमारा है। जूनागढ़ ना कंटिग्यूस था ना मुस्लिम मेजॉरिटी थी। आपने उसकी एक्सेशन कबूल की। इंडिया ने जब प्रोटेस्ट किया तो आपने कहा के हर रूलर को यह हक है कि वो जिसके साथ चाहे चला जाए। उस पे सर एंबेसडर शाहिद अमीन ने लिखा उन्होंने किताब लिखी है जो ऑक्सफोर्ड यूनिवर्सिटी प्रेस ने शाय की कराची में उन्होंने लिखा कि पाकिस्तान शोड पुअर जजमेंट इन एक्सेप्टिंग जूनागढ़ एक्सेशन। इट इोडेड पाकिस्तान केस ऑन कश्मीर। तो सर ये हकायक हैं। वो फैक्ट्स हैं जो आप अपने आवाम को नहीं बताते। आपने आवाम को ट्रक की बत्ती के पीछे लगाया हुआ है। कश्मीर कश्मीर कश्मीर करके उनको एजुकेट नहीं किया। एक किताब मुझे बता दें किसी पाकिस्तानी ने लिखी हो जिसको आप रिकमेंड कर सकें कि यार ये किताब पढ़ लो कश्मीर का मसला तुम्हें समझ आ जाएगा। और सर जी प्लीज प्लीज देखिए बात ये है कि आप आप हमारे दोस्त यहां बैठे हुए हैं। मैं उनकी बड़ी रिस्पेक्ट करता हूं। मैं जड़ावाला से बिलोंग करता हूं आपके और जड़ावाला में आपको याद होगा कि पिछले साल एक बहुत बड़ा वाक्या हुआ था क्रिश्चियन कम्युनिटी के हवाले से तो कुछ ब्लास्टफेमी का एलगेशन था और उसके बाद जो मॉब था वो बाहर आया और उन्होंने आके तो जो रिलीजियस जो उनके चर्चेस थे और उनकी रेजिडेंस थी उनको आग लगा दी। दोपहर तक इतना खौफ और इस शहर के अंदर फैला हुआ था। मैं घर आया। मैंने उसको सारा विजिट किया और मुझे बहुत ज्यादा दुख हुआ। मतलब आई वास क्राइंग। मैं घर आया हूं और मैंने सोशल मीडिया का खोला तो उस पर भी कोई पोस्ट इस हवाले से नहीं थी। सिर्फ लोग ये शेयर कर रहे थे कि यहां पे इन्होंने ये ज्यादती की है। क्रिश्चियंस ने ब्लासफमी की है। तो हम उसको मुसलमानों का जज्बा जो है वो डिमांड करता है कि हम ये सारा रिएक्ट करें। आपको पता है मैंने उसप पोस्ट लिखी थी। जब मैंने पोस्ट लिखी उसको कंडेम किया। जो मॉब था जो इंतजामिया थी उनको कहा कि आप ज्यादती कर रहे हैं पाकिस्तान के साथ ज्यादती कर रहे हैं आप इस मजहब के साथ ज्यादती कर रहे हैं हमारा मजहब जो है वो इन चीजों की तालीम नहीं देता है ठीक है तो ये सारे का सारा जो है ये आपके ऊपर मरबा गिरेगा आप इसको मौलवी तो देता है मजहब नहीं देता आई वास द फर्स्ट वन मैंने सबसे पहले सोशल मीडिया पे लिखा और मेरी फैमिली मुझे रेिस्ट कर रही थी उसमें रिस्क इन्वॉल्व था जी तो मेरी वाइफ ने कहा कि आप ये ना करें आप प्रवोक कर सकते हैं। मॉब आपके ऊपर अटैक कर सकता है। लेकिन मैंने कहा कि मुझे लिखने दो ये मेरी ड्यूटी है और लोगों तक इस अवेयरनेस को पहुंचना चाहिए। और फिर उसके बाद यह हुआ कि जब मैंने लिखा और मैं बारिश का पहला कतरा बना और उसके बाद फिर वो जड़ावाला के जो लोग थे क्योंकि उसके अंदर मैंने ये मौकफ लिया था कि ये बिल्कुल इस्लाम के तालीबात के खिलाफ है और ये हमारे जो पाकिस्तानियत है ये उसके भी खिलाफ है। आप दोनों को नुकसान पहुंचा रहे हैं और ये बिल्कुल नहीं होना चाहिए। इसको रोकना चाहिए और इस पे हमें अपोलजाइज करना चाहिए अपनी कम्युनिटी के साथ। दूसरी बात जो आप मुझे कह रहे थे चौधरी साहब के जो यहां पर एमडी कम्युनिटी है उसके हवाले से आप क्या कहते हैं भाई वो हमारी माइनॉरिटी है कास्टिट्यूशनली रिकग्नाइज्ड है उनके कॉन्स्टिट्यूशन राइट्स हैं और जो कॉन्स्टिट्यूशन राइट्स है वो बिल्कुल मिलने चाहिए उसमें किसी तरह का बिल्कुल मैं जाती तौर पर समझता हूं जो उनके आईनी हूक है उन्हें मिलने चाहिए और उनकी पर्सक्यूशन अगर किसी जगह पे हो रही है वो बिल्कुल नहीं होने चाहिए जो जो एक माइनॉरिटी के राइट्स होने चाहिए या हो सकते हैं कॉन्स्टिट्यूशनली तो उनकी इम्लीमेंटेशन जो है वो बिल्कुल होनी चाहिए। दूसरा ये है कि इंडिया हमारा एक नेबर है। हम भी उसके नेबर है। अब नेबर चेंज नहीं हो सकते हैं। हम 2000 से 2000 अब 25 में एंटर हो गए हैं। तो पाकिस्तान के अंदर जो है वो टेररिज्म चल रहा है। 77ाउ जो पाकिस्तानी है उन्होंने सैक्रिफाइस किया यहां पे। तो जब तक ये नेबरहुड से क्रॉस द बॉर्डर जो है वो टेररिज्म यहां पे स्पोंसर होता रहेगा। तो यहां पे कौन सी मुझे पता है इंडस्ट्री आएगी? कौन सी ट्रेड यहां पे नर्चरिंग करेगी? कौन सा यहां पे बिजनेस जो है वो फल फूलेगा या कौन सा इन्वेस्टर आएगा? तो जिस तरह मेरे इंडियन भाइयों को हमसे ये एतराज है कि अगर आप क्रॉस फ्रॉम क्रॉस द बॉर्डर अक्रॉस द बॉर्डर अगर आप ट्रायलिज्म यहां पे स्पोंसर कर रहे हैं तो इसको बंद करें। इसी तरह से हमारा भी उनसे यही मुतालबा है कि पाकिस्तान के अंदर भी अगर उनके सिग्नेचर हमें नजर आते हैं टेररिज्म के हवाले से तो वो फरी तौर पर उसको रोकना चाहिए। अफगानिस्तान से जो अगर बूचिस्तान के अंदर टेररिज्म स्पोंसर्ड हो रहा है, फंडिंग हो रही है या ट्रेनिंग हो रही है उसको बिल्कुल रुकना चाहिए। जो जो दिल्ली के अंदर इन्होंने बलोच जो हमारे सेपरेटिस्ट है उनको वहां पर बिठाया हुआ है पाकिस्तान के खिलाफ ये सारा जो है वो मैनेज करने के लिए उसको रुकना चाहिए और एट दी सेम टाइमकि नेबर चेंज नहीं हो सकते हैं दोनों मुल्कों को अपने आवाम की फलाह बबूत पर तवज्जो देनी चाहिए पसमांदगी दूर करनी चाहिए मोदी साहब की इस बात से मैं बिल्कुल एग्रीड हूं के आए मिलकर दोनों हाथ में हाथ डालकर तो गुरबत के खिलाफ अपनी जंग का आगाज करते हैं अपना अपना नाखगी के खिलाफ जहालत के खिलाफ अपनी जंग का आगाज करते हैं। दोनों मुल्कों के लिए ये ना फिजिबल है और ना ही ये किसी के फायदे में है कि हम एक दूसरे के साथ जंग करें। हर दूसरे तीसरे दिन के बाद एक नया वाकया हो। उसके बाद आप बॉर्डर के पार से बमबारी करें। हम उसको डिटेलिएट करें। तो पाकिस्तान का तो इसमें नुकसान होगा ही। लेकिनकि इंडिया एक बड़ी इकॉनमी है। ठीक है? और उसके स्टे ज्यादा बड़े हैं तो उनका हमसे ज्यादा नुकसान होगा। तो मिलकर बैठकर डायलॉग के जरिए मसाइल हल करें। मैं समझता हूं कि यही दोनों मुल्कों के फेवर में है। अच्छा भट्ट साहब एक तो जो क्रिश्चियंस की आपने बात की या माइनॉरिटीज की बात की तो सर ये भी देखना चाहिए कि हर पांच सात सात साल बाद इस तरह के वाक्यात क्यों होते हैं और आप जैसे जो लोग हैं जो इस चीज के खिलाफ हैं कितने हैं? ठीक है ना? मसलन गोजरा में नौ या आठ या नौ क्रिश्चियंस को जिंदा जला दिया गया था। किसी को सजा हुई तो यह एक पैटर्न बन गया। शांति नगर में हुआ। पता नहीं कहां-कहां हुआ। तो हम जो है ना बहसियत कौम एक सेल्फ राइटसनेस का शिकार हैं। हमें इंडिया में ह्यूमन राइट्स की वायलेशंस नजर आती है। पाकिस्तान में नहीं नजर आती। इसको वो अमेरिकनंस एक टर्म यूज़ करते हैं। अफगानिस्तानिज्म के दूसरे मुल्क में होने वाली ज्यादती आपको नजर आती है। अपने मुल्क में होने वाली नहीं आती। क्योंकि उस पे अगर आप बोलेंगे ना तो उसके कॉन्सिक्वेंसेस हो सकते हैं। जैसे आपकी वाइफ ने आपको मना किया के बट साहब यह ना करें इससे आपके खिलाफ कुछ हो सकता है। कोई स्टेट एक्शन ले सकती है। कोई ग्रो ले सकता है। तो सर ये जो है ना अपने मुल्क में ह्यूमन राइट्स की वायलेशंस को करना ये बहुत दिल दिल गुर्दे का काम है। और ये देखिए के ये रुकने का नाम नहीं ले रहा। और आपने कहा था ना स्ट्रगल कर रहे हैं जी हम इक्वल राइट्स के लिए। उस स्ट्रगल का कोई नतीजा नहीं निकला सर। इट इज़ अ वेरी वेरीरी मार्जिनल स्ट्रगल। और दूसरा सर आपने जो फरमाया ना कि हम नेबर्स हैं। नेबर्स चेंज नहीं हो सकते। नोबडी कैन से कि हां जी नेबर्स चेंज हो सकते हैं। लेकिन सर हमें माजी का बेलाग तजिया ऑनेस्ट तजिया तो करना चाहिए ना कि किसकी तरफ से क्या क्या ज्यादतियां हुई। हमारे सर एक इंतहाई रिस्पेक्टेड मिलिट्री ऑफिसर थे एयर मार्शल असगर खान। उन्होंने कहा कि जनाब जितनी भी जंगे हुई उनका स्टार्ट पाकिस्तान की तरफ से हुआ। पीछे क्या रह जाता है सर? आपका एक एयर चीफ ये बात कर रहा है। तो सर हमें सीरियस नहीं लेना चाहिए। इन बातों को अपनी टेक्स्ट बुक्स को रिवाइज करना चाहिए कि भाई यह नफरत जो है ना इसने हमें कुछ नहीं दिया। इसको निकाले और इंसानों की तरह रह डिसेंट ह्यूमन बीइंग्स की तरह रहें। इसी में हमारी बका है और कश्मीर में भी सर बताइएगा कितने सीरियस है स्टेट ऑफ पाकिस्तान कश्मीर के इशू से। कितना एजुकेट किया उसने लोगों को। एक किताब मुझे बता दीजिए जो आप रेकमेंड करें। एक फॉरेनर है वो कहता है जी मुझे कश्मीर का मसला समझना है। आप बताइए कौन सी किताब उसको दें हम? मेरा ख्याल है कि इस समय में भी काम होना चाहिए। इंटेलेक्चुअल्स को आगे आना चाहिए। फिर हो गया मसला। भट्ट साहब देखिए अब आप कह रहे हैं कि इंटेलेक्चुअल्स को सामने आना चाहिए। सर ये डिस्कनेक्ट हो गया। जी भट्ट साहब। अच्छा जी भट्ट साहब आप ये कह रहे हैं कि कश्मीर के ऊपर किताब लिखने पे जी देखिए अगर मेरे बारे आर यू विद मीर कश्मीर के ऊपर बिल्कुल किताब लिखूं और टू बी फ्रैंक मेरे नॉलेज में नहीं है कि कोई ऐसी बुक मौजूद है कि कॉम्प्रहेंसिवली जो कश्मीर के इशू को जो है वो उसका इता करती हो अच्छा बिल्कुल आना चाहिए आगे आना चाहिए इंटलेक्चुअल्स को दोनों लिखी जानी चाहिए लेकिन उसमें सॉरी टू से आप 1000 किताबें भी लिख लें। लेकिन अगर उसमें आपने सारा बायस बायस कंटेंट से ही उस किताब को भरना है तो वो ख्वा इंडिया की तरफ से लिख ली जाए या पाकिस्तान की तरफ से जी भट्ट साहब मेरी गुजारिश सुन लीजिए तो कोई फायदा नहीं होगा। जी आपने फरमाया भट्ट साहब कि इंटेलेक्चुअल्स को सामने आना चाहिए। किताब लिखनी चाहिए। उससे सर अंदाजा होता है सीरियसनेस का। यानी एक इशू जिसके बारे में हमें दिन रात यह बताया जाता है लाइफ एंड डेथ इशू है। हमारी जगलर वेन है हमारी शग है। उस पर आप 78 साल के बाद कह रहे हैं कि इंटेलेक्चुअल्स को सामने आना चाहिए। कोई किताब लिखनी चाहिए। सर इससे ज्यादा क्या प्रूफ है कि हमारी कैजुअल अप्रोच है। हम सीरियस नहीं है। ये हम इस इशू को सिर्फ इस्तेमाल करना चाहते हैं लोगों को बेवकूफ बनाने के लिए। तो ये तो सर आपने मतलब अजीब एंटाइटमेंट है। ये तो पाकिस्तान की जो पॉलिसी है कश्मीर की। जी अरविंद आप क्या कहेंगे? मेरे जो पार्टिंग कमेंट्स हैं शुक्र है चौधरी साहब आपने कह दिया भट्ट साहब कह रहे हैं कि जी कोई किताब लिखनी चाहिए यानी कि आपको यही नहीं पता कि कौम को हम जिस मसला कश्मीर पर तैयार कर रहे हैं जिसकी जद्दोजहद के लिए उनसे रात दिन हम जो है उन्हें भाषण देते रहते हैं उसके ऊपर हमने आज तक कोई सीरियस होकर किताब ही नहीं लिखी हमने कौम को समझाया ही नहीं उन्हें एजुकेट ही नहीं किया कि आखिर मसला कश्मीर क्या है मैं बेशुमार पाकिस्तानी इंटले इलेक्चुअल्स को इंटरव्यू कर चुका हूं। मुझे आज तक एक दो को छोड़ के कोई भी पाकिस्तान का दानिशवर जो है वो बता नहीं पाया कि मसला कश्मीर आखिर है क्या? देखिए जी मैं इस वक्त क्योंकि बात पहलगाम के अटैक के बाद हो रही है तो मैं पाकिस्तान से यह कहूंगा कि दहशतगर्दी ना तो आपके मफाद में है और ना ही हमारे तो आप यह काम करना बंद करें। आप लाख बोलते रहे बलचिस्तान के बारे में लेकिन जब आपसे सवाल होगा आजकल आपके टेलीविजन चैनल पर कोई आके नहीं कहता कि ये गुड तालिबान है ये बैड तालिबान है क्योंकि अब दोनों ही बैड हो गए हैं जब तक वो आपकी सुन रहे थे तब तक अफगान तालिबान गुड थे अब वो आपकी सुन नहीं रहे तो अब वो भी बैड हो गए हैं उनकी जेलों में बंद टीटीपी के जो हजारों दहशतगर्द थे उनको किसने छोड़ा उसको आपके अफगान तालिबान ने छोड़ा जिसके लिए इमरान खान ने कहा कि गुलामी की जंजीर तोड़ी है अफगान कौम ने मुबारकबाद देता हूं कितना बड़ा तजाद है चौधरी साहब कि पाकिस्तान अपने जो है मशरिक में एक सेकुलर निजाम चाहता है हिंदुस्तान में अपने मगरब में वो एक शरी निजाम चाहता है अफगानिस्तान में अपने लिए ये आधा तीतर आधा बटेर वाला इस्लामी जमूरिया जो है ये इसका इंतखाब किया हुआ है गेस व्हाट अफगान तालिबान के नजदीक यह मुनाफकत नहीं है। यह तजाद नहीं है। वो अपने लिए जो अच्छा समझते हैं, वह आपके लिए भी वही समझते हैं। यह बात आपको समझने में 2530 साल लग गए। वो अपने लिए जो जिस शरी निजाम को अच्छा समझते हैं, पाकिस्तान के अंदर भी वही एक्सपोर्ट करना चाहते हैं टीटीपी के जरिए। वहां आपको बड़ी तकलीफ हो जाती है। अगर तालबान अगर पाकिस्तान के अंदर इस्लामी जमूरिया हो सकता है तो आप कहते कि तालिबान इलेक्शन में आए भाई और अशरफ गनी के सामने इलेक्शन लड़ के देखें। कौन जीतता है कौन हारता है। तब मैं मानता कि आपका जो मौकफ है वो बिल्कुल दुरुस्त है। अपने लिए इस्लामी जम्हूरिया उनके लिए शरी हुकूमत। अब वो लाना चाहते हैं। आपके यहां शरी हुकूमत तो चीखें निकल गई है। मसला है यह आपको किसी ने सच हो के किसी ने बताया नहीं। इन्होंने जड़ावाला की बात की तो कितने मौलवियों के ऊपर फिर एफआईआर होके उनको सजाएं हुई है आज तक। एक के ऊपर भी नहीं। यह मौलवी ही है जिससे कि सारे गलत काम करवाए जाते हैं। कभी इसको खादिम हुसैन रिवी के के चेहरा लगा के और वेस्ट को डराने के लिए इस्लामाबाद में मार्च के लिए बुला लिया जाता है। कभी इसी शरिया कोर्ट से आई रिमेंबर लेट 1980 में भी बीबी अर्ली 90 में 1989 की बात और मे बी 91 उनहीं दो तीन सालों की बात है। मैं थोड़ा सा हो सकता है प्लीज मेरी आप इसमें करेक्शन करें। आपकी शरिया कोर्ट ने फ्यूडलिज्म को जायज करार दे दिया था पाकिस्तान में। यानी ये जो जागीरदाराना निजाम है ये पाकिस्तान की शरी अदालत ने इसके ऊपर अपनी मोहर लगाई और ये कहा कि इस्लाम की रूह के मुताबिक ये बिल्कुल जायज है। और तुम्हारा तो मुल्क बना ही जागीरदारों वडेरों के लिए है। रोना किस बात का है? एक सियासी पार्टी नहीं है पाकिस्तान में जिसके मनशूर में यह चीज लिखी हो कि हम फ्यूडलिज्म को हम जागीरदाराना गोरा निजाम जो है इसको गलत समझते हैं और वो लोग जो हजारों सालों से मुजारे जा रहे हैं उनकी उनको जमीनों की हके मलकियत देते हैं। ये एक बंदा नहीं है जो इस किस्म की कोई एक सियासी रुख जो है वो ले सके स्टैंड ले सके इसके ऊपर तो सारा यही मौलवी है कभी ये अफगानिस्तान में जिहाद को जो है अपनी तरफ से एक ग्रीन सिग्नल दे देता है। यही मौलवी है जो कश्मीर में जिहाद को ग्रीन सिग्नल दे देता है। यही मौलवी है जो कभी अमेरिका के खिलाफ जिहाद की बात करता है। यही मौलवी है जो कभी इजराइल के खिलाफ जिहाद की बात करता है। तो कब वक्त आएगा कि जब आप यह कहेंगे कि भाई हमें अब जो भी मसला हो अभी भट्ट साहब कह रहे थे जी इस्लाम भी हमें ये नहीं सिखाता और पाकिस्तानियत भी हमें ये नहीं सिखाती। जनाब दुनिया के अंदर ये दलील कहीं नहीं दी जाती। आप बात ये कहें कि पाकिस्तान का आइन हमें इसकी इजाजत नहीं देता। यह गलत है। आप जब तक मजहब का इस्तेमाल करते रहेंगे यह जो गलत काम करते हैं मौलवी उसको उनको काउंटर करने के लिए तब तक वो मौलवी आपके ऊपर भारी पड़ता रहेगा। आपको चाहिए कि मौलवी को नीचे रखें। ठीक है? और पहले आप अपने आइन को लेकर आए। मुझे माफ करें। मेरी आखरी जो बातें हैं मुझे उससे वो याद आ गई। आपने हबीब जालिब की बात की चौधरी साहब मैं लाहौर में अभी कुछ दिन कुछ महीने दो तीन महीने पहले ही जालिब जमहूरी मेले में गया। बड़ा मेरा दिल कर रहा था कि मैं वहां पर खड़ा होकर कुछ पढूं पर फिर मैंने सोचा नहीं अरविंद रहने दो। मगर आज आपके इस प्लेटफार्म के जरिए चंद लाइनें जो हबीब जालिब ने ऐसे लोगों के बारे में लिखी वो मैं पढ़ना चाहता हूं। तो आपसे रिक्वेस्ट है थोड़ी आपकी जो है तवज्जो चाहूंगा दोनों की। जी। तो जालिब साहब फरमाते हैं बहुत मैंने सुनी है आपकी तकरीर मौलाना मगर बदली नहीं अब तक मेरी तकदीर मौलाना खुदाारा शुक्र की तलकीन अपने पास ही रखें यह लगती है मेरे सीने पे बनके तीर मौलाना नहीं मैं बोल सकता झूठ इस दर्जा ढिटाई से यही है जुर्म मेरा और यही तकसीर मौलाना हकीकत क्या है यह तो आप जाने या खुदा जाने सुना है जमी कार्टर आपका पीर है मौलाना जमीनें हो वडेरों की मशीनें हो लुटेरों की खुदा ने लिख के दी है तुम्हें तहरीर मौलाना करोड़ों क्यों नहीं मिलकर फिलिस्तीन के लिए लड़ते चौधरी साहब भट्ट साहब करोड़ों क्यों नहीं मिलकर फिलिस्तीन के लिए लड़ते दुआ से ही फकत कट नहीं जंजीर मौलाना सारे दिन दुआएं पढ़ाते रहो लोगों को इश्तियाल अंगेजी जो है उसके अंदर मु्तला करते रहो मरोगे नहीं कभी खुद जाके खुद जाके कभी नहीं लड़ोगे यही यही पाकिस्तान जो है उसकी तारीख है यही उसका मुस्तकबिल है अगर आपने कोई मिड कोर्स करेक्शन नहीं किया आपने सर बात की 77000 कुर्बानियां दी पाकिस्तानियों ने सर ये कुर्बानी का कांसेप्ट जी 77000 सर तो ये भी कांसेप्ट जो है ना बहुत अजीब है कुर्बानी का। कुर्बानी सर आप ये नहीं होता कि आप दही लेने जाएं और वहां धमाका हुआ और आप जान से गए। कुर्बानी आप कॉन्शियसली देते हैं। तो हम तो ये भी कहते हैं जी तहरीक पाकिस्तान में लाखों जानों ने कुर्बानी लाखों लोगों ने कुर्बानी दी। भाई वो कुर्बानी नहीं थी। फसादात थे लोग मारे गए। तो अगर हमारी पार्लियामेंट में कोई जान होती तो वो एक कमेटी बनाते कि क्यों हम इस टेररिज्म का शिकार हुए हैं। कौन रिस्पांसिबल है इसका? आर्मी पब्लिक स्कूल की आपने उस पे जो अटैक हुआ था उसकी बात की। सर उसको डिफेंड करने वाला उसकी जिम्मेदारी लेने वाला एहसान उ्ला एहसान कहां है आज उसका सलीम साफी ने इंटरव्यू कैसे किया था तो सर थोड़ा सा अपने गिरेबान में झांकना चाहिए आप माशा्लाह पढ़े लिखे हैं की गिरफ्त से भाग गया तो आपसे साहब ये वैसे ही है जैसे अजमल कसाब हिंदुस्तान की जेल से फरार होके और कहीं दूसरे मुल्क में भाग जाए आपके 150 बच्चों का कातिल उसकी एक लंबी फहरिस्त है अगर आप अभी तो वक्त कम होगा किसी दिन और आपको बताऊंगा उसने खुद बबांगे दोहल क्लेम किए थे ये सारे टेरर अटैक हमने किए हैं और वो आपकी एजेंसियों की ग से भाग गया। इसको आपसे क्या कहेंगे बन्नू जेल से वो 150 के करीब 200 के करीब बंदों को जिहादियों को निकाल के ले गए। अब पाकिस्तान को आप क्या कहेंगे? रियासत कहेंगे वो मैं आपके ऊपर छोड़ता हूं। तो बट साहब आपसे सिर्फ रिक्वेस्ट इतनी है कि बीइंग एन एजुकेटेड पर्सन थोड़ा सा अपनी जो है ना क्रिटिकल थिंकिंग स्किल्स पे प्लीज काम कीजिए। एक जो आपका नुक्ता नजर है, प्री कंसीव्ड नोशंस हैं। कोशिश करें कि उसके जो खिलाफ आर्गुमेंट्स आपको मिलते हैं, इंटरनेट पे मिलते हैं, किसी दोस्त से मिलते हैं, उनको भी कंसीडर कीजिए। उसके बाद अपनी एक बैलेंस ओपिनियन बनाइए। दैट इज माय रिक्वेस्ट। प्लीज कंक्लूड थॉट्स कंक्लूड कर लेने दीजिए प्लीज। जी प्लीज। एक तो वो बुक के हवाले से वो जिस कॉन्टेक्स्ट में मैंने बात की कि अगर ऐसा कंटेंट मौजूद नहीं है तो दोनों तरफ से इंटेलेक्चुअल्स को आगे आना चाहिए। लेकिन अगर वो प्रजुडिस और बायस से ही बढ़ना है तो फिर बेहतर ये है कि उसके कुछ भी ना लिखा जाए। दूसरा जो मेरे दोस्त ने कहा कि कितने लोगों को यहां पर सजा हुई, कितने लोग पकड़े जो जड़ा वाला मॉब वायलेंस था उसमें 300 के करीब लोगों के खिलाफ कारवाई हुई थी और अभी तक लोग प्रिजंस में है। अभी तक लोग प्रिजंस में है और उनकी जमानतें नहीं हो रही। और अब आते हैं देखिए आपने हमारे मुल्क के ऊपर अटैक किया। हमारा रिस्पांस देखा। हम 20 साल नहीं हम तीन दहाइया हो गए हैं। वायलेंस को सह रहे हैं। सफर कर रहे हैं। हमारे लिए बम धमाके जो है वो एक आम चीज बन चुके हैं। हमने बहुत जाने दी है। इसमें बम ब्लास्ट होता है। एक्सप्लोजन होता है। सुसाइड बमर्स आ जाते हैं। और आपने देखा कि जंग के इंतहाई खौफनाक हालात में भी जबकि आप हमारे ऊपर मिसाइलों की बारिश कर रहे थे। हमारे आवाम का आपने देखा रिस्पोंस क्या था। सो दे वर वो एक मजा मीम्स बना रहे थे। वो हंस खेल रहे थे। अब उनके लिए वायलेंस जो है ना वो आपने इतना ज्यादा उनको उसका आदी कर दिया है कि उनका इस तरह के जंगी माहौल के अंदर भी आपने रिस्पोंस उनका साइकोलॉजिकल स्टडी करके देख वो देखा क्या था कि वो सारी चीजों को एक मजाक समझ रहे थे आखिर में जो आपने मुझसे पूछा के कश्मीर का सशन क्या बड़ा सादा सशन है कश्मीर का सशन कोई रॉकेट साइंस तो नहीं है जो हमें समझ नहीं आ रहा है भाई यूनाइटेड नेशन सिक्योरिटी काउंसिल की करारदाद इसके ऊपर मौजूद है प्लपेट करवाए कश्मीर से पूछे कि वो इंडिपेंडेंट रहना चाहते हैं, इंडिया के साथ रहना चाहते हैं, पाकिस्तान के साथ रहना चाहते हैं और वहां पे करवा ले, इलेक्शन करवा ले और जो कश्मीर कश्मीरी उसमें अपनी राय दे, अपना फैसला दे, दोनों मुल्कों को तस्लीम कर लेना चाहिए। इसमें कौन सी ऐसी बड़ी मुश्किल बात है? जी भट्ट साहब आपने एक तो किताब की बात की कि जी बायस से ना भरे उसको। सर मैंने कब कहा कि बायस से भरे? मैं तो क्वेश्चन कर रहा हूं सीरियसनेस को कि आपके लिए कश्मीर एक लाइफ एंड डेथ इशू है। दिन रात में बताया जाता है कि जी ये जगलर वेन है हमारी। सीरियसनेस का आलम ये है कि 78 साल में एक किताब नहीं लिखी गई जो आप रिकमेंड कर सकें। बाहर से भरने की कोई बात नहीं कर रहा। इंडियंस किताब लिखें ना लिखें। पाकिस्तान को तो लिखनी चाहिए ना। जब आप इतना इशू बना के इसको पेश करते हैं कि जी हमारा गुजारा नहीं हमारा तो जगलर वेन है। दूसरा सर आप कह रहे हैं कि जी जड़वाला में अभी तक केस चल रहे हैं। सर गोजरा में नौ लोगों को जो मारा गया था जिंदा वो तो सारे बरी हो गए और ये सर एक जगह का मसला नहीं है। कितने अहमदी मारे गए? अभी सरगोदा में एक डॉक्टर को मारा गया कि ही वास अहमदी। और किसी अहमदी से प्लीज बात कीजिएगा कि कितना इंसाफ मिलता है उनको और कितनी ज्यादतियां उनके साथ हो रही हैं। तो कश्मीर पे सर जो है ना क्रिश्चियन फेयर का एक क्लिप है वो भी जरा देखिएगा प्लीज उसमें भी एक ना पाकिस्तानी स्कॉलर वो चला गया था उसके इवेंट पे वो बुक ल्च थी कोई एतेशाम गालिबन नाम था उसका वो फुल ब्राइट स्कॉलर था उसने भी यही बात की वहां पे यूएन रेजोलशंस की क्रिश्चियन फेयर ने कहा पाकिस्तान में मैं बहुत सुनती हूं हर बंद रेज़ोलशंस की बात करता है लेकिन कोई पढ़ने का तरद्दुद नहीं करता आपने पढ़े हैं उसको मानना पड़ा मैंने नहीं पढ़े थैंक यू माय नेम इजशा श्याम एंड आई एम अ फुल ब्राइट स्कॉलर हियर इन यूनाइटेड स्टेट्स। अह ऑफ़ कोर्स आई हैव टू राइट द बुक बट माय ऑब्जरवेशन्स आर बेस्ड ऑन द प्रेजेंटेशन मेड बाय क्रिस्टीन। अह अनफॉर्चुनेटली आई फाउंड सम ऑफ़ द एट देयर इज़ अ लॉट टू डिबेट अबाउट बट आई अंडरस्टैंड आई एम अ पार्टिसिपेंट ओनली आई कैन मेक ओनली यूज़ ऑफ़ लिमिटेड टाइम। आई फाउंड सम ऑफ़ द सम ऑफ़ द आर्गुमेंट्स वैरी सिलेक्टिवली यूज़्ड ऑन ओनली वन साइड ऑफ़ द पिक्चर वाज़ प्रेजेंटेड। फॉर एग्जांपल अ कपल ऑफ़ एग्जांपल्स। यू सेड कश्मीर पाकिस्तान हैज़ नो लीगल लीगल बेसिस ऑन ऑन कश्मीर। आई डोंट अंडरस्टैंड व्हाट सॉर्ट ऑफ़ लीगल बेसिस शुड वी हैव। यू हैव मेंशंड अबाउट द यूएन रेजोल्यूशन। यू हैव मेंशंड दैट इंडिया वेंट टू अ सिक्योरिटी काउंसिल एंड सिक्योरिटी काउंसिल सेड दैट लेट्स द कश्मीर लेट द कश्मीर डिसाइड लेट लेट मी लेट अस हैव अ प्लेलिसाइड देयर। सो दैट्स अ लीगल बेसिस। गो एंड आस्क द कश्मीर विथ होम दे वांट टू गो। सिंगल सिक्योरिटीशन हैव ओके सिक्योरिटी वेबसाइट रेोलशन सिंगल्स एक्चुअल सिक्योरिटी टू द क्लेम पाकिस्तान परमानेंट टू द एक्चुअली देर थ्री स्टेप्स दे कंडीशनल फर्स्ट स्टेप वाकि सपोज टू डी मिलिट टू द सेटिस्फेक्शन ऑफ़ दिस यूएस टू बी एस्टब्लिश देन कंडीशन अप यूए सेटिस्फाइड दिस डिमिलिट इंडिया वाल्सो सपोज टू डिमिलिट विथ ए प्रेजेंस बींग परमिटेड टू डिफेंड इटसेल्फ अगेंस्ट पाकिस्तानी अग्रेशन द थर्ड हैविंग बोथ दोज़ टू स्टेप्स टेकन प्लेस टू द सेटिस्फेक्शन इन सीक्वेंस टू दिस प्रेफरेंसे देन द पाकिस्त पाकिस्तान ने कंडीशन एक्चुअली मेक स्कॉलर एक इवेंट पे गया है और इस चीज को एडवोकेट करने के लिए गया है। बट साहब आपने पढ़े हैं यूएन रेजोलशंस व्हाट डस 47 से टू बी फ्रैंक सब नहीं पढ़े सर 47 का रेजोल्यूशन था ना सबसेेंट क्या कहता है वो प्लीज बताइए उसकी एसेंस किसकी बात कर रहे हैं सॉरी रेजोल्यूशन 47 अप्रैल 48 में जो आया था व्हाट डस दैट से आप थोड़ा बता दे जी अमन प्लीज भट्ट साहब को जरा बताइए भट्ट साहब ने अभी कहा कि इन्होंने नहीं पढ़ा मैं कोई बात नहीं बट साहब जैसे लोग पाकिस्तान में करोड़ों हैं जिन्होंने वो रेजोल्यूशन नहीं पढ़ा। सर जी अप्रैल 1948 में यूनाइटेड नेशन की सिक्योरिटी काउंसिल ने वो रेजोल्यूशन पास किया और प्लेबिसाइट के लिए शरायत रखी गई कि प्लेबिसाइट होगा तो कैसे होगा और वो आप चाह आज चाहे तो आप जाके और यूनाइटेड नेशंस की वेबसाइट से पढ़ सकते हैं उसे। उसमें यह कहा गया कि सबसे पहले पाकिस्तान को अपने यहां से नॉन कश्मीरी पापुलेशन और अपनी पूरी फोर्सेस को बाहर निकालना होगा। तो यूनाइटेड नेशंस में सवाल पूछा गया कि भाई हमें फर्सेस क्यों निकालनी होंगी पूरी? और इंडिया को कहा गया कि इंडिया इंडिया भी बल्क ऑफ द फोर्सेस निकालेगा। ज्यादातर फर्सेस निकालेगा लेकिन थोड़ी बहुत फोर्स लॉ एंड ऑर्डर को मेंटेन करने के लिए इंडिया रख सकता है। इसके पाकिस्तान ने ऑब्जेक्ट किया इसके ऊपर। तो यूनाइटेड नेशंस ने कहा कि इंडिया एपिकेंट है। ये तो आप जानते हैं ना जवाहरलाल नेहरू इस इशू को यूनाइटेड नेशंस में लेकर गए थे। तो उन्होंने कहा वो एपिकेंट है और आप अग्रेसर हैं। इसलिए आप अपने पूरा कंप्लीट विड्रॉल करेंगे। इंडिया को इजाजत होगी लॉ एंड ऑर्डर मेंटेन करने के लिए थोड़ी बहुत फर्सेस रख सके। उसके बाद सब्सक्वेंटली ये पहले दो स्टेप्स जब आप पूरे कर लेंगे उसके बाद फिर वहां पे इंटरनेशनल जो जो अभी ऑब्जर्वर्स हैं उनके उनके क्या कहते हैं उनकी निगरानी में सीज फायर होगा। तो पाकिस्तान ने वो शरायत मानने से बाद में इंकार कर दिया कि हम नहीं निकालते। जब आप नॉर्मन तेल होगा ना राधा नाचेगी तो जब आपने यू मिस्ड द बस ऑन कश्मीर ऑन दैट डे। उसके बाद एक लंबी लिस्ट है यूनाइटेड नेशंस के रेजोलशंस की। उसमें आपको बार-बार ये याद कराया गया कि आप ये करें, आप ये करें। पाकिस्तान ने जब ये बात ही मानने से इंकार कर दिया। उसके बाद 65 में पाकिस्तान ने कश्मीर के ऊपर जंग कर ली। सर जब आप किसी इशू पर जंग करते हैं ना तो फिर आपके पहले के माजी के जितने भी आपके इदाम है आप उन पर पानी फेर देते हैं। वर्ल्ड वॉर वन के बाद ट्रीटी ऑफ़ वर्साई हुई ना जिसमें फिर आपको डैमेजेस पे करने पड़ते हैं। व्हेन यू लूज अ वॉर आपको बहुत कुछ करना पड़ता है। तो वो इशू जो है फिर वहां पे 65 की जिस दिन जंग हो गई उस दिन आपके प्लेबिसाइड सारे के सारी बातें जो है वो पीछे रह गई। फिर 71 जब हो गया और हमने इसको बटरल इशू बना दिया। उसके बाद में भी यह इशू जो है हमेशा के लिए दफन हो गया। कारगिल के बाद भी इसके ऊपर बात हुई। तो 20001 में जब हमारा मिलिट्री स्टैंड ऑफ था कोफी अनान साहब जो है वो उन्होंने कहा है कि दी प्लेबिसाइट इशू इज टोटली रिडंडेंट नाउ। आई वुड अर्ज द लीडर्स ऑफ इंडिया एंड पाकिस्तान टू वर्क इन द स्पिरिट ऑफ लाहौर डिक्लेरेशन टू सॉर्ट आउट देर डिफरेंसेस ऑन कश्मीर। तो सर जी ये ये आपको यूनाइटेड नेशंस में कोफीनान साहब की जो स्टेटमेंट है ये भी मिल जाएगी। शायद यही वजह है कि दुनिया अब कश्मीर के इशू पर उस तरह से बात नहीं करती और कौम को इस पर भी आप एजुकेट करें कि बाबा कौम खुद कायदे आजम मोहम्मद अली जिन्ना ने नवंबर 1947 में जब लॉर्ड माउंटबेटन ये प्लेबेसाइट का मशवरा लेकर आए तो कायदे आजम ने इसको सिरे से खारिज कर दिया। जी और बट साहब बात ये है आपको तो सर प्लेट में रख के कश्मीर मिल रहा था। भी मैंने कोट किया। पाकिस्तानी सोर्सेस को कोट किया। किसी इंडियन को नहीं किया। इवन चौधरी मोहम्मद अली की जो किताब है इमरजेंस ऑफ़ पाकिस्तान उसमें यह बात मौजूद है। और कश्मीर के एजे के पहले प्रेसिडेंट सरदार इब्राहिम उनकी किताब है द कश्मीर सागा उसमें ये मौजूद है। और यहां तक लिखा है के मुझे लियाकत अली खान ने कहा कि तुम क्या कहते हो इस ऑफर के बारे में? मैंने कहा जी बहुत अच्छी ऑफर है। इसको एक्सेप्ट कर लीजिए। तो मुझे कहते हैं अच्छा वो ना गुलाम मोहम्मद नहीं मानता। फाइनेंस मिनिस्टर था वो। तुम जाके उसको कन्वेंस करो। मैं गुलाम मोहम्मद के पास गया और मैंने बड़ी कोशिश की बट ही डिड नॉट बज एन इंच। वो जरा से टस से मस नहीं हुआ। कहता है कि बाद में मुझे पता चला कि जी वहां से सोने की ईंटें आती थी। एक एडवेंचरस पायलट था सिडनी कॉटन नामी। वो सोने की ईंटें लाया करता था हैदराबाद दक्कन से कराची और उनमें हिस्सा होता था गुलाम मोहम्मद का। सर ये जो ब्लंडर्स है ना इनके बारे में भी मालूमात लीजिए। इस कौम को हकायक से बता हकायक से आगाह कीजिए। सच बताइए उनको पंबल पूसे में ना रखिए और सर हमारे एक बहुत सीनियर जर्नलिस्ट थे एमबी नकवी उन्होंने जुलाई 88 में हेरल्ड में एक बड़ा जबरदस्त इनाइटफुल आर्टिकल लिखा था द बेस्ट ऑफ एनिमीज़ उसमें उन्होंने कहा कि 65 में हमने ताकत इस्तेमाल करके देख ली कश्मीर हासिल करने के लिए वो नाकाम हो गई हमें उसी वक्त इतना शूर होना चाहिए था कि हम कहते हैं कि इनफ इज इनफ हमें अब मूव ऑन करना चाहिए कौमे मूव ऑन करती हैं स्टक नहीं रहती एक ही गड़े में तो ये आर्टिकल मैंने सर इसके बाद मैं मिला आगा शाही साहब से एस अ स्टूडेंट मैंने उनसे कहा सर एमबी नकवी ने यह बात लिखी है आप क्या कहते हैं तो उन्होंने कहा कि एमबी नकवी इस अ गुड फ्रेंड ऑफ़ माइन लेकिन ये जो बात है यह पंजाबियों को कौन समझाएगा वो 60% है पाकिस्तान का तो सर ये मसला पंजाबियों को समझाने का है उनको एजुकेट करने का है प्लीज फॉर गॉड से उनको ट्रक की बत्ती के पीछे ना लगाएं और उनको अपने मसाइल को हल करने का मौका दें दे डिर्व मच बेटर बेटर दे डिर्व बेटर एजुकेशन दे डिर्व बेटर फैसिलिटीज दे डिर्व बेटर हेल्थ कश्मीर कश्मीर करके उनको इस तरह से बेवकूफ ना बनाए इनफ इज इनफ थैंक यू वेरी मच इफ यू वांट टू से एनीथिंग जी मैं एक बात मैं कह लू फिर भट्ट साहब भी कह ले आप ही की बात मेड करते हुए मैं अभी जब लाहौर में था दो तीन महीने पहले तो मुझे एक किसान आया और वो आके कहता कि जी सर सु तो नहीं कश्मीर सा ना त डीएपी खाद रेट थोड़ा कम करवा द तो मैंने पूछ लिया मैंने कहा क्या रेट है डीएपी का ना तो कह वो वो कहता जी कि सर जी 14000 दी हुई प है डीएपी हिंदुस्तान दे अंदर 1350 बैग मिल है तो खेती करना बड़ा ही ओखा हो गयाे तो गल ये है समझने वाली सर कि आप उस किसान का सोचे वो सोचे जो ₹1000 की डीएपी एक किले में अगर वो डालेगा उसमें दो तीन बैग दो तीन बैग तो कम से कम चाहिए उसकी फसल गंदम की फिर क्या होगी और इस वजह से मैंने ऑल अक्रॉस जब मैं मोटरवे से जा रहा था तो इस बार गंदम की बुवाई कम हुई है पाकिस्तान में जितनी होनी चाहिए उतनी नहीं हुई है तो मेरे लिए मसला ये है आपको भट्ट साहब अंदाजा नहीं है कि मेरे ऊपर कितना ज्यादा क्रिटिसिज्म होता है कि मैं पाकिस्तान से जब अमन की बात करता हूं मुझसे बड़ा अमन का दाई आपको हिंदुस्तान में नहीं मिलेगा सर जी बट साहब प्लीज लास्टली गुलाम मोहम्मद साहब के एंटीक्स के बहुत सारे एंटीक्स तो मेरे में है लेकिन ये आपने एक नई मुझे ना बात बताई है कि वो ब्रिक वो लेते रहे हैं सोने की ईंटें वगैरह देखिए जूनागढ़ में आप एक असूल अपनाते हैं और दूसरा असूल जो है उसके बिल्कुल मुजादा जो है वो कश्मीर में अपनाते हैं। ये बड़े जुल्म और ज्यादती की बात है। एक तरफ आप कहते हैं कि वहां का हुक्मरान जो है वो क्योंकि हिंदू था तो उसने वो एक्सेशन की डॉक्यूमेंट जो थी वो इंडिया के साथ साइन कर ली और दूसरी तरफ आप कहते हैं वो जो मुसलमान हुक्मरान है अब उसकी बात नहीं मान रहे हैं। एक असूल असूल असूल दोनों रियासतों के लिए एक होने चाहिए। देखिए जिस वक्त फ्रीडम मिला है आपको मेरा ख्याल 750 प्रिंसली स्टेट्स थीबन 750 तो उनको नहीं नहीं नहीं 552 या 565 या 550 के करीब थी। ठीक है? सॉरी। अच्छा उसको आप उनको आपने ये इख्तियार दिया था। ये पावर्स दी थी कि वो चाहे तो इंडिया के साथ चले जाए, चाहे तो पाकिस्तान के साथ चाहे तो वो इंडिपेंडेंट डाले। लेकिन आपने कश्मीर में ये असूल अपनाया कि वहां का रूलर जो है हुक्मरान जो था ठीक है हरी सिंह साहब वो हिंदू है तो उन्होंने जी वो डॉक्यूमेंट साइन कर दिए हमारे साथ। और दूसरी तरफ जो मुसलमान हुक्मरान है आपने फोर्सफुली उसको अनेक्स कर लिया अपने साथ जूनागढ़ को। वहां पर आपने एक असूल जो है वो लागू किया और दूसरी जगह पर आप दूसरा असूल जो है लागू करते हैं। कश्मीर का हल भाई प्लेबिसिट है। कश्मीरियों की राय के बगैर आप उनको फोर्सफुली अपने साथ नथी करके नहीं रख सकते हैं। आप यूनाइटेड नेशंस की रेोल्यूशन ले आए। इंटरनेशनल लॉ ले आए। अपना कोई कानून बना लें। जब तक तो होके मैंने आपको बता दिया। उनकी आजादी के बगैर अपने साथ जोड़ के रखना चाहेंगे। वो आपके खिलाफ तहरीक चलाते रहेंगे। भट्ट साहब भट साहब भट साहब भट्ट साहब ये बताएं भट्ट साहब भट्ट साहब क्या दुनिया के अंदर क्या है? सवाल है माफ़ करें सवाल है। क्या दुनिया में कोई ऐसा मुल्क है जिसको आप इस इस पॉइंट ऑफ व्यू पे कायल कर सकते हैं कि जो प्लेबिसाइट वाला है। जब आपके सामने वो ये रखेंगे कि जी आपके फॉरेन ऑफिस के जो बंदे हैं ना उन्होंने खुद मुझे कहा कि जब हम जाते थे और बात करते थे तो वो हमें कहते थे कि एक्सीलेंसी यू नो हैव यू रेड दी डॉक्यूमेंट्स आपने ये ये आपने ये पढ़े हैं ये क्या कहते हैं तो वो कहते हैं हम सर शर्म से हमारा झुक जाता था सर ऐसा है आपने आपको बहुत बहुत सारी चीजें आपको पहली दफा पता चल रही होंगी मैं आपको यह भी बता दूं जिन्ना साहब भी ना मुंबई में अपना जो घर है ना वो रखना चाहते थे क्या उनका ये ख्याल था कि लाखों लोगों को मरवाने के बाद करोड़ों को उनके जमीन से अपरूट करने के बाद ने उनकी अपनी एफिलिएशन, उनकी मोहब्बत अपने घर से इतनी ज्यादा थी कि उन्होंने कहा इंडिया की गवर्नमेंट को कि मेरी बड़ी इससे अच्छी मेमोरीज है, फंड मेमोरीज हैं तो आप यह घर किसी को बेचिएगा ना। वो वो घर जो है वो आज तक किसी को बेचा नहीं गया है। बाय द वे जिना साहब के भी बहुत सारे ऐसे ब्लंडर हैं जिनको अगर आपको पता चल जाए एक किताब रेकमेंड करूंगा मैं। एक सेकंड रुके मैं अपने शेल से निकालता हूं। ये कवर मेरा थोड़ा सा इसका फट गया था। तो यह डॉक्टर डॉक्टर इश्तियाक की किताब है। जरूर पढ़िएगा। जिन्ना ह सक्सेससेस फेलियर्स एंड रोल इन हिस्ट्री। इसके अंदर आपको जिन्ना साहब के बारे में भी बहुत कुछ मिलेगा। मार्च 1930 में जिन्ना साहब कानपुर में स्पीच दे रहे थे। शकील चौधरी साहब बताएं जरा। मार्च 41 उसमें जिन्ना साहब ने कहा था 30th मार्च 1941 जी जी। और उसमें उन्होंने कहा था कि मैं 6 करोड़ मुसलमानों को आजादी दिलवाने के लिए जो इंडिया में 2 करोड़ मुसलमान है उनकी कुर्बानी देने के लिए तैयार हूं। पूरी पूरी बात ये है पूरी बात ये है मैं आपको टेक्स्ट पढ़ के बता देता हूं। ठीक है वो ये कह ये है स्पीच एट कानपुर 30th मार्च 1941 विलिंग टू सैक्रिफाइस 20 मिलियन मुस्लिम्स। द वीकेस्ट चिंक इन जनाज टू नेशन थ्योरी वास दैट इट वुड लीव वन थर्ड ऑफ द मुस्लिम अंडर कांग्रेस रूल एड्रेसिंग अ मीटिंग ऑफ द मुस्लिम स्टूडेंट्स फेडरेशन एट कानपुर ही मेड अ स्टार्टलिंग रिमार्क इन ऑर्डर टू लिबेट 7 करोड़ मुस्लिम्स वेयर दे यर इन अ मेजरिटी ही वास विलिंग टू परफॉर्म द लास्ट सेरेमनी ऑफ़ मार्टिडम इफ नेसेसरी एंड लेट 2 करोड़ मुस्लिम्स बी स्मैश कि मैं मुस्लिम मेजोरिटी जो प्रोवसेस हैं उनमें सात 7 करोड़ मुसलमानों को इस कांग्रेस रूल से आजाद कराने के लिए दो करोड़ मुसलमानों को स्वश करवाने के लिए भी तैयार हूं। कोई पूछे जिन्ना साहब कि वो आपके पर्सनल आपकी कोई रया है कोई भेड़ बकरियां है वो क्या है जिनको आप स्मैश करवाने के लिए तैयार है? डू यू ओन देम सर? नो यू डोंट। जी अच्छा भट्ट साहब आपने जूनागढ़ की बात भी की तो सर इसूल की खिलाफ वर्जी मैंने पहले भी बात की किसने की आपने वायलेट किया एक उसूल को और आपका अपना एक एंबेसडर कह रहा है के इट इडेड आवर केस ऑन कश्मीर किस लॉजिक के तहत एक्सेप्ट की आई एम सरप्राइज के आप फिर इसी उसी आर्गुमेंट की तरफ आ गए हैं के आपका कंटिन्यूस नहीं है मुस्लिम मेजॉरिटी नहीं है और आप डिफेंड नहीं कर सकते उसको को और वहां पे आपको पता है रेफरेंडम हुआ था पाकिस्तान को कितने वोट मिले थे। हैव यू स्टडीड दिस इशू? जूनागढ़ में। जी भाई साहब जूनागढ़ में। जी जी जी। तो डेफिनेटली वहां से कैसे वोट मिलने थे पाकिस्तान को? वहां तो मुसलमानों की माइनॉरिटी तो होती ना। जी सर। 91 वोट मिले थे वहां पे पाकिस्तान को। मैं ये बात नहीं कर रहा सर। मैं ये बात कर रहा। मैं यह बात कर रहा हूं कि कश्मीर में आपने यह प्रिंसिपल अडॉप किया कि वहां का रूलर जो है वह हिंदू है और उसने इंडिया के साथ कश्मीर का इलाक करने का फैसला कर लिया। आपने उसको मान लिया। ऑन द अदर हैंड जोनागढ़ का जो रोलर था वो मुसलमान था। आप उसकी बात नहीं मान रहे और दलील ले रहे हैं किकोंकि यहां हिंदू मेजोरिटी है तो लिहाजा इसको हम नहीं मानते। ये सीधा सीधा नहीं साहब साहब इसारा कर रहा हूं। जी बट साहब इस कंट्राडिक्शन का स्टार्ट किसने किया? प्लीज बी ऑनेस्ट। प्लीज बी ऑनेस्ट इंटेलेक्चुअली। किसने स्टार्ट किया इस इसूल का इसकी खिलाफ वर्जी? आई एक्सपेक्ट यू टू बी ऑनेस्ट। आप देखिए मेरी बात सुनिए। प्लीज मेरी बात सुनिए। प्लीज मेरी बात सुनिए। आपने जूनागढ़ की एक्सेशन कबूल करके इंडिया को एक क्लियर मैसेज दिया कि हम आपके साथ अच्छे ताल्लुकात नहीं चाहते। हम आपके लिए प्रॉब्लम क्रिएट करेंगे जहां कर सकते हैं। जोधपुर की भी आपने कोशिश की। वो भी हिंदू मेजॉरिटी स्टेट थी। जोधपुर के महाराजा को दे दिया खाली कागज के लिख लो जो कंडीशन चाहिए। सर टू नेशन थ्योरी कहां गई आपकी? क्यों टू नेशन थ्योरी की तो आप हर कदम पे खिलाफ वर्जी कर रहे हैं। और कहते हैं जी उसूल हमारा टू नेशन थरी है। तो सर कश्मीर पे आपको मैंने कितनी दफा कहा आपको प्लेट में रख के मिल रहा था। आपने नहीं लिया। सर इफ यू मिस द बस। यू मिस द बस। व्हाई डोंट यू एक्सेप्ट दिस? कितनी देर तक हम इस पर बहस करते रहेंगे? सो थैंक यू वेरी मच बट साहब। थैंक यू वेरी मच अरविंद। थैंक यू। थैंक यू।

    کشمیر میں کوئی مقامی تحریک نہیں تھی۔ یہ آپ کے سابق صدر کے بارے میں سچ ہے۔ فوج چیف جنرل مشرف خود کہہ چکے ہیں کہ ہاں ہم نے ٹرین لی اور یہاں سے جب وہ جب جہادی افغانستان سے نکلے تو ہم انہیں کشمیر کی طرف توجہ دلائی آپ کہہ رہے ہیں کہ وہ لیکچر دے رہا ہے۔ ایک دیسی تحریک تھی۔ اگر مقامی تحریک سید علاؤالدین پاکستان میں بیٹھے ہیں۔ کیا کر رہے ہو؟ آپ کے پاس یہاں 4 سے 5 فیصد بم ہیں۔ غیر مسلم مشکل ہیں اور وہ ہیں۔ پہلے سے ہی حاشیہ پر۔ وہ کوئی خطرہ نہیں ہیں۔ آپ کا خیال تھا کہ صدر صاحب وزیراعظم بن جائیں گے۔ لیکن اس کے باوجود اتنی گہری عدم تحفظ تھی اور بھٹو صاحب جیسا لبرل اور سیکولر آدمی آئینے میں بھی لکھنا پڑا وہ ڈر جاتے ہیں۔ مجھے غیر مسلم دوستوں سے تھوڑا ڈر لگتا ہے۔ وہ ہمارے وزیر اعلیٰ بن سکتے ہیں۔ چلو چلتے ہیں یہ اصلی ہیں۔ یہ وہ حقائق ہیں جو آپ وہ اپنے لوگوں کو نہیں بتاتے۔ آپ نے عوام کو بتایا یہ ٹرک کی لائٹ کے پیچھے نصب ہے۔ کشمیر کشمیر کشمیر کہہ کر ان کو تعلیم دیں۔ یہ نہیں کیا۔ براہ کرم مجھے ایک کتاب بتائیں یہ کسی پاکستانی نے لکھا ہوگا جس کی آپ سفارش کرتے ہیں۔ میں آپ کو بتا سکتا ہوں کہ دوست کشمیر کے بارے میں یہ کتاب پڑھیں آپ کو مسئلہ سمجھ آ جائے گا۔ ہمارے بچے عالمی یونیورسٹیاں رینک لاتی ہیں۔ میں ہمارے بچے مستقبل میں بہترین کارکردگی کا مظاہرہ کریں گے۔ ہیں تمہارے بچے کہاں ہیں؟ کیوں نہیں؟ ایکسل کر رہے ہیں؟ تم مقابلہ کیوں نہیں کر رہے؟ ہمارے بچوں کے ساتھ؟ کچھ جو آپ کے پاس ہے 600 ارب ڈالر خرچ ہو رہے ہیں۔ تو جس نے آپ کا دماغ خراب کیا ہے۔ آپ کو میں آپ کو ایک بات بتاتا ہوں، آپ کے چھ کے چھ بڑے شہر بڑے شہر جو آج اگر ہم نیوکلیئر ہو جاتے ہیں۔ اگر آپ اسے ہدف پر رکھتے ہیں تو آپ کے سرمایہ کار وہ وہاں سے بھاگ جائے گا۔ سب تمہارا کیپٹل فلائٹ ہو گی۔ ہمارا کیا ہوگا؟ اے! دوستو یہاں بہت غربت ہے۔ ہمارے پاس ہے۔ اس لیے میرے پاس بجلی کا بل ادا کرنے کے لیے پیسے نہیں ہیں۔ ہے لوگ خودکشیاں کر رہے ہیں۔ جب تک یہ مسئلہ کشمیر حل نہیں ہو گا۔ یہ یاد رکھیں معاملات ایسے ہی چلتے رہیں گے۔ ہم اپنے ہیں۔ آئیے ریاست کے وجود کا جائزہ لیں۔ ہم اپنی فوج ہیں۔ ہم یہ بھی شمار کرتے ہیں۔ ہمیں اپنی سیاست پر فخر ہے۔ وہ بہت بری باتیں کہتا ہے۔ ٹھیک ہے یہ ہم ہیں۔ کرتے رہیں گے۔ ہم بھاگنے والے نہیں ہیں۔ ایس اے کا سربراہی اجلاس 2016 میں اسلام آباد میں ہونا تھا۔ میں آپ اسے اچھی طرح یاد رکھیں گے۔ اور اس میں کیا ہوا؟ ہماری فوج میں سے ایک دہشت گردوں نے کمپاؤنڈ پر حملہ کر کے 19 افراد کو ہلاک کر دیا۔ فوجیوں کو مار ڈالا۔ 30 کے قریب زخمی کیا. اس کے بعد مودی صاحب نے کہا کہ ہم اس کے اندر مت آنا. اس سے پہلے، آپ یہ کریں دیکھیں، 2008 میں جب ہم مکالمے میں تھے۔ آگے چلا گیا۔ ہمارا رشتہ بہت زیادہ ہے نارمل ہو گیا۔ کشمیر کے بارے میں سب کچھ اگر ہم آپس میں کسی معاہدے پر آ گئے۔ دہشت گردی نے ہمارے مالیاتی مرکز کو نشانہ بنایا ہے۔ اس نے ممبئی کو مارا کیونکہ اس نے خود بھی کچھ نہیں کمایا تھا۔ کیا جا سکتا ہے۔ کوئی قابلیت نہیں، کچھ بھی نہیں۔ میں نے سب کچھ سکھایا سوائے جہاد کے۔ آؤ یار سامنے آؤ کوئی اچھا پیسہ کما رہا ہے۔ 8 سے 9 فیصد ان کی جی ڈی پی بڑھ رہی ہے۔ برداشت کرنا آپ کی جگہ کوئی دہشت گردی نہیں ہوئی۔ یہ اور وہ تنظیموں کی طرف سے آیا اور انہوں نے ہم پر حملہ کیا۔ مالیاتی مرکز کو مارو۔ ماگر اندازہ لگائیں۔ کیا، ہم آج بھی اپنے پیروں پر کھڑے ہیں۔ ادا کریں۔ میں کسی سے ایک ارب یا دو ارب ڈالر مانگ رہا ہوں۔ میں واپس نہیں جا رہا ہوں۔ ٹھیک ہے؟ کچھ غلط کیا؟ ایک ارب ڈالر کی ضرورت ہوگی تم ہو گئے آئی ایم ایف جیسا ادارہ آپ کے ملک کی پوری اقتصادی پالیسی وہ ڈکٹیٹ کر رہا ہے۔ کچھ غلط ہو سکتا ہے آپ اگر میں نے کچھ غلط نہیں کیا تو سرمایہ کار آپ کے پاس کیوں نہیں آتے؟ آپ انڈیا کیوں آتے ہیں؟ ایپل کا آئی فون بھارت میں کیوں بنائے جاتے ہیں؟ آپ کا اسے یہاں کیوں نہیں بنایا؟ کچھ غلط کیا؟ آپ کو معلوم ہی ہوگا کہ پاسپورٹ دنیا کا چوتھا بڑا پاسپورٹ ہے۔ بدترین پاسپورٹ۔ کچھ غلط ہو سکتا ہے کہ پاکستان کے اندر بین الاقوامی سیاح جتنے لوگ ہندوستان آنے آتے ہیں۔ جو آتے ہیں، اتنے نہیں آتے۔ کچھ غلط ہے آپ نے ہندوستان کے اندر ایسا کیا ہوگا۔ تمام ممالک کے سربراہان بڑے ہیں۔ دنیا میں اثر و رسوخ رکھنے والے ممالک یہ سب پاکستان آتے ہیں۔ کوئی نہیں آتا، برسوں سے کوئی نہیں آتا کوئی بتا سکتا ہے پچھلے 5-10 سالوں میں؟ پاکستان سے بڑا سرکاری دورہ ہوا ہے۔ آپ نے اپنے اندر کچھ غلط کیا ہوگا۔ 2.5 کروڑ بچے اسکول سے باہر ہیں، کچھ بھارت آج کچھ نہ کر کے اچھا کر لیتا کم از کم ہم آپ کے ساتھ ہیں، ہماری کوششیں آپ کے ساتھ ہیں۔ برابر کرنا۔ لیکن ہمارے 600-700 ارب ڈالر کے پاس فارن ریزرو ہے اور آپ کا ختم ہو گیا ہے۔ چلا گیا ہے۔ آپ کا قرض جی ڈی پی کا تناسب ہے۔ یہ 80 فیصد تک پہنچ گیا ہے۔ کچھ غلط کیا؟ آپ نے ضرور کیا ہوگا۔ یہ کڑوا سچ ہے سر جی شاید آپ کو یقین نہ آئے لیکن جب بھی آپ کی کہانی نیز، اگر دنیا میں بتایا جائے تو ان کا ذکر کیا جائے گا۔ ہو سکتا ہے آپ متفق نہ ہوں، آپ ہم پر الزام لگا سکتے ہیں۔ دیتے رہیں ایک کے بعد ایک، میں جتنے چاہتا ہوں دیتا ہوں۔ ہیں لیکن آپ کا یہ خود کو شکست دینے والا انداز ہے اس کی وجہ سے آپ کہیں نہیں جا رہے ہیں۔ ہمارے بچے عالمی سطح پر صف اول میں آتے ہیں۔ یونیورسٹیوں میں۔ ہمارے بچے آگے بڑھتے ہیں۔ آئیے ایکسل کریں۔ تمہارے بچے کہاں ہیں؟ تم شاندار کیوں نہیں ہو رہے؟ تبصرہ کیوں نہیں کرتے تم ہمارے بچوں کے ساتھ کیا کر رہے ہو؟ کچھ ہو سکتا ہے آپ نے کچھ غلط کیا ہو۔ تمام واجبات کے ساتھ احترام. جناب ہم آپ سے مختلف ہیں۔ آئیے رویہ کے ساتھ جواب کا انتظار کرتے ہیں۔ ایک ایک عام آدمی جو جماعت اسلامی کا رکن ہو یا عام آدمی نقطہ نظر پاکستان سے ہے۔ ہم توقع کرتے ہیں آئیے کچھ توازن کے بارے میں بات کرتے ہیں۔ یہ کریں گے اور آپ دونوں اطراف کو جان لیں گے۔ اس معاملے پر پاکستان کا موقف کیا ہے؟ بھارت کا کیا حال ہے؟ یا جو کچھ بھی آپ کے پاس ہے۔ ثبوت موجود ہیں، ابتدائی تصورات ہیں، اس کے خلاف دلائل کیا ہیں؟ ایک ایک پڑھے لکھے اور ناخواندہ شخص کی روش میں یہی فرق ہے۔ آج کل یہ بہت آسان ہے۔ جب آپ انٹرنیٹ پر ہوں گے تو آپ کو پتہ چل جائے گا۔ دوستو یہ میرا نقطہ نظر ہے جو اس کے خلاف ہے۔ کیا دلائل موجود ہے؟ کوئی ثبوت ہے؟ ہے؟ مثال کے طور پر جناب آپ نے کشمیر کی بات کی۔ کشمیر میں انسانی حقوق کی خلاف ورزیاں ہو رہی ہیں۔ ہے یہ بہت زیادہ ہوا ہے۔ بھارت میں بہت زیادہ بہت زیادہ زیادتیاں ہوئیں۔ تو جناب کیا 1989 سے پہلے بھی کشمیر میں انسانی حقوق خلاف ورزیاں اس طریقے سے ہوئیں۔ جب آپ کے پاس بندوق ہو۔ جب آپ معصوم لوگوں کو مارنا شروع کریں گے تو میں اسے اٹھاؤں گا۔ اگر آپ ایسا کرتے ہیں تو آپ ریاست سے کیا توقع رکھتے ہیں؟ کرنا مثال کے طور پر بیٹا کراٹے تھا۔ اس کی ویڈیو دستیاب ہے۔ انہوں نے اسے گرفتار کر لیا۔ میں نے جا کر اس سے پوچھا کہ تمہارے کتنے لوگ ہیں؟ مارا ہوگا؟ اس نے کہا ہاں، اس نے 101 لوگوں کو مارا ہوگا۔ انہوں نے کہا کہ یہ 101 یا 1520 ہوسکتا ہے۔ یہ 1520 ہے، اس نے کہا کہ تم کیسے نشانہ بنا سکتے ہو؟ کیا آپ نے انتخاب کیا؟ اس نے کہا مجھے اوپر سے حکم آیا ہے۔ مجھے فلاں کو قتل کرنے کا پیغام مل جاتا اور میں اسے قتل کر دیتا تھا. تو صحافی نے مزید پوچھا کہ کیا آپ؟ مجھے اپنی ماں کو قتل کرنے کا حکم ملتا ہے۔ کیا کرنا ہے وہ کہتا ہے کہ میں اپنی ماں کو بھی مار دیتا۔ جب آپ کسی کو قتل کرتے ہیں تو پھر کیا ہوتا ہے؟ اس وقت عشق مجید وانی کی طرف سے ہمیشہ آرڈر آیا کرتا تھا۔ کیا آپ نے ایسا کیا یا آپ اپنی مرضی کے مطابق کر سکتے تھے؟ نہیں، میں اپنی مرضی سے کسی کے ساتھ کچھ نہیں کرتا وہ مجھے مارتا تھا۔ ہمیں اوپر سے حکم ملا۔ قائدین وہ حکم دیتے تھے کہ کسی کو اچھا حکم دیں۔ مجھے مارو، تم مجھے مار دیتے۔ جی جناب۔ چاہے وہ چاہے کوئی بھی ہو۔ چاہے کوئی بھی ہو۔ اگر وہ کہتا ہے۔ اپنے ہی بھائی کو مارو۔ ہاں میں میں اسے مار دیتا۔ اگر وہ کہتا کہ وہ اپنی ماں کو جانتا ہے۔ اس کے ساتھ مار ڈالو۔ میں اسے مار دیتا۔ تو یہ ہے تمہاری حالت غلامی سے بدتر ہو گئی ہے۔ نہیں غلامی کہاں ہے؟ میں نے آپ کو پہلے بتایا تھا جب ہم کیا کوئی لڑکا جوائن کرنے سے پہلے جوائن کرتا ہے؟ وہ ہل چلاتا ہے۔ یہ کام ہے۔ اگر نہیں اگر ایسا ہے تو آپ جا سکتے ہیں۔ اور جناب یہ ہے کیا یہ اقلیتوں کے خلاف مظالم کے بارے میں ہے؟ جناب ہم نے 1950 کے مشرق میں ایک قتل عام کیا۔ پاکستان میں جوگیندر ناتھ منڈل جو وہ ہمارے پہلے وزیر قانون تھے۔ آج پاکستان کسی کو معلوم نہیں ہوگا کہ ہمارا پہلا وزیر قانون ہندو تھا۔ یہ ہم بھی کہا جاتا ہے کہ پاکستان بنا اسلامی قانون کے لیے اسلامی حکومت کے لیکن ستم ظریفی دیکھئے کہ ہمارا پہلا قانون وزیر ہندو تھا اور پہلا جو غیر ملکی ہے۔ وزیر، وہ احمدی تھے، سر ظفر اللہ خان چنانچہ اس ہندو وزیر نے اپنے خط میں جناب استعفیٰ میں کیا لکھا ہے پڑھ لیں۔ آپ ماشااللہ پڑھے لکھے آدمی ہیں پلیز اس نے اسے یہاں لکھا ہندوؤں کا مستقبل یہ ہے کہ لیکویڈیشن یا مشرقی پاکستان میں 10,000 ہندو مذہب تبدیل کرنے والے ہیں۔ میں مارا گیا اور وہ کچھ نہ کر سکا اس کے بعد وفاقی وزیر ہونے کے باوجود سر لیاقت نہرو معاہدہ 1950 میں ہوا تھا۔ میرے خیال میں اس میں اپریل 1950 تھا۔ پاکستان اور بھارت نے عہد کیا ہے کہ ہم پاکستان کو آج تک مساوی حقوق دیں گے۔ آپ نے اپنے آپ کو برابر کا حق دیا۔ آئین میں لکھا ہے کہ جناب صدر اور وزیراعظم کی تمام تعریفیں غیر ہیں۔ مسلمان اس کے لیے نااہل ہیں۔ ایک اس ملک کا قانون کہتا ہے، پاکستان کا قانون کہتا ہے۔ کہ تمام شہری برابر ہیں۔ اور پھر آپ بناتے ہیں یہ کہہ کر اس مساوات کا مذاق اڑایا گیا۔ صدر اور وزیر اعظم ان کے پاس ہے۔ مسلمان ہونا۔ عملی طور پر صورتحال یہ اس سے بھی بدتر ہے۔ یعنی چیف کوئی غیر مسلم وزیر نہیں بن سکتا۔ گورنر نہیں بن سکتا۔ لیکن تم نے آئینے میں دیکھا ہے۔ اس قدر عدم تحفظ ہے کہ آپ کو اس سب کی فکر کرنی پڑے گی۔ شاید ہی کوئی غیر مسلم ہو۔ اور وہ ہیں پہلے ہی پسماندہ۔ وہ کوئی خطرہ نہیں ہیں۔ آپ کا خیال تھا کہ صدر صاحب وزیراعظم بن جائیں گے۔ لیکن اس کے باوجود اتنی گہری عدم تحفظ تھی اور بھٹو صاحب جیسا لبرل سیکولر آدمی۔ اس کے لیے آئینے میں بھی لکھنا پڑا وہ ڈرتے ہیں، میں کچھ ایسے لوگوں سے ڈرتا ہوں جو غیر مسلم ہیں۔ میرے دوست، ہمارے وزیراعظم کو اپنا نہ بننے دیں۔ اگر ہو جائے تو جواب دیں جناب۔ پھر اروند کچھ کہنا چاہتا ہے۔ 10 سیکنڈ میں اپنا ایک چھوٹا سا لوں گا کہ یہ کشمیر میں انسانی حقوق کی بار بار خلاف ورزیاں اور ہر وہ مسئلہ جس پر وہ بحث کرنا چاہتا ہے۔ بلوچستان کا مسئلہ ہو یا کشمیر کا مسئلہ صرف مسلمانوں کے نقطہ نظر سے ہونا چاہیے۔ آئیے دیکھتے ہیں۔ سید علی شاہ گیلانی جو وہ حریت کانفرنس کے سب سے بڑے رہنما تھے۔ یہ بات انہوں نے ایک انٹرویو میں کہی۔ غیر مسلم معاشرے میں مسلمان کے لیے پانی کے بغیر جینا ایسا ہی ہے جیسے پانی کے بغیر جینا مچھلی کو رہنا ہے۔ تو بھٹ صاحب کا تعلق پاکستان سے ہے۔ کم از کم دس ملین اوورسیز پاکستانی ہیں۔ جو یہ پانی چھوڑ کر انگریزوں کے پاس چلے گئے ہیں۔ میں جا کر برادری میں بیٹھ گیا ہوں۔ اسلامی سوسائٹی میں جا کر کوئی نہیں بیٹھا۔ کشمیر میں آپ کے ساتھ پہلا جہاد کرنے والا تھا۔ آپ کا اس کے بعد اس طرف سے فوج آئی۔ یہ نہیں ہوا کہ پہلے فوج آئی پھر جہاد ہوا۔ ہے تو سب سے پہلے، میں نے اپنے آپ کو بھی دیکھا وہاں جاؤ اور جو تم نے غلط کیا ہے وہ کرو۔ دیکھو، جہاں تک میرا تعلق ہے، مجھے ہونا ہے۔ فرینک سیکولر اور لبرل ہونا۔ اے میرا بس چلے تو پاکستان کے اندر جاؤں گا۔ پاکستان میں عیسائی جو ہماری ہندو برادری ان لوگوں کے لیے ہے۔ اور خاص طور پر ان لوگوں کے لیے جو عیسائی ہیں، میں انہیں پروموشن کے لیے آگے لائیں۔ ان کو ترقی کے چکر سے نکالنے کے لیے جہاں تک میں معذرت کے لیے جا سکتا ہوں۔ مداخلت کے لیے احمدیوں کا کیا ہوگا؟ جناب مہربانی فرما کر جناب مجھے جواب دیں۔ ہاں دیکھو میں اپنی ریاست سے ہوں یا میری؟ میں حکومت کا ترجمان نہیں ہوں۔ میں آپ کو اپنی ذاتی رائے کے بارے میں خبردار کر سکتا ہوں۔ یہ بھی کریں۔ اس میں وہ کہہ رہے ہیں۔ صدر کو عیسائی بننا چاہیے۔ اسے اس کی ضرورت ہے۔ ایک ہندو جس کے اندر ہے۔ اہلیت ہے تو وزیر اعظم بھی بن سکتے ہیں۔ کر سکتے ہیں۔ بنایا جانا چاہیے۔ یہ میری ذات کی رائے ہے۔ ہے اچھا لیکن اگر ایسا نہیں ہو رہا ہے۔ اگر یہ موجود ہے تو ہمیں اس کے لیے جدوجہد کرنی چاہیے۔ ہمیں ان اقلیتوں کے حقوق کے لیے آگے بڑھنا ہوگا۔ یہ آنا چاہیے کہ ہم آ رہے ہیں۔ ہم لکھتے ہیں ہیں ہم اپنی حکومتوں کو احساس دلائیں گے۔ ہم اسے مکمل کرنے کی پوری کوشش کرتے ہیں۔ اب آ رہا ہے وہ کشمیر کی طرف ہیں۔ دیکھیں بات یہ ہے کہ 71 جس کے اندر دنیا کی بہترین تاریخ ہے۔ یہ ایک بڑی دہشت گردی تھی اور بھارت نے وہ کیا۔ پاکستان کے اندر۔ یہ اتنی بڑی سازش تھی۔ اتنی بڑی سازش تھی اور ان کا ان کا کردار وہی تھا جو آج کے بچستان کا ہے۔ اندر ہے اور انہوں نے وہاں دہشت گردی پھیلا رکھی ہے۔ وہاں کے لوگوں کو سپانسر اور پروموٹ کیا۔ وہ پاکستانی پاک فوج کے خلاف علیحدگی پسند تھے۔ کے مغربی ونگ کے خلاف لڑا۔ انہوں نے اس کے خلاف اور اس کے بعد نفرت پیدا کی۔ ڈھاکہ ہوا اور شملہ معاہدہ ہوا۔ آپ کا جو مجھے بہت عزیز ہے۔ اندرا گاندھی صاحبہ اور ذوالفقار علی یہ بھٹیوں کے درمیان ہوا۔ تو اس میں جو بنیادی نکتہ جو طے ہوا وہ یہ تھا کہ کشمیر مسئلہ پاکستان اور بھارت کا ہے۔ وہ مکالمے کے ذریعے اسے بٹر کرتا ہے۔ ہم مذاکرات سے حل کریں گے۔ مجھے بتائیں کہ 1989 میں کشمیر میں شورش ہوئی۔ شروع ہوتا ہے۔ تو 71 سے 1989 تک ہم ہندوستان کے بارے میں بات کر رہے ہیں۔ آئیے جناب، میز پر بیٹھتے ہیں۔ جس کا تعلق کشمیر سے ہے۔ یہ ایک مسئلہ ہے، آئیے اسے حل کریں اور اسے حل کریں۔ آئیے آگے بڑھیں۔ اپنے لوگوں کے دکھوں کا پسماندگی کے خلاف، جہالت کے خلاف بیماری کے خلاف جنگ شروع ہوتی ہے۔ ہم کرتے ہیں۔ مجھے بتائیں کہ 1989 تک ان کے پاس تھا۔ اس کی ہمیشہ تردید کی گئی۔ یہ ہمارے ساتھ ہے میز پر بیٹھنے کو تیار نہیں تھا۔ اور پھر دیسی تحریک ہے۔ یہ کشمیریوں کی دیسی تحریک ہے۔ میں اگر آپ مجھ سے ذات کے لحاظ سے نہ پوچھیں۔ کشمیریوں کی اس دیسی تحریک کو ختم کرو سے سپانسر شپ کی جا رہی ہے۔ اپنا محفوظ فرض ادا کریں۔ فرض کریں کہ پاکستان سے یہاں تک اگر ہم وہاں جہادی افواج بھیجیں گے تو وہ کریں گے۔ جو اس کی تحریک کے حق میں نہیں جاتا ہے یہ ان کی تحریک کے خلاف ہے۔ اس کی تحریک کو کیا جائے گا۔ اگر آپ مجھ سے پوچھیں اس لیے میں کشمیریوں کو یہ مشورہ ضرور دیتا ہوں۔ میں اسے بھارت کے خلاف مقابلہ نہیں کرنے دوں گا۔ اگر کوئی جائز جدوجہد ہے تو اس میں مدد لیں۔ کسی بھی جہادی یا دہشت گرد تنظیم سے یا تنظیموں کو ان کا دیسی کہا جاتا ہے۔ یہ ایک تحریک ہے، انہوں نے بہت قربانیاں دیں۔ ڈیڑھ لاکھ سے زائد دوست شہید ہو چکے ہیں۔ غریب ان کی معصوم عورتوں کی عصمت دری کی گئی۔ ان کے پاس ہے، آج وہاں جا کر دیکھو، ان سے پوچھ لو انہوں نے آج بھی سارا معاملہ لاک ڈاؤن پر رکھا ہوا ہے۔ ان کا انٹرنیٹ بند ہے، ان کا مواصلات بند ہے۔ سب کچھ بند ہے اور جو وہاں ہیں۔ وہ جوان ہے، اسے دیکھو، وہ اندھا ہو گیا ہے۔ پالتو گنے کا استعمال کرتے ہوئے بنایا گیا ہے۔ ان کو اندھا نہیں کیا اور اغوا نہیں کیا۔ اگر وہ چلا گیا ہے تو اس کے لیے یہی حل ہے۔ ایسا کرنے کا طریقہ یہ نہیں ہے کہ آپ گر جائیں۔ فلیگ آپریشن جب تک آپ ہمیں کوئی ثبوت فراہم نہیں کرتے وہ فالس فلیگ آپریشنز کو اعتبار نہیں دیتے اسے ہندوستان کے اندر 10 منٹ کے اندر مکمل کریں۔ پاکستان پر الزام لگایا اور اس کے بعد جج بنیں اور خود فیصلہ کریں۔ پاکستان پر جو بھی ہے حملہ کر دو۔ جنگ کسی مسئلے کا حل نہیں بھائی۔ جنگ کسی بھی مسئلے کا کوئی حل نہیں ہے۔ دونوں ایٹمی طاقتیں ہیں۔ اس پر غور کرو، اسے سمجھو اچھے طریقے سے۔ دونوں ایٹمی طاقتیں ہے جوہری طاقتوں کے درمیان ڈبلیو ایچ او وہ ہے آپ نے بیٹھ کر اس معاملے پر بحث کی۔ ٹھیک ہے جناب۔ میرا مجھے لگتا ہے کہ آپ کی بات کی گئی ہے۔ کسی کے ساتھ جنگ مسئلے کا کوئی حل نہیں ہے۔ ہم ایٹمی طاقت ہیں ہیں اس کے باوجود 65 میں جنگ کس نے شروع کی؟ آپ کا 71 میں جنگ کس نے شروع کی؟ آپ کارگل آپ کے ساتھ کس نے کیا؟ دہشت گردی ہزار جملے کس نے کہے؟ آپ اور اب آپ امن پر لیکچر بھی دیں گے۔ آپ بیٹھیں۔ ہیں؟ اب یہ اس طرح ہے کہ 71 سے اوپر ہے تو ہم بتائیں گے۔ چودھری صاحب آپ کو جواب دیں گے۔ یہ بہتر ہے۔ کوئی پاکستانی خود اس کا جواب دے ۔ لیکن میں آپ کو بار بار یہ بتانا چاہوں گا، چلیں جی کشمیر پر بڑا ہے۔ یہ ظلم ہے۔ یہ کشمیر میں ہے۔ کشمیر آپ کو اس معاملے کو دو قومی نقطہ نظر سے دیکھنا چاہیے۔ آئیے دیکھتے ہیں۔ بدھ مت کے پیروکار بھی کشمیر میں رہتے ہیں۔ ہیں یہاں ہندو بھی رہتے ہیں، سکھ بھی یہاں رہتے ہیں۔ سب کچھ بتا دیا۔ یہ تم نہیں بتاؤ گے۔ آپ نے پنڈتوں کو کشمیر سے کیوں نکالا؟ اس کا قصور کیا تھا؟ وہ ایک حاشیہ دار ہے۔ ایک برادری تھی۔ 5% سے کم ان کا کیا قصور ہے۔ تھا؟ انہیں کیوں ہٹایا گیا؟ نہ صرف ان کے مذہب کی بنیاد پر۔ آپ سمجھ گئے کہ یہ وہ ہندوستان کی آنکھ اور کان ہے۔ یہ پہلے اسے یہاں سے نکالو۔ ہمیں ہونا چاہئے. آپ کا تمام قوم پرست باہر سے ہیں۔ ملکوں میں بیٹھے ہیں۔ ہندوستان کے بڑے سے وہ ایک بڑا علیحدگی پسند بھی ہے۔ وہ کشمیر سے ہے۔ انہیں مٹی میں دفن کر دیا گیا ہے۔ باہر کوئی نہیں بھاگا نہیں؟ کوئی باہر نہیں بھاگا۔ اس طرح سے تم یہ جھوٹی مساوات کرتے ہو۔ لوگ جب آپ کے پاس کوئی دلیل نہ ہو۔ یہ ہوتا ہے. کشمیر کا مسئلہ صرف آپ کا ہے۔ آئیے اسے اسلام کے نقطہ نظر سے دیکھتے ہیں۔ اور پھر اگر بلوچستان کا مسئلہ ہے تو وہ بھی صرف ہمارے مسلمان بھائی ہیں۔ ہمارے مسلمان بھائیو ہیں لیکن میں سیکولر ہوں، میں لبرل ہوں۔ آپ اگر آپ سیکولر لبرل ہیں تو مسلمان کو مسلمان بنائیں چھوڑیں جناب۔ آپ کہتے ہیں کہ ہاں بھائی وہاں تنخواہ کا مسئلہ کیا ہے؟ اسلامی ہے۔ جموں و کشمیر میں علیحدگی کا مسئلہ ہے۔ وہاں کوئی اور مسئلہ نہیں ہے۔ ایک ہی اسلامی علیحدگی جو آپ نے وہاں دیکھی۔ اس کو کچل دیا گیا ہے۔ ان تمام سالوں میں آپ کو ترقی ملی ہے۔ کر چکے ہیں آپ نے اسے اپنے روزناموں سے لیا ہے اور جتنے بڑے لیڈر آپ کے پاس ہیں۔ تقریریں ہوتی ہیں۔ تھوڑا وقت باقی ہے۔ ورنہ۔۔۔ میں وہ ویڈیو چوہدری صاحب کو ضرور بھیجوں گا۔ اور میں ان سے درخواست کرتا ہوں کہ وہ مجھے کریڈٹ دیں۔ یہ بے نظیر بھٹو صاحبہ کی تقریر ہے۔ جس طرح انہوں نے مظفرآباد میں دیا ہے۔ وہ کشمیر کے لوگوں کو مشتعل کر رہی تھی۔ ذرا ایک نظر ڈالیں۔ کشمیر کا بہادر بابا موت سے بچ گیا۔ وہ خوفزدہ نہیں ہیں کیونکہ وہ مسلمان ہے۔ کشمیریوں کی رگوں میں مجاہدین اور اسلام دوڑ رہے ہیں۔ یہ غازیوں کا خون ہے۔ کشمیر کے لوگ رگوں میں مجاہدین کا خون ہے۔ کیونکہ کشمیری عوام کے وارث ہیں۔ رسول پاک آپ صلی اللہ علیہ وسلم کے جانشین ہیں۔ وہ حضرت علی اور حضرت عمر کے وارث ہیں۔ وارث ہیں۔ اور کشمیر کی بہادر خواتین اگر کوئی وارث ہے تو بیوی خدیجہ، بیوی عائشہ اور وہ بیوی فاطمہ کے وارث ہیں۔ وہ بھی لڑتا ہے۔ وہ یہ جانتے ہیں اور وہ یہ بھی جانتے ہیں کہ کیسے جینا ہے۔ اور زندہ رہے گا تو عزت سے جیے گا۔ آپ کا حق ہے ہم اسے لیں گے۔ کبھی کشمیر کے لیے، کبھی کسی اور کے لیے کبھی کبھی کسی کے لیے لڑنا، مارنا اور مرنا ضروری ہوتا ہے۔ آپ کی تاریخ ہو چکی ہے۔ اس کے لیے اور کچھ نہیں ہے۔ آپ کی تاریخ سے زیادہ کچھ نہیں ہے۔ آپ اسلام کو عربوں سے نکال دو گے تو وہ بچ جائیں گے۔ عرب ہم ترکوں سے اسلام کو نکال دیں گے۔ تب ترک زندہ رہیں گے۔ ایرانیوں میں اسلام اگر ہم ان کو ہٹا دیں تو فارس زندہ رہے گا۔ ہم پاکستانیوں سے اسلام مٹا دیں گے۔ تو کیا رہ جائے گا؟ کچھ نہیں بچے گا۔ آپ ہندو ہیں یہ سب سکھ ہیں۔ ٹھیک ہے؟ تو آپ کو اپنی شناخت کے ساتھ پریشانی ہو رہی ہے۔ آپ کو اپنے اسلاف کی شناخت سے معلوم ہوگا۔ ایک مسئلہ ہے۔ اس لیے تم یہ سب کام کرتے ہو۔ سر جی ایک بات دھیان سے یاد رکھیں۔ یہ کام آپ بار بار کرتے ہیں، یہ کشمیر کی بات کرتے ہیں۔ ہمارے یہاں ایک اوسط کشمیری ہے۔ وہ یہاں آپ سے زیادہ خوش ہے۔ اس بات کی شرائط کہ آیا وہ پرنسپلٹی جانا چاہتا ہے۔ وہ مدد جو ہمیں ملتی ہے اور وہ سہولیات جو ہمیں ملتی ہیں۔ پچھلے دو سے ڈھائی کروڑ سیاحوں نے کشمیر کا دورہ کیا۔ پچھلے دو تین سالوں سے ہر سال ڈھائی کروڑ روپے خرچ ہو رہے ہیں۔ تم نے اب تک کس کے پیٹ پر لات ماری ہے؟ تم نے کبھی ان کشمیریوں کے پیٹ میں لات ماری ہے؟ جب آپ ان کو دیکھتے ہیں، ان کی معیشت، مقامی معیشت پھلنے پھولنے لگے، پھر تم کشمیر چلے جاؤ میں اس قسم کا کام کرتا ہوں۔ جب اگر ہندوستان کی معیشت پھلے پھولے تو ہمارے مالیاتی مرکز ممبئی کو مارو تم یہ کرو. یہ آپ کی تاریخ ہے۔ اپنے معیشت بنائیں۔ اپنے پیسے کمائیں۔ دنیا سے آپ کب تک مدد لیں گے؟ یہ آخری 10 سیکنڈز ہیں چوہدری جناب جب سے پاکستان بنا ہے۔ پاکستان اب تک کا سب سے بڑا نان نیٹو اتحادی ہے۔ یہ امریکیوں کے لیے آپ کی غیر ملکی کرنسی ہے۔ آپ سیکرٹری سطح پر ہیں، یہاں تک کہ جان صاحب کہ اگر آپ اپنے آپ کو دیکھیں تو امریکی وزیر پہلے ہی دن آپ نے آف سٹیٹ کے نام پر یہ بات کہی۔ ملک ان کے حوالے کر دیا گیا۔ آپ کا ساری ترقی مہنگی ہو گئی۔ 60 مزید 70 کی دہائی میں جب ہمارے بزرگوں نے مجھے کہا وہ پاکستان آیا تھا اور بتاتا تھا۔ اے سی ریڈیو ٹرانزسٹر اور اے سی جو چیزیں ہمیں پاکستان میں ملتی ہیں وہ کاریں ہیں۔ ہم سوچ بھی نہیں سکتے تھے کہ ہمارا انسٹا۔۔۔ آپ اسے ایسے وقت میں تعمیر کر رہے تھے جب آپ دنیا کے تھے۔ تم یہ کام ادھار کی رقم سے کر رہے تھے۔ جب وہ آپ کو پیسے دیتا ہے تو آپ وہ گندا کام کرتے ہیں۔ وہ آپ کو دو دس دن تک مزہ بھی دلاتا ہے۔ 70 تیسری دہائی میں آیا اور کہا کہ اب کر لو جہاد وہاں جاتا ہے پھر جو پیسے لے اور نہ ہی اس کے پاس کوئی دوسرا راستہ ہے۔ اس کے لیے پھر اسے وہی کرنا ہوگا جو آپ نے کیا تھا۔ ہے آج تک تم جو اس کے رشتہ دار ہو۔ وہ تکلیف میں ہیں۔ آپ کہتے ہیں کہ آپ وہ ایک سیکولر ذہن کا آدمی ہے، ایک لبرل آدمی ہے۔ لیکن آپ کے دلائل سب کے ساتھ ہیں۔ عزت وہی ہے جو ہم جماعت اسلامی کو دیتے ہیں۔ آئیے عوام سے سنتے ہیں۔ تو جیسا کہ آپ نے کہا کہ مشرقی پاکستان دنیا میں سب سے زیادہ ہے۔ بڑی دہشت گردی تھی۔ تو جناب یہ بتائیں کتنی بین الاقوامی تنظیمیں ہیں۔ کتنے ممالک نے اسے دہشت گردی قرار دیا؟ کیا؟ اگر بھارت نے دہشت گردی کی ہے تو یہ غلط ہے۔ ایک بار جب آپ اپنا ملک بنا لیں تو پھر ہمارے ساتھ شامل ہو جائیں بھائی ایک بار پھر پاکستان میں۔ یہ بدترین تھا دہشت گردی کی مثال آپ کے نزدیک۔ اتنی بڑی دہشت گردی ہوئی اور ہم بنگالی بھارت نے اس کے ساتھ کیا۔ تو حبیب جالب صاحب وہ ایک آزاد خیال آدمی بھی تھا۔ اس نے کیوں کہا کیا تم گولیوں سے پیار بوتے ہو؟ وطن کے آپ اپنا چہرہ خون سے دھو رہے ہیں۔ آپ کو اس کے ارد گرد تبدیل سڑک کاٹی جا رہی ہے۔ مجھے یقین ہے کہ میں اپنی منزل کھو چکا ہوں۔ کیا گیا تھا؟ جناب آپ لبرلز کے ساتھ کھڑے ہیں یا؟ کیا آپ جماعت اسلامی کے ساتھ کھڑے ہیں؟ یہ میرے لیے میں قدرے حیران ہوں۔ دوسرا، آپ نے کہا ہاں، ہم کوشش کر رہے ہیں، ہم جدوجہد کر رہے ہیں۔ ایک عیسائی کے بھی یہی حقوق ہیں۔ ہاں ہندوؤں کو بھی وہی حقوق ملنے چاہئیں۔ احمدیوں اس میں اس کا نام بھی لے لیں۔ تو جناب ہم نے احمدیوں کو وہ لوگ کہا ہے جو جینا صاحب کے پاس تھے۔ ایک احمدی کو پہلا وزیر خارجہ بنایا گیا۔ ہندوستان کی مقننہ نے ان کی تعریف کی۔ مرکزی مجلس قانون ساز میں کہا گیا کہ ۔ میرا ایک بیٹا ہے اور وہ مسلمان ہے۔ ٹھیک ہے جناب اگر آج ہم کسی سے بات کریں تو وہ وہ کہتے ہیں، یہ بہت توہین آمیز بات ہے۔ رہے ہیں دنیا میں بدترین دیکھیں دنیا میں توہین رسالت کا قانون پاکستان میں ہے۔ آپ کہتے ہیں جناب ہم کوشش کر رہے ہیں۔ صاحب اس کوشش کا نتیجہ کیا نکلا؟ آج کیا اگر آپ لوگوں کی کوشش کا نتیجہ ہے۔ اگر سامنے آتا تو 73 کے قانون کو کتنے سال گزر چکے ہیں۔ وہ قانون اب تک بدل چکا ہوگا۔ تو جناب یہ جدوجہد صرف لب کی خدمت ہے کہ ہم کر رہے ہیں۔ ہاں میں نے مضمون لکھا تھا۔ میرے پاس ہے۔ اس کا نتیجہ بھی دیکھ لیں۔ وہ ان کا کہنا ہے کہ جھوٹ ڈالنے کا ثبوت کھانا۔ اور مشرقی پاکستان پر جناب ہم نے اے ابھی حال ہی میں ایک تفصیلی بحث ہوئی۔ میں اسے آپ کو بھیج دوں گا۔ یہاں تک کہ بلوچستان پر تفصیلی گفتگو ہوئی، آپ کو بھیج دوں گا۔ دینا۔ ہمیں پہیے کو دوبارہ ایجاد نہیں کرنا چاہئے۔ دوسرا جناب آپ کشمیر کی بات کر رہے ہیں۔ نہ ہی ہم کشمیر کے حل پر تقسیم ہیں۔ آپ شو بھی کر سکتے ہیں اور میں آپ کو بتاؤں گا۔ میں جاننا چاہتا ہوں کہ پاکستان میں جناب کشمیر پر لکھی گئی بہترین کتاب کونسی ہے؟ تاکہ معلوم ہو سکے کہ پاکستانی مسئلہ کشمیر پر سنجیدگی کیا ہے؟ اے جی نورانی ایک ہندوستانی اسکالر تھے۔ ممبئی میں رہنے کے لیے استعمال کریں۔ اور وہ ایک ممتاز اتھارٹی تھا۔ مسئلہ کشمیر پر۔ ان کی کتاب کشمیر ہے۔ 2014 میں کراچی سے شروع ہونے والا تنازع آکسفورڈ یونیورسٹی پریس نے شائع کیا۔ کی اس میں جناب نے لکھا ہے کہ جانا صاحب کو نومبر 47 میں پیشکش ہوئی کہ ہم آئیے ہم اسے تینوں ریاستوں میں مکمل کریں۔ حیدرآباد، دکن، جوناگڑھ اور کشمیر۔ زنا صاحب نے انکار کر دیا۔ اس کے بعد بھی سر سردار شوکت حیات نے لکھا میری کتاب میں، ہاں، مجھے یہ پتہ چلا انڈیا کی طرف سے پیشکش ہے کہ آپ کشمیر کو حیدرآباد دکن کا حصہ بننا چاہیے۔ آپ لے لیں تو میں لیاقت علی خان کے پاس گیا۔ اور میں نے کہا جناب یہ بہت اچھی پیشکش ہے۔ کشمیر میں ہماری مہم اچھی نہیں چل رہی مجھے لیاقت علی خان کہتے ہیں شوکت تم تمہیں لگتا ہے میں پاگل ہوں، میں حیدرآباد دکن سے ہوں۔ کشمیر کی چاند جیسی بڑی سلطنت کو چھوڑ کر مجھے پہاڑیوں کو لینا چاہیے، وہ کہتے ہیں کہ میں ایسا ہوں۔ میں اس سے اتنا مایوس ہوا کہ فوراً کشمیر کمیٹی کی چیئرمین شپ میرے پاس تھی۔ کہ میں نے ان سے اور دوسرے صاحب سے استعفیٰ دے دیا۔ آپ نے جوناگڑھ کا الحاق کس منطق کے تحت کیا؟ کیا آپ نے اعتراف کیا؟ جوناگڑھ کا الحاق آج آپ کا موقع ہے۔ کشمیر کا معاملہ کیا ہے؟ مسلم اکثریت ہے، یہ ہماری ہے۔ جوناگڑھ وہاں نہ تو متصل تھا اور نہ ہی مسلم اکثریت۔ آپ نے اس کے الحاق کو تسلیم کیا۔ جب انڈیا جب ہم نے احتجاج کیا تو آپ نے کہا کہ ہر حکمران اسے حق ہے کہ وہ جس کے ساتھ چاہے جائے ۔ سر سفیر شاہد امین نے اس پر لکھا انہوں نے ایک کتاب لکھی ہے جو آکسفورڈ میں شائع ہوئی ہے۔ یونیورسٹی پریس نے کراچی میں شایع شائع کیا۔ انہوں نے لکھا کہ پاکستان کو غریب ہونا چاہیے۔ جوناگڑھ کے الحاق کو قبول کرنے کا فیصلہ۔ اس میں کشمیر پر پاکستان کے معاملے پر بات ہوئی۔ تو جناب یہ اصلی ہیں۔ یہ وہ حقائق ہیں جو آپ وہ عوام کو نہیں بتاتے۔ آپ نے لوگوں کو ٹرک دیا۔ یہ روشنی کے پیچھے نصب ہے۔ کشمیر انہیں کشمیر کہہ کر پڑھا لکھا نہیں ہے۔ کیا. براہ کرم مجھے ایک کتاب بتائیں یہ کسی پاکستانی نے لکھا ہوگا جس کی آپ سفارش کرتے ہیں۔ میں آپ کو بتا سکتا ہوں کہ دوست کشمیر کے بارے میں یہ کتاب پڑھیں آپ کو مسئلہ سمجھ آ جائے گا۔ اور سر جی پلیز براہ کرم دیکھیں بات یہ ہے کہ آپ ہمارے ہیں۔ یہاں دوست بیٹھے ہیں۔ میں ان کا بڑا ہوں۔ میں آپ کا احترام کرتا ہوں۔ میں جاڑا والا سے ہوں۔ میں جاڑا والا میں آپ کا اور آپ کا ہے۔ آپ کو یاد ہوگا کہ پچھلے سال ایک بہت بڑا واقعہ ہوا تھا۔ یہ مسیحی برادری کے حوالے سے ہوا۔ تو بلاسٹفیمی کا کچھ الزام تھا اور اس کے بعد ہجوم باہر نکلا اور وہ جب وہ آئے تو مذہبی لوگ، ان کے گرجا گھر اور یہ ان کی رہائش تھی اور انہوں نے اسے آگ لگا دی۔ دوپہر اس شہر میں خوف وہراس پھیلا ہوا ہے۔ تھا. میں گھر آگیا۔ میں نے اس سب کی عیادت کی۔ میں نے کیا، اور مجھے بہت دکھ ہوا۔ مطلب میں رو رہا تھا۔ میں گھر آیا اور میں میں نے سوشل میڈیا کھولا تو اس پر کوئی نہیں تھا۔ پوسٹ اس تناظر میں نہیں تھی۔ صرف یہ لوگ وہ یہاں شیئر کر رہا تھا کہ اس نے یہ بات کہی۔ زیادتی ہوئی ہے۔ عیسائیوں کی توہین کیا ہے. تو ہم اسے مسلمانوں کی روح کہہ سکتے ہیں۔ وہ مطالبہ کرتا ہے کہ ہم یہ سب کریں۔ رد عمل آپ جانتے ہیں کہ میں نے اسے پوسٹ کیا ہے۔ لکھا تھا۔ میں نے پوسٹ لکھی تو اس کی مذمت کی۔ کیا. میں نے وہاں موجود ہجوم کو بتایا جو منظم تھا۔ کہ تم پاکستان کے ساتھ ناانصافی کر رہے ہو۔ تم اس مذہب کے ساتھ ناانصافی کر رہے ہو۔ ہمارا مذہب ظلم کر رہا ہے۔ اگر وہ یہ چیزیں نہ سکھائے تو ٹھیک ہے۔ یہ سب آپ پر ہے، آپ اس کے لئے گر جائیں گے مولوی دیتا ہے لیکن مذہب نہیں، میں ایک تھا۔ سب سے پہلے، میں نے سب سے پہلے سوشل میڈیا پر پوسٹ کیا میں نے لکھا اور میرا خاندان مجھے آرام دے رہا ہے۔ اس میں خطرہ شامل تھا، لہذا میرا بیوی نے کہا ایسا مت کرو تم اشتعال انگیز ہو۔ کر سکتے ہیں۔ ایک ہجوم آپ پر حملہ کر سکتا ہے۔ ہے لیکن میں نے کہا مجھے لکھنے دو۔ اس آگاہی کو لوگوں تک پہنچانا میرا فرض ہے۔ تک پہنچنا چاہیے۔ اور پھر اس کے بعد یہ ہوا کہ جب میں نے لکھا اور میں پہلی بارش ہوں۔ ایک کٹرا بنایا گیا اور پھر اسے جاڑا والا بنایا گیا۔ کیونکہ اس کے اندر میں نے ان لوگوں کو دیکھا تھا۔ کہا گیا کہ یہ سراسر اسلام کے خلاف ہے۔ یہ طالبان کے خلاف ہے اور یہ ہمارا ہے۔ یہ پاکستانیت ہے اور اس کے بھی خلاف ہے۔ آپ ان دونوں کو اور اس کو نقصان پہنچا رہے ہیں۔ ایسا بالکل نہیں ہونا چاہیے۔ اسے روکو اور ہمیں اس کے لیے معافی مانگنی چاہیے۔ اپنی برادری کے ساتھ۔ دوسری بات یہ کہ آپ وہ مجھے چودھری صاحب کے بارے میں بتا رہا تھا کہ یہاں کون ہے۔ ایم ڈی ایک کمیونٹی ہے، آپ اس کے بارے میں کیا کہہ رہے ہیں؟ کہتے ہیں بھائی یہ ہماری اقلیت ہیں۔ وہ آئینی طور پر تسلیم شدہ ہیں۔ آئینی حقوق ہیں اور یہ آئینی حقوق ہیں، بالکل کسی قسم کا ہونا چاہیے۔ میں ذات کو سمجھتا ہوں جو ان کا آئینہ ہے۔ انہیں ان سے اور ان سے ملنا چاہئے۔ اگر کسی جگہ ظلم ہو رہا ہو۔ وہاں بالکل نہیں ہونا چاہئے اقلیتوں کو حقوق ملنے چاہئیں یا نہیں؟ آئینی طور پر پھر ان کے نفاذ بالکل وہی ہونا چاہئے جو یہ ہے۔ ضرورت دوسری بات یہ ہے کہ ہندوستان ہمارا ایک ہے۔ وہ پڑوسی ہے۔ ہم بھی اس کے پڑوسی ہیں۔ اب پڑوسی تبدیلیاں نہیں آ سکتیں۔ ہم 2000 سے 2000 ہیں۔ اب میں 25 میں داخل ہو چکا ہوں۔ تو، پاکستان اندر دہشت گردی ہو رہی ہے۔ 77 جو پاکستانی ہے۔ میں نے یہاں قربانی دی۔ تو جب تک یہ پڑوس سے سرحد پار، یہ کیا ہے؟ یہاں دہشت گردی کی سرپرستی ہوتی رہے گی۔ تو میں یہاں کس صنعت کو جانتا ہوں؟ کیا وہ آئے گی؟ جس کی تجارت یہاں پروان چڑھ رہی ہے۔ کیا تم یہ کرو گے؟ یہاں کون سا کاروبار ہے، وہ پھل ہے۔ پھلے پھولے گا یا کون سا سرمایہ کار آئے گا؟ تو میرے ہندوستانی بھائیوں کی طرح ہم پر یہ اعتراض ہے۔ کہ اگر آپ سرحد پار سے کراس کرتے ہیں۔ اگر آپ یہاں آزمائش کرنا چاہتے ہیں تو سرحد کے اس پار اگر آپ اسپانسر کر رہے ہیں تو اسے روک دیں۔ اسی طرح ہمارا بھی ان سے یہی مطالبہ ہے۔ وہ بھی پاکستان کے اندر اگر ہم اس کے دستخط دیکھیں دہشت گردی کے حوالے سے وہ آزاد ہے۔ اسے روکا جائے۔ افغانستان سے ایک اگر بلوچستان کے اندر دہشت گردی کی سرپرستی کی جاتی ہے۔ کیا یہ ہو رہا ہے، کیا فنڈنگ ​​ہو رہی ہے یا ٹریننگ؟ جو کچھ بھی ہو رہا ہے اسے فوراً روکنا چاہیے۔ ڈبلیو ایچ او انہوں نے دہلی کے اندر جو کچھ کیا وہ ہمارے بلوچوں کو قتل کرنا ہے۔ وہ علیحدگی پسند ہیں اور انہیں وہاں رکھا گیا ہے۔ یہ سب پاکستان کے خلاف ہے۔ انتظام کرنے کے لیے اسے رک جانا چاہیے ایک ہی وقت میں پڑوسی تبدیل نہیں کیے جا سکتے دونوں ممالک کو اپنے عوام کی خوشحالی پر فخر ہے۔ لیکن عدم مساوات کو دور کرنے پر توجہ دی جانی چاہیے۔ میں مودی صاحب کے اس بیان سے پوری طرح مطمئن ہوں۔ میں اس بات سے اتفاق کرتا ہوں کہ ہم دونوں کو ایک ساتھ مل کر آنا چاہیے۔ اسے اپنے ہاتھ میں رکھ کر میں نے غربت کے خلاف اپنی جنگ شروع کی۔ ہم اپنی نادانی کے خلاف اپنی لاعلمی کا اظہار کرتے ہیں۔ آئیے اس کے خلاف اپنی جنگ شروع کریں۔ یہ دونوں ممالک کے لیے ممکن نہیں ہے۔ نہ ہی یہ کسی کے مفاد میں ہے کہ ہم دوسروں سے لڑنا۔ ہر دوسرے تیسرے ہر روز ایک نیا واقعہ رونما ہونے دو۔ اس کے بعد آپ سرحد پار سے بم دھماکہ۔ ہم اس کے پاس اس کی تفصیل۔ تو اس میں پاکستان کا حصہ ہے۔ نقصان ضرور ہوگا۔ لیکن ہندوستان بڑا ہے۔ معیشت ہے۔ ٹھیک ہے؟ اور اس کا قیام زیادہ ہے۔ اگر وہ بڑے ہیں تو وہ ہم سے زیادہ نقصان اٹھائیں گے۔ ہو جائے گا تو مل بیٹھیں اور بات چیت کے ذریعے مسئلہ حل کریں۔ میں سمجھتا ہوں کہ یہ ہے۔ یہ دونوں ممالک کے حق میں ہے۔ اچھا بھٹ جناب سب سے پہلے آپ نے عیسائیوں کی بات کی۔ یا اقلیتوں کی بات کریں تو جناب یہ بھی یہ دیکھا جائے کہ ہر پانچ سات سال بعد ایسے واقعات کیوں ہوتے ہیں اور آپ ان لوگوں کی طرح جو اس چیز کے خلاف ہیں۔ وہاں کتنے ہیں؟ کیا یہ ٹھیک ہے؟ مثلاً گوجرہ میں نو ہیں۔ یا آٹھ یا نو عیسائیوں کو زندہ جلا دیا گیا۔ دیا گیا تھا۔ اگر کسی کو سزا دی جاتی ہے تو وہ اے پیٹرن تشکیل دیا گیا تھا. یہ شانتی نگر میں ہوا۔ پتہ نہیں، یہ کہاں ہوا؟ تو ہم کون ہیں۔ متنازعہ کمیونٹی خود پرستی کا شکار ہے۔ ہیں ہمیں ہندوستان میں انسانی حقوق کی ضرورت ہے۔ خلاف ورزیاں نظر آتی ہیں۔ پاکستان میں نہیں نظر آئے گا۔ وہ امریکی اسے اصطلاح کے طور پر استعمال کرتے ہیں۔ ہم کرتے ہیں۔ افغانستانیت کے دوسرے ممالک آپ اس میں ہونے والے مظالم دیکھ سکتے ہیں۔ ہمارے ملک میں ایسا نہیں ہوتا۔ کیونکہ اگر آپ اس پر بات کرتے ہیں۔ اس کے نتائج ہو سکتے ہیں۔ آپ کی طرح آپ کی بیوی نے آپ سے کہا تھا کہ ایسا نہ کریں لیکن جناب ایسا کرو، تمہارے خلاف کچھ ہو سکتا ہے۔ کوئی بھی ریاست ایکشن لے سکتی ہے۔ کوئی بھی بڑھ سکتا ہے۔ ہے تو جناب ہمارے ملک میں ایسا ہی ہوتا ہے۔ انسانی حقوق کی خلاف ورزیوں کا ارتکاب دل اور گردے کا زیادہ تر کام ہوتا ہے۔ اور یہ دیکھو، یہ رکنے کا کوئی نشان نہیں دکھا رہا ہے۔ اور آپ نے مجھے بتایا کہ ہم جدوجہد کر رہے ہیں۔ مساوی حقوق کے لیے۔ اس جدوجہد کے بارے میں کوئی نہیں جانتا کوئی نتیجہ نہیں نکلا جناب۔ یہ ایک بہت بہت بہت ہے معمولی جدوجہد۔ اور دوسری چیز جناب جو آپ کے پاس ہے۔ میں نے کہا تھا کہ ہم پڑوسی ہیں۔ پڑوسیوں کی تبدیلی نہیں ہو سکتا۔ کوئی نہیں کہہ سکتا ہاں پڑوسی بدل سکتے ہیں۔ لیکن جناب ہم عالی شان کی دیانتدارانہ تعزیہ کرو میں نہیں چاہتا کہ کس سے کیا ہو۔ زیادتیاں ہوئیں۔ ہمارا سربراہ انتہا پسند ہے۔ ایئر مارشل ایک معزز فوجی افسر تھے۔ اصغر خان۔ اس نے کہا کہ جناب جتنا ان کی جنگ پاکستان کی طرف شروع ہوئی۔ سے شروع ہوا۔ پیچھے کیا رہ گیا ہے جناب؟ آپ کا ایک ایئر چیف یہ کہہ رہے ہیں۔ تو جناب ہم سنجیدگی سے نہیں لینا چاہیے۔ ان چیزوں کو اپنے اندر رکھیں نصابی کتب پر نظر ثانی کی جائے۔ بھائی اس نفرت نے ہمارا کچھ نہیں بگاڑا۔ دیا. اسے ہٹا دیں اور انسانوں کی طرح زندگی گزاریں۔ مہذب انسانوں کی طرح زندگی گزاریں۔ یہ ہم پر ہمارے واجبات ہیں اور کشمیر میں بھی جناب براہ کرم مجھے بتائیں کہ حالت کتنی سنگین ہے؟ مسئلہ کشمیر پر پاکستان۔ کتنا تعلیم یافتہ اس نے لوگوں سے کیا۔ مجھے ایک کتاب بتائیں آپ جو بھی تجویز کرتے ہیں اسے دیں۔ ایک غیر ملکی ہے۔ وہ کہتا ہے کہ کشمیر کا مسئلہ سمجھیں۔ ہے تم بتاؤ ہم اسے کون سی کتاب دیں؟ میرے خیال میں اس دوران بھی کچھ کام کرنا ہے۔ ضرورت مند دانشوروں کو آگے آنا چاہیے۔ پھر معاملہ حل ہو گیا۔ بھٹ صاحب، اب آپ یہ کہہ رہے ہیں۔ دانشوروں کو آگے آنا چاہیے۔ جناب یہ منقطع ہے۔ جی بھٹ صاحب ٹھیک ہے بھٹ صاحب آپ یہ کہہ رہے ہیں۔ کشمیر پر کتاب لکھنے کا سوچ رہا ہوں۔ دیکھیں میرے بارے میں کیا آپ میر کشمیر کے ساتھ ہیں؟ مجھے اس پر ایک کتاب ضرور لکھنی چاہیے اور ہونا چاہیے۔ فرینک، میں ایسی کسی چیز سے واقف نہیں ہوں۔ ایک کتاب ہے جس کا جامع احاطہ کیا گیا ہے۔ کشمیر کا مسئلہ جو بھی ہے اس کی ذمہ داری ہے۔ ہاں یہ اچھی بات ہے آپ کو ضرور آگے آنا چاہیے۔ دانشور دونوں لکھیں۔ لیکن افسوس کہ آپ 1000 کتابیں خرید سکتے ہیں۔ اسے بھی لکھ لیں۔ لیکن اگر آپ نے یہ سب شامل کیا ہے۔ اس کتاب کو صرف تعصبی مواد سے بھرنا اگر ہاں، تو میں نے اسے ہندوستان کی طرف سے لکھا ہے۔ ہم جائیں یا پاکستان کی طرف جائیں جی بھٹ صاحب اگر آپ میری درخواست سنیں گے تو اس کا کوئی فائدہ نہیں۔ ہو جائے گا جی آپ نے فرمایا کہ بھٹ صاحب دانشوروں کو آگے آنا چاہیے۔ کتاب اسے لکھنا چاہیے۔ اسے اس سے اندازہ ہوتا ہے۔ سنجیدگی کا۔ یعنی ایک مسئلہ جس کے بارے میں دن رات ہمیں بتایا جاتا ہے کہ زندگی ختم ہو جاتی ہے۔ موت کا مسئلہ ہے۔ ہمارا جگلر وین ہمارا شیگ ہے۔ ہے اس پر آپ 78 سال بعد یہ کہہ رہے ہیں۔ دانشوروں کو آگے آنا چاہیے۔ کوئی بھی کتاب لکھنی چاہیے۔ جناب اس سے بڑھ کر کیا ہے۔ اس بات کا ثبوت کہ ہمارے پاس آرام دہ اور پرسکون نقطہ نظر ہے۔ ہم وہ سنجیدہ نہیں ہے۔ ہم صرف اس مسئلے کو حل کریں گے۔ لوگوں کو بیوقوف بنانے کے لیے احمقوں کو استعمال کرنا چاہتے ہیں۔ بنانا۔ تو جناب آپ کا مطلب عجیب ہے۔ استحقاق ہے۔ یہ پاکستان سے ہے۔ کشمیر کے حوالے سے یہی پالیسی ہے۔ ہاں اروند تم کیا ہو؟ آپ کہیں گے؟ میرے جدائی کے تبصرے ہیں۔ شکریہ چودھری صاحب، آپ نے کہا بھٹ صاحب کہہ رہے ہیں کہ میں کتاب لکھنا چاہتا ہوں۔ یعنی آپ اس کمیونٹی کو نہیں جانتے جس مسئلے پر ہم رپورٹ تیار کر رہے ہیں وہ مسئلہ کشمیر ہے۔ جس کے لیے وہ دن رات جدوجہد کرتے ہیں۔ ہم انہیں لیکچر دیتے رہتے ہیں کہ ہم کیا ہیں۔ آج تک ہم نے کوئی کتاب سنجیدگی سے نہیں پڑھی۔ ہم نے اسے نہیں لکھا، ہم نے کمیونٹی کو اس کی وضاحت نہیں کی۔ وہ اس بات سے واقف نہیں تھے کہ مسئلہ کیا ہے۔ کشمیر کیا ہے؟ میں پاکستانی ہوں۔ دانشوروں کا انٹرویو کیا ہے۔ ایم۔ آج تک مجھے ایک دو کے علاوہ کوئی نہیں جانتا وہ یہ نہیں بتا رہا کہ پاکستان کا عالم کون ہے۔ میں نے محسوس کیا کہ مسئلہ کشمیر کا ہے۔ کیا؟ دیکھو اس وقت میں بات کر رہا ہوں۔ اگر پہلگام حملے کے بعد ایسا ہو رہا ہے تو میں میں پاکستان سے کہنا چاہتا ہوں کہ وہ دہشت گردی کی اجازت نہ دے۔ تو یہ نہ آپ کے مفاد میں ہے اور نہ ہی ہمارے، آپ کے یہ کرنا بند کرو۔ آپ لاکھ کہتے رہے۔ بلوچستان کے بارے میں لیکن جب آپ سے سوال کیا جاتا ہے۔ ان دنوں آپ کے ٹیلی ویژن چینل پر کوئی نہ کوئی آ رہا ہوگا۔ میں یہ نہیں کہتا کہ یہ اچھا طالبان ہے یا یہ برا ہے۔ یہ طالبان ہیں کیونکہ اب دونوں برے ہو چکے ہیں۔ جب تک وہ افغانی آپ کی بات سن رہے تھے۔ طالبان اچھے تھے اب تمہاری بات نہیں سن رہے ہیں۔ تو اب ان کا بھی جیلوں میں برا حال ہو گیا ہے۔ بند ٹی ٹی پی کے ہزاروں دہشت گرد مارے گئے۔ آپ کے افغان طالبان نے کس کو رہا کیا؟ جس کے لیے عمران خان نے کہا افغان کمیونٹی نے غلامی کی زنجیریں توڑ دی ہیں۔ میں آپ کو مبارکباد دیتا ہوں، کتنی بڑی کامیابی ہے۔ چودھری صاحب کا پاکستان ہمارا مشرق میں سیکولر نظام ہے۔ وہ اپنے مغرب میں ہندوستان چاہتا ہے۔ افغانستان میں شرعی حکومت چاہتے ہیں۔ یہ آدھا تیتر اور آدھا بٹیر اپنے لیے یہ اسلامی جموریہ کا الیکشن ہے۔ اندازہ لگائیں کہ افغان طالبان نے کیا کیا ہے۔ آس پاس یہ منافع نہیں ہے۔ یہ تاجد نہیں ہے۔ وہ جو آپ کو اچھا لگتا ہے وہی آپ کے لیے اچھا ہے۔ وہ بھی یہی سمجھتے ہیں۔ یہ آپ کے سمجھنے کے لیے ہے۔ اس میں 2530 سال لگے۔ وہ جو اپنے لیے نظام کو اچھا سمجھو، پاکستان کا میں اندر سے بھی وہی چیز برآمد کرنا چاہتا ہوں۔ ٹی ٹی پی کے ذریعے۔ آپ وہاں بڑی مصیبت میں ہیں۔ وہ جاتی ہے۔ اگر طالبان پاکستان کے ہیں۔ ہو سکتا ہے آپ کے اندر اسلامی جمہوریہ ہو۔ کہتے ہیں کہ طالبان الیکشن میں آئے بھائی اور آئیے اشرف غنی کے خلاف الیکشن لڑنے کی کوشش کریں۔ کون جیتتا ہے، کون ہارتا ہے۔ پھر میں قبول کرتا ہوں کہ آپ کا موقف بالکل درست ہے۔ ہے اسلامی جمہوریت ہمارے لیے اور ان کے لیے شرعی حکومت۔ اب وہ اسے لانا چاہتے ہیں۔ آپ کا یہاں شرعی حکومت نے چیخنا شروع کر دیا ہے۔ مسئلہ یہ ہے کہ یہ سچ ہے یا نہیں۔ میں نے تمہیں نہیں بتایا۔ اس نے جاڈا والا کے بارے میں بات کی۔ تو پھر کتنے مولویوں پر مقدمہ درج ہو گا؟ اسے آج تک سزا مل چکی ہے۔ یہاں تک کہ ایک کے اوپر نہیں یہ مولوی ہی ہے جس کی وجہ سے ساری غلط باتیں ثابت ہوتی ہیں۔ کام ہو گیا ہے۔ کبھی یہ خادم حسین ریوی کا چہرہ آن ہے اور ویسٹ آن ہے۔ ڈرانے کے لیے اسلام آباد میں مارچ کرنا کال کی جاتی ہے۔ کبھی یہ شرعی عدالت مجھے مرحوم بی بی 1980 کے اوائل میں بھی یاد ہیں۔ 1989 میں 90 اور 1991 میں وہ دونوں تین سال کی بات ہے۔ میں تھوڑا سا ہوں۔ کیا آپ مجھے اس میں درست کر سکتے ہیں؟ کرو۔ آپ کی شرعی عدالت نے جاگیرداری ختم کر دی ہے۔ پاکستان میں اسے جائز قرار دیا گیا۔ یعنی یہ جاگیردارانہ نظام پاکستان ہے۔ کہ شرعی عدالت نے اس پر اپنی مہر لگائی اور کہا جاتا ہے کہ اسلام کی روح کے مطابق یہ یہ بالکل جائز ہے۔ اور آپ کا ملک یہ صرف زمینداروں اور جاگیرداروں کے لیے بنایا گیا ہے۔ رونا اس کے بارے میں کیا ہے؟ سیاسی جماعت نہیں پاکستان میں جس کے منصور میں یہ بات لکھا ہے کہ ہم جاگیرداری کا مقابلہ کریں گے۔ جاگیردارانہ سفید نظام جو غلط ہے۔ سمجھتے ہیں اور وہ لوگ جو ہزاروں سالوں سے مزدور اپنی زمینوں کی قیمت ادا کرنے جا رہے ہیں۔ میں اسے ملکیت دیتا ہوں۔ یہ لڑکا نہیں ہے۔ اس قسم کا کوئی بھی سیاسی موقف جو کہ ہے۔ اگر وہ اس پر موقف اختیار کر سکتا ہے تو سب کچھ یہ وہی مولوی ہے جو کبھی افغانستان میں تھا۔ جہاد آپ کی طرف سے سبز بتی ہے۔ سگنل دیتا ہے. یہ مولوی ہے جس نے کشمیر میں جہاد کو گرین سگنل دے دیتے ہے یہ وہی مولوی ہے جس نے کبھی امریکہ کے خلاف بات نہیں کی۔ وہ جہاد کی بات کرتا ہے۔ یہ مولوی ہے جس نے کبھی وہ اسرائیل کے خلاف جہاد کی بات کرتا ہے۔ ہے تو وہ وقت کب آئے گا جب تم یہ کہو گے۔ وہ بھائی اب ہمارے پاس جو بھی مسئلہ ہے بھٹ جناب کہہ رہے تھے کہ اسلام بھی ہمیں یہ نہیں بتاتا اور پاکستانیت بھی ہمیں یہ نہیں سکھاتی وہ پڑھاتی ہے۔ جناب یہ دلیل دنیا میں کہاں ہے۔ یہ نہیں دیا جاتا۔ آپ کہتے ہیں کہ یہ پاکستان کا قانون ہمیں اس کی اجازت نہیں دیتا دے دیتے۔ یہ غلط ہے۔ جب تک تم دین کے ہو۔ غلط کام کرنے والے اسے استعمال کرتے رہیں گے۔ ان کا مقابلہ کرنے کے لیے مولوی موجود ہیں۔ تب تک مولوی تم پر بوجھ بن چکے ہوں گے۔ رہے گا. آپ کو مولوی کو نیچے رکھنے کی ضرورت ہے۔ ٹھیک ہے؟ اور پہلے تم اپنا آئینہ لاؤ۔ مجھے معاف کر دو۔ میرے آخری الفاظ اس نے مجھے اس کی یاد دلائی۔ آپ کے پاس حبیب جالب ہیں۔ کیا کہا چوہدری صاحب میں اس وقت لاہور میں ہوں۔ کچھ دن، چند مہینے، دو یا تین مہینے پہلے جلیل جمہوری میلے میں گیا۔ میرا دل بڑا میں وہاں کھڑا کچھ کر رہا تھا۔ مجھے پڑھنا چاہیے لیکن پھر میں نے سوچا کہ مجھے اروند نہیں رہنا چاہیے۔ دو۔ لیکن آج آپ کے اس پلیٹ فارم سے چند سطریں جو حبیب جالب نے ایسے لوگوں کے لیے لکھیں۔ میں پڑھنا چاہتا ہوں کہ اس کے بارے میں کیا لکھا ہے۔ تو میری آپ سے ایک گزارش ہے جو بھی آپ کا ہے۔ میں دونوں سے توجہ چاہتا ہوں۔ جی ہاں تو جالب صاحب کہتے ہیں میں نے آپ کو بہت سنا ہے۔ لیکن میری تقریر ابھی تک نہیں بدلی مولانا تقدیر مولانا خدارا آپ کا شکریہ اسے قریب رکھو، ایسا لگتا ہے جیسے یہ میرے سینے پر ہے۔ تیر مولانا میں جھوٹ نہیں بول سکتا بے غیرت ہونا میرا جرم ہے اور بس تکسیر مولانا آپ کو معلوم ہونا چاہیے کہ حقیقت کیا ہے؟ یا خدا جانے، میں نے جیمی کارٹر کو آپ کا درد سنا ہے۔ مولانا یہ زمینیں ہیں اور یہ تاجروں کی مشینیں ہیں۔ ڈاکوؤں کے دیوتا نے تمہارے لیے لکھا ہے۔ تحریر مولانا کروڑوں اکٹھے کیوں نہیں؟ فلسطین کے لیے چودھری صاحب اور بھٹ صاحب کروڑوں پر کیوں لڑتے ہیں؟ ہم فلسطین کے لیے اکٹھے نہیں بلکہ دعاؤں سے لڑ رہے ہیں۔ مولانا، صرف زنجیریں دن بھر نہیں ٹوٹتیں۔ لوگوں کو دعائیں سناتے رہیں انگریزی میں پڑھتے رہیں تم کبھی نہیں مرو گے، خود جاؤ، خود جاؤ تم نہیں لڑو گے یہ پاکستان ہے یہ وہ تاریخ ہے جو اس کا مستقبل ہے اگر آپ آپ نے کوئی مڈ کورس تصحیح نہیں کی جناب میں نے 77 ہزار قربانیوں کی بات کی۔ پاکستانیوں نے یہ قربانی دی۔ Concept G 77000 جناب یہ بھی ایک تصور ہے۔ یہ بڑی عجیب قسم کی قربانی ہے۔ قربانی صاحب، ایسا نہیں ہے کہ آپ دہی بناتے ہیں۔ آپ اسے لینے جاتے ہیں اور ایک دھماکہ ہوتا ہے اور آپ اپنی جان سے ہاتھ دھو بیٹھتے ہیں۔ چلا گیا۔ آپ جان بوجھ کر قربانی دیں۔ تو ہم بھی کہتے ہیں کہ ہاں تحریک پاکستان لاکھوں لوگوں نے اپنی جانوں کا نذرانہ پیش کیا۔ قربانی دی. بھائی یہ قربانی نہیں تھی۔ فساد ہوا اور لوگ مارے گئے۔ تو اگر ہمارے اگر پارلیمنٹ میں کوئی جان ہوتی تو وہ ہوتی ہمیں ایک کمیٹی بنانی چاہیے جو پوچھے کہ ہم اس دہشت گردی کا مقابلہ کیوں کریں۔ شکار ہوئے ہیں. اس کا ذمہ دار کون ہے؟ جو حملہ آپ نے آرمی پبلک سکول پر کیا۔ یہ ہوا کہ میں نے اس کے بارے میں بات کی۔ جناب، اس کا دفاع کرنے کے لیے احسان کی ذمہ داری لے گا۔ سلیم صافی نے کہا کہ آج ان کا احسان کہاں ہے۔ جناب، مجھے تھوڑا بتائیں کہ آپ نے انٹرویو کیسے کیا؟ اپنے اندر جھانکنا چاہیے۔ ماشااللہ تعلیم یافتہ ہے، چنگل سے بچو جناب یہ تو اجمل جیسا ہے۔ قصاب بھارتی جیل سے فرار اور آپ کے 150 کو کسی دوسرے ملک بھاگ جانا چاہئے۔ اس کے پاس بچوں کے قاتلوں کی ایک لمبی فہرست ہے۔ اب ایسا کرو گے تو کسی دن وقت کم ہو جائے گا اور میں آپ کو بتاؤں گا کہ وہ خود ببانگے ڈوہل کا دعویٰ کرتے ہیں۔ یہ تمام دہشت گردانہ حملے ہم نے کیے ہیں۔ وہ تمہاری ایجنسیوں سے بھاگ گیا۔ بانو آپ کو جیل سے اس بارے میں کیا بتائے گی؟ تقریباً 150 سے 200 قیدی جہادیوں کو چھین لیا گیا۔ اب آپ پاکستان کو کیا کہیں گے؟ پرنسپلٹی وہ کہے گا کہ میں تم پر چھوڑتا ہوں۔ تو بٹ جناب میری آپ سے ایک ہی گزارش ہے۔ ایک تعلیم یافتہ شخص ہونا آپ کے بارے میں تھوڑا سا ہے۔ کیا یہ تنقیدی سوچ کی مہارت نہیں ہے؟ اپنا کام کرو۔ وہ جو آپ کا نقطہ نظر ہے، پہلے سے تصور شدہ تصورات ہیں۔ اس کی کوشش کریں۔ آپ کو اس کے خلاف جو دلائل ملتے ہیں۔ ہاں، چلو انٹرنیٹ پر ملتے ہیں، ایک دوست کے ساتھ آپ ان کو حاصل کریں، ان پر بھی غور کریں۔ اس کا اس کے بعد اپنی متوازن رائے قائم کریں۔ یہ ہے میری درخواست۔ براہ کرم خیالات کو ختم کریں۔ براہ کرم مجھے اسے ختم کرنے دیں۔ ہاں پلیز ایک یہ کہ کتاب کے مطابق، سیاق و سباق میں میں نے اس کے بارے میں بات کی۔ اگر مواد دستیاب نہیں ہے تو یہ دونوں طرف دستیاب نہیں ہے۔ دانشوروں کو آگے آنا چاہیے۔ لیکن اگر تعصب اور تعصب سے آگے بڑھنا ہے۔ پھر بہتر ہے کہ وہ کچھ نہ کرے۔ اسے لکھنا چاہیے۔ دوسرا جو میرے دوست نے کہا یہاں کتنے لوگوں کو سزا ہوئی، کتنے؟ لوگوں نے ہجوم کے تشدد کو پکڑ لیا جو جاری تھا۔ اس میں تقریباً 300 لوگوں کے خلاف کارروائی کی گئی۔ یہ ہوا اور لوگ اب بھی جیلوں میں ہیں۔ اب! اب تک لوگ جیلوں میں ہیں اور ان کی ضمانتیں زیر التواء ہیں۔ یہ نہیں ہو رہا ہے۔ اور اب آؤ ملتے ہیں۔ ہمارے ملک پر حملہ کیا۔ ہماری جواب دیکھا۔ ہماری عمر 20 سال نہیں، ہم تین ہیں۔ مجھے اپنے پہلے بچے سے آخری بار ملے دو سال ہو چکے ہیں۔ تشدد برداشت کر رہے ہیں۔ میں سفر کر رہا ہوں۔ ہمارے لیے بم دھماکے وہ ایک عام سی بات بن چکے ہیں۔ ہم بہت کچھ جان چکے ہیں۔ میں نے دیا ہے۔ اس میں بم دھماکہ ہے۔ ایک دھماکہ ہوتا ہے۔ خودکش حملہ آور آتے ہیں۔ ہیں اور آپ نے دیکھا کہ جنگ کی انتہا خوفناک حالات میں بھی جب آپ ہم سے اوپر ہیں۔ میزائلوں کی بارش ہو رہی تھی۔ ہمارے لوگ دیکھا آپ نے کیا جواب دیا؟ سو جاؤ وہ ایک مزے دار میم بنا رہا تھا۔ وہ ہنس کھیل رہ رہے تھے۔ اب ان کے لیے تشدد وہی ہے۔ آپ نے انہیں اس کا اتنا عادی بنا دیا ہے۔ کہ وہ ایسے جنگی ماحول میں تھے۔ آپ نے اس کے نفسیاتی مطالعہ کا بھی جواب دیا۔ اسے دیکھنے کے بعد اس نے دیکھا کہ وہ سب سوچنے والی چیزیں آخر میں ایک مذاق تھیں۔ آپ نے مجھ سے پوچھا کشمیر کا سیشن کیا ہے؟ کشمیر کا مشن بہت آسان ہے۔ یہ ایک راکٹ نہیں ہے یہ سائنس نہیں ہے جسے ہم نہیں سمجھتے ارے بھائی اقوام متحدہ کی سلامتی کونسل incisura plumpet کے اوپر موجود ہے کشمیر کو آزاد کرنے کو کہو میں رہنا چاہتا ہوں، میں ہندوستان کے ساتھ رہنا چاہتا ہوں۔ پاکستان کے ساتھ رہنا چاہتے ہیں۔ اسے وہاں کروائیں، الیکشن کروائیں اور جو بھی ہو۔ کشمیری اس میں اپنی رائے دیں۔ اپنا فیصلہ دو، دونوں ملک قبول کریں۔ لینا چاہیے۔ جو اس میں اتنی بڑی بات ہے۔ کیا یہ کوئی مشکل چیز ہے؟ جی بھٹ صاحب آپ کے پاس ایک ہے۔ میں نے کتاب کے بارے میں بات کی تاکہ میرا دل تعصب سے نہ بھر جائے۔ اس کے لیے۔ جناب میں نے کب کہا کہ یہ تعصب سے بھرا ہوا ہے۔ میں سنجیدگی سے سوال کر رہا ہوں۔ آپ کے لیے کشمیر زندگی اور موت کا مسئلہ ہے۔ ہے دن رات کہا جاتا ہے کہ ہاں، یہ ہماری جگلر وین ہے۔ یہ ہے سنجیدگی کی کیفیت کہ 78 سالوں میں ایک بھی کتاب نہیں لکھی گئی۔ جس کی آپ سفارش کر سکتے ہیں۔ باہر سے بھرنا کوئی بات نہیں کر رہا۔ ہندوستانی کتاب لکھتے ہیں۔ مت لکھو۔ پاکستان لکھنا چاہیے۔ نہیں جب آپ ایسا ایشو بناتے ہیں اور پیش کرتے ہیں۔ یہ ایسا ہے جیسے ہم زندہ نہیں رہ سکتے جگلر وین ہے۔ دوسرا صاحب آپ یہ کہہ رہے ہیں۔ ہاں جاڈاوالا میں ابھی بھی کیس چل رہے ہیں۔ صاحب گوجرہ میں نو افراد کو قتل کیا گیا۔ جب تک یہ صاحب زندہ تھے سب بری ہو گئے۔ جگہ کوئی مسئلہ نہیں ہے۔ کتنے احمدی مارے گئے؟ گیا؟ ابھی سرگودھا میں ایک ڈاکٹر کو قتل کر دیا گیا۔ کہ وہ احمدی تھا۔ اور براہ کرم کسی احمدی سے ان کو کتنا انصاف ملتا ہے ذرا بات کریں۔ اور ان پر کتنے مظالم ڈھائے جا رہے ہیں۔ تو جناب کشمیر پر عیسائیوں کا میلہ ہے۔ اس کا بھی ایک کلپ ہے پلیز اسے دیکھیں اس میں ایک پاکستانی عالم بھی تھا۔ میں ان کے پروگرام میں گیا، یہ ایک کتاب کی رونمائی تھی۔ اس کا نام احتشام غالبان تھا، وہ مکمل روشن تھا۔ وہاں ایک عالم نے بھی یہی کہا۔ اقوام متحدہ کی قراردادوں کے عیسائی میلے نے کہا میں اسے پاکستان کے ہر بینڈ میں بہت سنتا ہوں۔ قراردادوں کی بات کرتے ہیں لیکن انہیں کوئی نہیں پڑھتا اگر آپ نے اسے پڑھا ہے تو مجھے پرواہ نہیں ہے۔ مجھے تسلیم کرنا پڑا کہ میں نے اسے نہیں پڑھا، شکریہ میرا نام ایشا شیام اور میں مکمل روشن ہوں۔ یہاں امریکہ میں اسکالر۔ آہ آف یقیناً مجھے کتاب لکھنی ہے لیکن میری مشاہدات پریزنٹیشن پر مبنی ہیں۔ کرسٹین کے ذریعہ تیار کردہ۔ آہ بدقسمتی سے میں میں سے کچھ پایا وہاں بحث کرنے کے لئے بہت کچھ ہے کے بارے میں لیکن میں سمجھتا ہوں کہ میں ایک ہوں۔ حصہ لینے والا صرف میں ہی استعمال کرسکتا ہوں۔ محدود وقت۔ مجھے ان میں سے کچھ ملا دلائل بہت منتخب طریقے سے استعمال ہوتے ہیں۔ تصویر کا صرف ایک رخ پیش کیا گیا۔ مثال کے طور پر، ایک دو مثالیں. آپ نے کہا کشمیر پاکستان کا کوئی قانونی جواز نہیں ہے۔ کشمیر کی بنیاد پر۔ میں سمجھا نہیں ہمارے پاس کس قسم کی قانونی بنیاد ہونی چاہئے؟ آپ اقوام متحدہ کی قرارداد کا ذکر کیا۔ آپ نے ذکر کیا ہے کہ بھارت نے a سلامتی کونسل اور سلامتی کونسل نے کہا کہ کشمیریوں کو جانے دیں۔ کشمیر کا فیصلہ مجھے کرنے دو Playlicide وہاں۔ تو یہ قانونی بنیاد ہے۔ جاؤ اور کشمیر سے پوچھو گھر کے ساتھ وہ چاہتے ہیں۔ جاؤ سنگل سیکیورٹائزیشن ہے ٹھیک ہے سیکیورٹی ویب سائٹ قرارداد سنگلز اصل دعوی کے لئے سیکورٹی پاکستان مستقل دو اصل میں تین مراحل مشروط پہلا قدم فرض کیا جانا چاہئے۔ ہمیں بھی اس کے اطمینان سے ملیں۔ قائم رہو پھر شرط لگو اس سے مطمئن بھارت کو کمزور کر کے ساتھ ساتھ فرض کریں۔ ایک موجودگی کی اجازت کے ساتھ dimilite پاکستانیوں کے خلاف اپنا دفاع کریں۔ جارحیت تیسرا جس کے دونوں دو قدم ہیں۔ ترتیب میں اطمینان کے لیے جگہ لی گئی۔ اس کے لیے ترجیح دینا دی پاکستان پاکستان کی طرف سے حالت اصل میں بنائیں عالم نے ایک تقریب میں جا کر یہ بات بتائی وہ وکیل بننے گیا ہے۔ لیکن جناب آپ کیا آپ نے اقوام متحدہ کی قراردادیں پڑھی ہیں کہ 47 سے 2 کیا کرتا ہے؟ بی فرینک ہر کوئی سر 47 نہیں پڑھتا ایک قرارداد تھی، ٹھیک ہے؟ ذیلی دفعہ کیا کہتی ہے؟ براہ مہربانی مجھے بتائیں آپ کس کے جوہر سے معذرت کی بات کر رہے ہیں۔ وہ قرارداد جو اپریل 47، 48 میں آئی تھی۔ اس کا کیا مطلب ہے، اماں مجھے تھوڑا بتاؤ بھٹ صاحب بتائیں، بھٹ صاحب اس نے صرف اتنا کہا کہ اس نے کوئی پڑھا نہیں ہے۔ یہ تو ٹھیک ہے لیکن پاکستان میں سحاب جیسے لوگ ہیں۔ کروڑوں ہیں جنہوں نے یہ قرارداد نہیں کی۔ پڑھیں۔ سر جی اپریل 1948 میں متحدہ قومی سلامتی کونسل قرارداد منظور اور رائے شماری کے لیے ایک شرط رکھی گئی کہ استصواب رائے کیسے ہو گا۔ یہ ہو جائے گا اور اگر آپ آج چاہتے ہیں تو آپ جا سکتے ہیں اور آپ اسے اقوام متحدہ کی ویب سائٹ سے پڑھ سکتے ہیں۔ اس کے پاس ہے۔ اس میں کہا گیا کہ سب سے پہلے پاکستان اپنی سرزمین سے غیر کشمیریوں کو نکالے۔ آبادی اور اپنی تمام قوتیں نکال لیں۔ نکالنا پڑے گا۔ تو اقوام متحدہ میں سوال پوچھا گیا بھائی ہمیں فرلوز کیوں مل رہی ہیں؟ کیا مجھے اسے مکمل طور پر نکالنا ہوگا؟ اور بھارت کو بتایا گیا۔ کہ بھارت بھی افواج کا بڑا حصہ ہے۔ وہ نکال لے گا۔ زیادہ تر فروز نکالیں گے لیکن امن و امان برقرار رکھنے کے لیے تھوڑی طاقت بھارت اسے جاری رکھ سکتا ہے۔ اس کا پاکستان نے اس پر اعتراض کیا۔ تو اقوام متحدہ نے کہا کہ بھارت اس کا مرکز ہے۔ ہے آپ یہ جانتے ہیں نا جواہر لال نہرو؟ یہ مسئلہ اقوام متحدہ میں اٹھایا گیا۔ تو اس نے کہا کہ وہ مہاکاوی ہے اور تم وہ ایک جارح ہے۔ تو آپ اپنا کام مکمل کر سکتے ہیں۔ واپس لے لیں گے۔ بھارت کو قانون کی اجازت دی جائے گی۔ اختتامی ترتیب کو برقرار رکھنے کے لیے تھوڑا سا فرش رکھ سکتے ہیں۔ پھر اس کے بعد ایک بار جب آپ پہلے دو مراحل مکمل کر لیں۔ بعد میں وہاں بین الاقوامی جو اس وقت مبصر ہیں۔ وہ کیا کہتے ہیں؟ ان کی نگرانی میں دورے آگ لگ جائے گی۔ اس لیے پاکستان نے یہ شرائط رکھی ہیں۔ بعد میں قبول کرنے سے انکار کر دیا کہ ہم میں اسے باہر نہیں نکالتا۔ جب آپ کے پاس نارمن کا تیل ہوگا۔ جب آپ نے بس چلائی تو رادھا ناچیں گی۔ اس دن کشمیر۔ پھر ایک طویل فہرست یہ اقوام متحدہ کی قرارداد ہے۔ اس میں آپ کو بار بار یاد دلایا جاتا ہے کہ آپ ہیں۔ یہ کرو، تم یہ کرو۔ جب پاکستان نے یہ کہا اس نے ماننے سے انکار کر دیا۔ اس کے بعد 65 1976 میں پاکستان نے کشمیر پر جنگ چھیڑ دی۔ لیا. جناب جب آپ کسی مسئلے پر لڑتے ہیں۔ پھر جو بھی ہو آپ کا پچھلا ماضی یہ آپ کے ارادے ہیں، آپ ان کو خراب کرتے ہیں۔ پہلی جنگ عظیم کے بعد ورسائی کا معاہدہ اگر ایسا ہوا تو آپ کو ہرجانہ ادا کرنا پڑے گا۔ وہ گر جاتے ہیں۔ جب آپ جنگ ہاریں گے تو آپ کو بہت نقصان اٹھانا پڑے گا۔ کچھ کرنا پڑے گا۔ تو پھر یہ مسئلہ ہے جس دن وہاں 1965 کی جنگ چھڑی تھی۔ آپ کے قتل عام کے بارے میں تمام چیزیں وہ پیچھے رہ گئی تھی۔ پھر جب یہ 71 ہو گیا اور ہم اسے مکھن کا مسئلہ بنا دیا۔ اس کے بعد بھی یہ مسئلہ ہمیشہ کے لیے دفن ہو گیا ہے۔ کارگل کے بعد بھی اس پر بات ہوئی۔ تو جب 20001 میں ہمارا فوجی تعطل تھا۔ کوفی عنان صاحب، انہوں نے کہا ہے کہ وہ کیا ہے۔ کہ رائے شماری کا مسئلہ مکمل طور پر بے کار ہے۔ اب. میں ہندوستان کے لیڈروں سے پوچھوں گا۔ پاکستان لاہور کے جذبے سے کام کرے گا۔ پر اختلافات کو دور کرنے کا اعلان کشمیر تو سر جی یہ آپ کے لیے متحدہ ہے۔ اقوام متحدہ میں مسٹر کوفینان کا بیان ہاں، آپ کو یہ بھی مل جائے گا۔ شاید یہی وجہ ہے۔ دنیا اب کشمیر کے مسئلے پر اس طرح بات کر رہی ہے۔ آپ ایسا نہیں کرتے اور آپ کو کمیونٹی کو اس بارے میں بھی آگاہ کرنا چاہیے۔ ایسا کرو کہ بابا برادری خود قائد اعظم محمدی ہے۔ نومبر 1947 میں جب علی جناح ماؤنٹ بیٹن اس رائے شماری کی تجویز لے کر آئے چنانچہ قائداعظم نے اسے یکسر مسترد کر دیا۔ دیا. ہاں اور لیکن جناب بات یہ ہے آپ کی جناب پلیٹ میں کشمیر پیش کیا جا رہا تھا۔ بھی میں نے حوالہ دیا۔ پاکستانی ذرائع کے مطابق اس کا حوالہ دیا۔ میں نے یہ کسی ہندوستانی کے ساتھ نہیں کیا۔ یہاں تک کہ چوہدری محمد علی کی کتاب ایمرجینس پاکستان میں یہ چیز موجود ہے۔ اور سردار، کشمیر کے اے جے کے پہلے صدر ابراہیم ان کی کتاب کشمیر ساگا ہے۔ اس میں موجود ہے۔ اور یہ بھی لکھا ہے لیاقت علی خان نے مجھ سے پوچھا کیا کر رہے ہو؟ آپ اس پیشکش کے بارے میں کیا کہہ رہے ہیں؟ میں نے کہا ہاں یہ بہت اچھی پیشکش ہے۔ یہ قبول کرو لے لو۔ تو وہ مجھے کہتے ہیں کہ یہ اچھا ہے۔ غلام محمد اس سے اتفاق نہیں کرتا۔ فنانس وہ وزیر تھے۔ تم جاؤ اور اسے پہنچا دو کرو میں غلام محمد کے پاس گیا اور میں نے بہت کوشش کی لیکن وہ نہ جھکا انچ وہ ذرا سا بھی نہیں ہلا۔ کہتے ہیں کہ بعد میں مجھے وہاں سے پتہ چلا سونے کی اینٹیں پہنچ جاتی تھیں۔ ایک بہادر پائلٹ اس کا نام سڈنی کاٹن تھا۔ وہ سونے کی اینٹیں حیدرآباد دکن سے کراچی لاتے تھے۔ ان میں غلام محمد کا حصہ تھا۔ جناب، ان غلطیوں کے بارے میں بھی معلومات حاصل کریں۔ اس کمیونٹی کو سچ بتائیں Hakayak کی طرف سے خبردار کیا جائے. ان کو سچ بتاؤ Pumble اسے بلی میں مت رکھیں اور جناب ہمارے پاس بہت ہے۔ ایم بی نقوی سینئر صحافی تھے۔ جولائی 88 میں ہیرالڈ میں ایک بڑا چھڑکاؤ تھا۔ ایک بہترین مضمون لکھا اس میں دشمنوں نے کہا کہ 65 میں ہم طاقت کا استعمال کرکے کشمیر حاصل کرنے کی کوشش کی۔ وہ اسی لمحے ہمارے ساتھ ایسا کرنے میں ناکام رہی اسے اتنا بہادر ہونا چاہیے تھا کہ ہم یہ کہہ سکتے بہت ہو گیا ہمیں اب آگے بڑھنا چاہیے۔ Commies آگے بڑھتے ہیں، وہ اٹکے نہیں رہتے میں نے یہ مضمون اس میں دفن کر دیا ہے جناب بعد میں آغا شاہی صاحب سے ملاقات ہوئی۔ طالب علم میں نے اسے سر ایم بی نقوی سے کہا یہ لکھا ہے، کیا کہتے ہیں؟ انہوں نے کہا کہ ایم بی نقوی اچھے ہیں۔ میرے دوست لیکن یہ بات ہے۔ پنجابیوں کو کون سمجھائے گا کہ وہ 60% ہیں جناب یہ پنجابیوں کے لیے پاکستان کا مسئلہ ہے۔ مجھے انہیں سمجھانا ہے، مجھے انہیں تعلیم دینی ہے۔ خدا کے لیے ان سے کہو کہ ٹرک کی بتیوں کو نہ دیکھیں پیچھے نہ ہٹیں اور انہیں ان کے مسائل حل کرنے دیں۔ مجھے ایسا کرنے کا موقع دیں، وہ بہت بہتر کے مستحق ہیں۔ وہ بہتر تعلیم کے مستحق ہیں وہ بہتر کے مستحق ہیں۔ وہ سہولیات جو کشمیر کو بہتر صحت فراہم کرتی ہیں۔ کشمیر کر کے انہیں اس طرح بیوقوف نہ بنائیں کافی بنانا کافی ہے اگر آپ کا بہت بہت شکریہ کچھ کہنا چاہتا ہوں جی ایک بات کہوں گا۔ پھر بھٹ صاحب کو بھی آپ کی طرح کہنا چاہیے۔ نوکرانی کے طور پر کام کرتے ہوئے میں دو دن لاہور میں تھی۔ تین مہینے پہلے ایک کسان میرے پاس آیا اور وہ آتا ہے اور کہتا ہے جی جناب یہ اچھا کشمیر نہیں ہے۔ اگر آپ چاہیں تو ڈی اے پی کھاد کا ریٹ تھوڑا کم کر دیں۔ میں نے پوچھا، ریٹ کیا ہے؟ اگر آپ ڈی اے پی کے بارے میں کچھ نہیں کہتے تو وہ کہے گا کہ سر ڈی اے پی ہندوستان کو 14000 روپے دیے گئے ہیں۔ اندر 1350 بیگ ملیں ہیں لہذا کاشتکاری ایک بڑی بات ہے۔ اگر ایسا ہو جائے تو غلطی سمجھیں جناب آپ کو اس کسان کے بارے میں سوچنا چاہیے، اس کے بارے میں سوچنا چاہیے جو 1000 روپے میں فروخت کرتا ہے۔ اگر وہ کسی قلعے میں ڈی اے پی ڈالتا ہے تو دو کم از کم تین تھیلے یا دو یا تین تھیلے درکار ہیں۔ اس کے بعد اس کی گندم کی فصل کا کیا ہوگا اور اس کی وجہ سے جب میں موٹر وے سے نیچے جا رہا ہوں تو میں نے کہا اس لیے اس بار گندم کی بوائی کم ہوئی ہے۔ پاکستان میں اتنے نہیں ہیں جتنے ہونے چاہئیں اگر ایسا ہوا ہے تو میرے لیے مسئلہ یہ ہے کہ آپ جناب مجھے اندازہ نہیں کہ مجھ پر اس کا کتنا بوجھ ہے۔ مزید تنقید یہ ہے کہ میں جب میں پاکستان کے ساتھ امن کی بات کرتا ہوں۔ ہندوستان مجھ سے زیادہ امن کا ذریعہ ہے۔ میں آپ سے نہیں ملوں گا جناب ہاں لیکن صاحب پلیز آخر میں غلام محمد صاحب کی حرکات بہت ہیں۔ یہ مجھ میں ہے لیکن تم نے مجھے ایک نیا دیا ہے۔ بتایا گیا ہے کہ وہ یہ اینٹیں لے رہا ہے۔ جوناگڑھ میں آپ سونے کی اینٹیں وغیرہ دیکھ سکتے ہیں۔ ایک اصول پر عمل کیا جاتا ہے اور دوسرا اصول اس کے عین مطابق کشمیر میں ہے۔ ہم اسے اپناتے ہیں۔ یہ بہت بڑا ظلم اور جبر ہے۔ بات یہ ہے۔ ایک طرف آپ کہتے ہیں کہ وہاں کیونکہ حکمران ہندو تھا۔ اس نے مجھے الحاق کی دستاویز دکھائی جو کہ تھی۔ میں نے بھارت سے معاہدہ کیا اور دوسری طرف آپ نے کہتے ہیں کہ اب مسلمان حکمران ہیں۔ تم اس کی بات نہیں سن رہے ہو۔ ایک اصولی اصول اصول دونوں ریاستوں کے لیے یکساں ہونا تھا۔ ضرورت اس وقت دیکھو جب ہمیں آزادی ملی آپ کو میری 750 شاہی ریاستوں کا خیال ہے۔ تھیبان 750 تو نہیں نہیں نہیں 552 یا یہ تقریباً 565 یا 550 تھا۔ ٹھیک ہے؟ معذرت ٹھیک ہے آپ نے اسے یہ اختیار دیا ہے۔ تھا. اسے اختیارات دیے گئے کہ اگر وہ چاہے تو بھارت اس کے ساتھ جا سکتے ہیں یا پاکستان کے ساتھ بھی اگر وہ چاہے تو اسے آزادانہ طور پر پوسٹ کر سکتا ہے۔ لیکن آپ کے پاس نہیں ہے۔ کشمیر میں یہ اصول اپنایا گیا کہ حکمران جو حکمران تھا ٹھیک سبز ہے سنگھ صاحب، وہ ہندو ہیں اس لیے اس نے وہ زندگی گزاری۔ ہمارے ساتھ دستاویزات پر دستخط کئے۔ اور دوسری طرف مسلمان حکمران جو ہیں۔ میں نے اسے زبردستی اپنے ساتھ جوڑ لیا۔ جوناگڑھ کو۔ وہاں آپ کا ایک اصول ہے جو آپ نے اسے نافذ کیا اور دوسری جگہ آپ نے دوسرا نافذ کیا۔ ہم اصولوں کو اسی طرح لاگو کرتے ہیں جیسے وہ ہیں۔ کشمیر کا حل بھائی رائے شماری ہے۔ کشمیریوں کی رائے انہیں زبردستی اپنے پاس رکھے بغیر برقرار نہیں رکھ سکتے. آپ اقوام متحدہ سے ہیں۔ قرارداد لے آئے۔ بین الاقوامی قانون لایا۔ اپنا قانون بنائیں۔ جب تک یہ ہے میں نے تم سے کہا۔ ان کی آزادی کے بغیر اسے اپنے پاس رکھنا چاہوں گا۔ وہ تمہارا ہے۔ ہم ان کے خلاف تحریک چلاتے رہیں گے۔ بھٹ صاحب بھٹ جناب، بھٹ صاحب، بھٹ صاحب، مجھے یہ بھٹ بتائیں سر بھٹ صاحب دنیا کے اندر کیا ہے۔ کیا ہے؟ میرا ایک سوال ہے، معذرت، میرا ایک سوال ہے۔ کیا کیا دنیا میں کوئی ایسا ملک ہے جسے آپ کال کر سکتے ہیں؟ اس نقطہ نظر سے، ہم اس بات کا یقین کر سکتے ہیں جو کہ استصواب رائے ہے۔ جب یہ آپ کے سامنے ہے۔ یہ آپ کے دفتر خارجہ کے لوگ ذہن میں رکھیں گے۔ وہ ایک آدمی ہے اس نے خود مجھے بتایا کہ کب ہم جا کر باتیں کرتے اور وہ ہمیں بتاتا کہتے تھے کہ ایکسی لینس آپ کو معلوم ہے کہ آپ نے ریڈ دی ہے۔ دستاویزات جو آپ نے پڑھی ہیں یہ آپ نے پڑھی ہیں۔ وہ کیا کہتے ہیں پھر کہتے ہیں ہم ہیں جناب ہمارا سر شرم سے جھک جاتا تھا، ایسا ہے تمہارا آپ کو پہلی بار بہت سی چیزیں ملیں گی۔ آپ جانتے ہوں گے، میں آپ کو یہ بھی بتاتا ہوں۔ جناح صاحب کا بھی ممبئی میں اپنا گھر تھا۔ کیا وہ اسے اپنے پاس رکھنا چاہتا تھا؟ میں نے سوچا کہ لاکھوں لوگوں کو مارنے کے بعد ان کی زمین سے کروڑوں کو اکھاڑ پھینکنا بعد میں اس کی اپنی وابستگی، اس کی محبت اپنے گھر سے اتنا دور تھا کہ وہ میں نے بھارتی حکومت سے کہا کہ میرے بڑے بھائی اس سے اچھی یادیں ہیں، اور بھی یادیں ہیں۔ تو تم یہ گھر کسی کو بیچ دو گے نا؟ وہ گھر جو ہم نے آج تک کسی کو نہیں بیچا۔ ویسے جینا صاحب کے پاس بھی ایسے بہت ہیں۔ ایسی غلطیاں ہیں جن کے بارے میں اگر آپ کو پتہ چل جائے تو میں کتاب کی سفارش کروں گا۔ ایک سیکنڈ انتظار کرو میں اپنے خول سے باہر آتا ہوں۔ یہ کور میرا ہے۔ اس کا تھوڑا سا حصہ پھٹا ہوا تھا۔ تو یہ ڈاکٹر یہ ڈاکٹر اشتیاق کی کتاب ہے۔ ضرور براہ کرم اسے پڑھیں۔ جناح کی کامیابیاں، ناکامیاں اور تاریخ میں رول کریں۔ اس کا اس کے اندر آپ کو جناح صاحب کے بارے میں بھی معلومات ملیں گی۔ آپ کو بہت کچھ ملے گا۔ جناح مارچ 1930 میں سر کانپور میں تقریر کر رہے تھے۔ شکیل چودھری صاحب آپ بتائیں۔ اس میں مارچ 41 جناح صاحب نے 30 مارچ 1941 کو کہا تھا۔ جی ہاں اور اس میں اس نے کہا کہ میں 6 سال کا ہوں۔ کروڑوں مسلمانوں کو آزادی دلانا ہندوستان میں 2 کروڑ مسلمان ہیں۔ میں قربانی دینے کے لیے تیار ہوں۔ مکمل پوری بات یہ ہے کہ میں آپ کو بتاتا ہوں۔ میں متن پڑھ کر بتاؤں گا۔ ٹھیک ہے بس یہ بات انہوں نے 30 مارچ کو کانپور میں اپنی تقریر میں کہی۔ 1941 20 ملین کی قربانی دینے کو تیار مسلمان جناز ٹو میں کمزور ترین چنک قومی نظریہ یہ تھا کہ یہ ایک تہائی چھوڑ دے گا۔ کانگریس کے دور میں مسلمانوں کا خطاب مسلم سٹوڈنٹس فیڈریشن کا اجلاس کانپور میں انہوں نے ایک ابتدائی تبصرہ کیا۔ جہاں 7 کروڑ مسلمانوں کو آزاد کرانا ہے۔ ایک اکثریت تھی جس کے لیے وہ تیار تھا۔ شہادت کی آخری رسم ادا کریں اگر ضروری ہے اور 2 کروڑ مسلمانوں کو رہنے دیں۔ توڑ دو کہ میں مسلم اکثریتی ہوں۔ صوبوں میں سات کروڑ مسلمان ہیں۔ ہمیں کانگریس کے اس راج سے نجات دلائیں۔ دو کروڑ مسلمانوں کو موت کے گھاٹ اتار دینا میں بھی تیار ہوں۔ کوئی جناح صاحب سے پوچھے۔ کیا آپ کی کوئی ذاتی رائے ہے یا کوئی بھیڑ؟ بکریاں وہ ہیں جنہیں آپ توڑتے ہیں۔ اسے مکمل کرنے کے لیے تیار ہیں؟ کیا آپ ان کے مالک ہیں جناب؟ نہیں آپ نہیں کرتے۔ جی بھٹ صاحب آپ نے جوناگڑھ کی بات کی ہے۔ اگر میں نے ایسا کیا تو بھی میں اصولوں کے خلاف جاؤں گا جناب۔ آپ پہلے کس کے بارے میں بات کرتے تھے؟ وایلیٹ اسے ایک اصول اور اپنا اپنا سفیر کہیں۔ کہا جا رہا ہے کہ اس نے کشمیر پر ہمارا مقدمہ ختم کر دیا۔ قبول کریں میں منطق کے تحت حیران ہوں۔ کہ آپ دوبارہ اسی دلیل کی طرف لوٹ آئے آپ کا تسلسل مسلم نہیں ہے۔ کوئی اکثریت نہیں ہے اور آپ دفاع نہیں کر سکتے میں اسے بتا سکتا ہوں اور آپ وہاں جانتے ہیں۔ ریفرنڈم میں پاکستان کو کتنے ووٹ ملے؟ ہم ایک دوسرے سے ملے۔ کیا آپ نے اس مسئلے کا مطالعہ کیا ہے؟ جوناگڑھ میں۔ ہاں بھائی، جوناگڑھ میں۔ جی ہاں ہاں ہاں۔ تو یقینی طور پر وہاں سے ووٹ کیسے ڈالیں۔ کیا پاکستان کو ان سے ملنا تھا؟ وہاں، مسلمان اقلیت ہوتی۔ جی جناب۔ 91 ووٹ پاکستان نے ہم سے وہاں ملاقات کی۔ میں یہ چیز میں نہیں کر رہا جناب۔ میں اس بارے میں بات کر رہا ہوں۔ میں میں کہہ رہا ہوں کہ کشمیر میں آپ نے یہ دیکھا ہے۔ یہ اصول اپنایا کہ وہاں کا حکمران کون ہے۔ وہ ہندو ہے اور انہوں نے کشمیر کا خطہ بھارت کے ساتھ بانٹنے کا مطالبہ کیا۔ کرنے کا فیصلہ کیا۔ آپ نے اسے قبول کیا۔ پر دوسرا ہاتھ جونا گڑھ کا رولر تھا۔ وہ مسلمان تھا۔ تم اس کی بات نہیں سن رہے اور وہ بحث کر رہے ہیں کیونکہ یہاں ہندو ہیں۔ اگر اکثریت ہے تو ہم نہیں مانیں گے۔ میں مانتا ہوں۔ یہ براہ راست نہیں جناب، اشارہ ہے۔ میں کر رہا ہوں۔ ہاں لیکن صاحب یہ تضاد کس نے شروع کیا؟ براہ مہربانی ایماندار ہو. براہ کرم دانشورانہ طور پر ایماندار بنیں۔ ڈبلیو ایچ او؟ میں اس اصول کے خلاف لڑنے لگا ورجی؟ میں آپ سے ایماندار ہونے کی توقع کرتا ہوں۔ آپ دیکھو میری بات سنو۔ براہ مہربانی میری بات سنو۔ براہ کرم میری بات سنیں۔ آپ جوناگڑھ، ہندوستان کے الحاق کو قبول کرکے واضح پیغام دیا کہ ہم آپ کے ساتھ ہیں۔ اچھے تعلقات نہیں چاہتے۔ ہم آپ کے لیے ہیں۔ ہم جہاں کہیں بھی مسائل پیدا کریں گے۔ آپ نے جودھپور بھی آزمایا۔ وہ بھی ہندو ہے۔ یہ اکثریتی ریاست تھی۔ جودھ پور کے مہاراجہ کو میں نے آپ کو ایک خالی کاغذ دیا ہے، آپ جو شرائط چاہیں لکھ لیں۔ ضرورت ہے جناب آپ کا دو قومی نظریہ کہاں گیا؟ آپ ہر قدم پر دو قومی نظریہ کو کیوں مانتے ہیں؟ وہ اس کے خلاف احتجاج کر رہے ہیں۔ اور کہتے ہیں جناب ہمارا اصول دو قوم پیاسی ہے۔ تو جناب کشمیر لیکن میں نے کتنی بار کہا ہے کہ مجھے پلیٹ دو میں اسے اپنے پاس رکھ کر حاصل کر رہا تھا۔ تم نے نہیں لیا؟ صاحب اگر آپ کو بس یاد آتی ہے۔ آپ کی بس چھوٹ گئی۔ کیوں نہیں آپ کو یہ قبول ہے؟ ہم اس پر کب تک ہیں کیا آپ جھگڑتے رہیں گے؟ تو بہت شکریہ لیکن صاحب اروند صاحب آپ کا بہت شکریہ۔ شکریہ شکریہ

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Python Foundations and Generative AI Applications

    Python Foundations and Generative AI Applications

    This text provides a comprehensive guide to Python programming, starting with fundamental concepts such as installing Python, understanding variables, data types, operators, and flow control statements like decision making and loops. It progresses to core data structures like tuples, lists, dictionaries, and sets, explaining their uses and manipulations. More advanced topics covered include object-oriented programming (classes, objects, inheritance) and file handling, with practical demonstrations using the PyCharm IDE. The document also explores data structures and algorithms, detailing arrays, stacks, queues, linked lists, and essential sorting (insertion, quick, merge) and searching (linear, binary) techniques. Finally, it touches upon machine learning libraries like NumPy, Pandas, Matplotlib, and Seaborn for data analysis and visualization, as well as an introduction to generative AI and using libraries like Flask and OpenAI for applications, alongside web automation with Selenium and GUI development with Tkinter.

    Python Fundamentals: Core Concepts and Structures

    Based on the sources provided, Python fundamentals cover the essential building blocks you need to start coding in Python. This module aims to introduce you to Python’s syntax and core concepts.

    Key topics discussed under Python fundamentals include:

    • Installing Python and Setting up the Environment: The journey begins with installing Python onto your system. Python is platform-independent, meaning you can download it for Windows, Linux, or Mac operating systems from the python.org downloads site. After installing Python, you need an Integrated Development Environment (IDE) to make coding easier. The sources mention PyCharm and Anaconda as IDE options for Python. Anaconda is a complete toolkit often used for machine learning and data science tasks, providing libraries like NumPy, pandas, matplotlib, and seaborn, along with an IDE called Jupyter notebook. Jupyter is a browser-based interpreter that allows interactive work with Python. You can open Jupyter notebook via the Anaconda prompt by typing jupyter notebook.
    • Variables: Variables are used to store data when working with any programming language. In Python, you can assign values to variables, and these values can be changed later.
    • Data Types: Every variable in Python has an associated data type. The sources highlight four main built-in data types: Integer, Float, Boolean, and String. It also mentions a Complex type, represented with ‘j’ instead of ‘i’. Examples are given for creating integer and complex variables and checking their type using the type() method.
    • Operators: Operators help perform operations on data. The sources discuss arithmetic operators, relational operators, and logical operators. Arithmetic operations are demonstrated, such as division. Relational operators help find the relationship between two operands, like checking if one is less than or greater than another.
    • Python Tokens: A Python token is the smallest meaningful component in a program. Combining tokens forms your Python code. The basic Python tokens are keywords, identifiers, literals, and operators.
    • Keywords: Special reserved words that cannot be used for other purposes, such as variable, function, or class names. Examples include if, def, del, True, False, while, not, or, return. The Python interpreter recognizes these keywords, often highlighting them (e.g., turning green). Trying to assign a value to a keyword like def results in an error.
    • Identifiers: Names used for variables, functions, or objects. There are basic rules for identifiers: they cannot contain special characters (except underscore), are case-sensitive, and the first letter cannot be a digit. The case sensitivity means N1 and n1 are treated as different variables.
    • Literals: These are constants, meaning values that do not change. Whatever values you store inside a variable are called literals. For example, in N1 = 10, the value 10 is a literal.
    • Flow Control Statements: These statements determine the order in which program code is executed. An example of an if-else statement is shown, demonstrating how to check a condition (e.g., if variable B is greater than variable A) and execute a block of code if the condition is true. Loops are also mentioned in the context of applying operations to elements in a list.
    • Core Data Structures: Python fundamentals introduce several basic data structures beyond single variables, enabling you to store multiple values.
    • Tuples: Described as continuous sequences of elements. Indexing starts from zero. When slicing, the starting index is inclusive, and the ending index is exclusive. Functions like max() can be used on tuples.
    • Lists: A new list is created using square braces. Lists can store different types of data values. Like tuples and other data structures in Python, indexing for lists starts from zero. You can extract individual elements or a series of elements using indexing and slicing, keeping in mind the exclusive nature of the ending index in slicing. Lists are mutable, meaning you can change elements after creation, unlike tuples (though tuples aren’t explicitly stated as immutable in the source excerpts, lists are explicitly called mutable in comparison to dictionaries which are also mutable). You can modify elements by assigning a new value to a specific index. List methods include append() to add an element to the end, pop() to remove an element (which follows LIFO – Last In, First Out – order, useful for implementing stacks), sort() for alphabetical sorting, and reverse(). You can also repeat list elements using multiplication. List implementation can be used to create a stack.
    • Dictionaries: An unordered collection of key-value pairs enclosed within curly braces. Dictionaries are mutable. Elements can be removed using the pop() method by providing the key.
    • Sets: An unordered and unindexed collection of elements enclosed within square braces (though the source excerpt says square braces, the example uses curly braces which is standard for sets in Python). Sets allow finding common elements using the intersection() method.

    By the end of this section, you should be comfortable writing simple Python programs and ready for more complex challenges.

    Python Data Structures Overview

    Based on the sources, discussing data structures involves exploring how data can be organized and stored to be used efficiently in programming. Understanding data structures is key to managing your data effectively. In Python, various data structures are available, ranging from built-in core types to more complex structures used in algorithms and specific libraries.

    Here’s a breakdown of the data structures discussed in the sources:

    Core Python Data Structures Python’s fundamentals introduce several basic data structures that allow you to store multiple values, unlike single variables which store only one value. You can store elements of different types within these data structures.

    • Tuples:
    • Tuples are described as a collection of elements enclosed within round braces.
    • They are an ordered collection.
    • Tuples are immutable, meaning that once the elements inside a tuple are created, you cannot change them later on.
    • Indexing for tuples starts from zero. You can find the length (number of elements) of a tuple using the len() method.
    • You can also concatenate (attach elements of) two tuples.
    • Lists:
    • Lists are an ordered collection of elements enclosed within square braces.
    • Unlike tuples, lists are mutable, which means you can actually change the values present in a list after it’s created.
    • Lists can store different types of data values.
    • Indexing for lists starts from zero, similar to tuples and other Python data structures. You can extract individual elements or a series of elements using indexing and slicing.
    • Common list methods mentioned include append() to add an element to the end, pop() to remove an element (following a Last In, First Out – LIFO – order), sort() for alphabetical sorting, and reverse().
    • You can also repeat list elements using multiplication.
    • Lists can be used to implement a stack.
    • Dictionaries:
    • Dictionaries are an unordered collection of key-value pairs.
    • They are enclosed within curly braces.
    • Dictionaries are mutable [implied by operations like pop, and noted in prior conversation].
    • In a dictionary, keys are separated from their values by a colon, and key-value pairs are separated by commas. For example, a dictionary could store fruit names as keys and their quantities as values.
    • You can extract the individual keys and values present in a dictionary. The keys are on the left side of the colon. You can use the .keys() method to get all the keys.
    • Elements (key-value pairs) can be removed from a dictionary using the pop() method by providing the key.
    • Sets:
    • Sets are an unordered and unindexed collection of elements.
    • Although one source mentions square braces, the example provided uses curly braces, which is the standard Python syntax for sets.
    • Sets allow finding common elements between two sets using the intersection() method. You can also combine elements from two sets using the Union() method.

    Data Structures for Algorithms Beyond the basic Python data structures, the sources delve into other common data structures, particularly in the context of data structures and algorithms, often described as advanced concepts. These are typically linear data structures where elements are stored in a linear fashion.

    • Arrays:
    • An array is a linear data structure where elements are stored in a linear fashion and at continuous memory locations.
    • Each memory location has an address.
    • The data type of elements stored in an array must be homogeneous, meaning you can only store similar elements.
    • You can access elements randomly using indexing. The name of the array represents its Base address.
    • Arrays are useful for scenarios where you want to store data linearly in continuous memory for efficient memory utilization and are suitable for frequent searching.
    • Arrays can be one-dimensional or two-dimensional (used for matrices). A 1D array is declared with a name, data type, one subscript/index, and size.
    • Arrays can serve as a replacement for multiple individual variables when dealing with a large number of similar data points.
    • A drawback of arrays is that insertion and deletion can be difficult because it requires swapping elements and ensuring continuous memory is available.
    • Note: While the sources discuss arrays conceptually and show examples using list-like syntax, Python’s built-in list type is more flexible than traditional C-style arrays (e.g., can store heterogeneous data, doesn’t require fixed size). NumPy arrays are closer to the homogeneous, fixed-size array concept.
    • Stacks:
    • A stack is a linear data structure that follows the Last In, First Out (LIFO) principle. This means the element inserted last is the first one to be removed.
    • Insertion and removal of elements are done at one end, often called the “top” of the stack.
    • Standard stack operations include push (to insert an element at the end/top) and pop (to remove an element from the end/top).
    • In Python, stacks can be implemented using a list (using append for push and pop for pop), the collections.deque class, or the queue.LifoQueue class.
    • The collections.deque implementation is preferred over lists for stack operations because append and pop are faster (Big O(1) time complexity) compared to lists, which can become slow due to potential memory reallocations (Big O(N)).
    • When using queue.LifoQueue, the insertion operation is called put, and the removal operation is called get.
    • Queues:
    • A queue is a linear data structure where elements are stored in a linear fashion and follow the First In, First Out (FIFO) principle. The first item inserted is the first item to be removed.
    • You can imagine a queue like people waiting in line; the person who arrives first gets served first.
    • Major queue operations include Enqueue (inserting an element), Dequeue (deleting an element), Peek first (looking at the first element without removing it), and Peek last (looking at the last element).
    • A significant advantage of queues is that these four major operations are performed in a constant amount of time (Big O(1)).
    • Queues are commonly used in competitive programming because of their efficient operations.
    • Applications include scheduling algorithms in operating systems (like FIFO and round robin) and maintaining playlists.
    • A circular queue is a type of queue where the front and rear are connected, forming a circle.
    • In Python, a basic queue can be implemented using a class with append for NQ and pop for DQ. Other implementations exist within modules like collections (deque) or queue.
    • A disadvantage of queues is that they are not very flexible due to the restriction on insertion and deletion points (only at the rear and front, respectively).
    • Linked Lists:
    • A linked list is a linear data structure that is a collection of nodes.
    • Each node contains two parts: the data itself and a reference (or pointer) to the next node. This reference stores the memory address of the subsequent node.
    • Unlike arrays or lists, linked list elements are stored randomly in memory, not necessarily at continuous locations.
    • The beginning of the linked list is typically marked by a head pointer, which stores the address of the first node. The reference of the last node points to null (or None in Python).
    • A singly linked list is one where traversal is done only in one direction (from the head to the end).
    • Linked lists can offer more efficiency for operations like insertion and deletion compared to lists in certain scenarios.
    • Operations include insertion, deletion, and traversal. Insertion and deletion can be performed at the beginning, end, or a specified node.
    • Traversal means going through each node of the linked list.
    • Accessing elements in a linked list is slower compared to a list because you have to traverse from the head to the desired node; you cannot directly jump to an element using an index.
    • Memory utilization might be more in linked lists compared to lists.
    • Creating a node in Python involves defining a class (e.g., class node) and initializing its data and next pointer (often None initially) using a constructor (__init__ method).

    Data Structures in Libraries for Data Science and Machine Learning Specific Python libraries designed for data handling introduce their own data structures:

    • NumPy Arrays: NumPy (Numerical Python) is the core library for numeric and scientific computing. It consists of multi-dimensional array objects. You can create single-dimensional or multi-dimensional arrays (arrays of arrays or lists of lists) to perform various numerical operations like sum or dot product. NumPy arrays are generally used for homogeneous numerical data.
    • Pandas Data Structures: Pandas is a core library for data manipulation and analysis. It provides single and multi-dimensional data structures to handle tabular data seamlessly.
    • Series: A single-dimensional data structure, described as a one-dimensional labeled array. Created using pd.Series(), typically from a list or dictionary.
    • DataFrame: A multi-dimensional data structure, specifically a two-dimensional labeled data structure. DataFrames are used to work with tabular data, consisting of rows and columns. They are commonly created from dictionaries where dictionary keys become column names and the list values become the records in those columns. DataFrames have useful methods like head, tail, shape, and describe (providing summary statistics) and allow extracting data by index or label using .iloc and .loc.

    In summary, Python offers a range of data structures, from fundamental built-in types like lists, tuples, dictionaries, and sets to more complex structures like arrays, stacks, queues, and linked lists used in algorithms, and specialized structures like NumPy arrays and Pandas Series/DataFrames vital for data science tasks. They are crucial tools for efficiently organizing and manipulating data in various programming contexts.

    Python Object-Oriented Programming Explained

    Based on the sources and our conversation history, object-oriented programming (OOP) is discussed as one of the advanced concepts in Python. It is considered one of the most important concepts.

    Here’s a breakdown of Object-oriented programming based on the sources:

    • Purpose of OOP: Object-oriented programming allows you to represent real-world objects in the programming paradigm. Python is an object-oriented programming language.
    • Core Components: To understand OOP, you need to understand its two main components: classes and objects.
    • Class: A class can be thought of as a template or a blueprint for real-world entities. It is described as a user-defined data type, similar to predefined data types like integer, float, Boolean, and string. A class will have attributes (which are its properties) and methods (which represent its behavior). Using the example of a phone, properties could include color, cost, and battery life, while behaviors could include making calls, watching videos, and playing games.
    • Object: An object is a specific instance of a class. Following the phone example, specific phones like Apple, Motorola, and Samsung would be objects of the phone or mobile class. Just as a variable a = 10 means a is an integer variable with the value 10, objects are specific instances of the class’s data type.
    • Creating Classes and Objects:
    • To create a class in Python, you use the class keyword followed by the name of the class. By convention, the first letter of the class name should be capitalized.
    • Methods within a class are defined using the def keyword. These methods represent the class’s behavior. Methods take self as a parameter, which helps invoke the attributes present in the class. Examples include methods like make_call and play_game in a Phone class.
    • Attributes are associated with the object using self.attribute_name within the methods or the constructor. Methods can be created to set or show the values of these attributes.
    • An object of a class is created by calling the class name followed by parentheses and assigning it to a variable (e.g., P1 = Phone()).
    • Once an object is created, you can invoke the methods associated with the class using the dot operator (e.g., p1.make_call(), p1.play_game()).
    • Constructor (__init__):
    • A Constructor is a special concept in OOP. In Python, the constructor method is named __init__ (with double underscores before and after).
    • The purpose of the constructor is to initialize the values of the attributes when an object is being created.
    • The __init__ method takes self and typically additional parameters corresponding to the attribute values you want to set upon object creation. Inside the constructor, these parameter values are assigned to the object’s attributes using self.attribute = parameter.
    • When you create an object of a class that has a constructor, you pass the initial values for the attributes as arguments to the class call (e.g., E1 = Employee(“Sam”, 28, 75000, “male”)). The constructor then runs automatically to initialize the object’s attributes.
    • Inheritance:
    • Inheritance is another important concept in OOP. It means that a child class can inherit some or all of the features (attributes and methods) from a parent class.
    • To create a child class that inherits from a parent class, you include the name of the parent class in parentheses after the child class name during its definition (e.g., class Car(Vehicle):).
    • If a child class does not define its own constructor (__init__), it will inherit the constructor from its parent class. This means you pass values for the parent’s attributes when creating an object of the child class. The child object can then call methods defined in the parent class.
    • A child class can also have its own specific methods in addition to the inherited ones.
    • It is possible to override the __init__ method (or other methods) in the child class to provide specific initialization or behavior for the child class.
    • Types of Inheritance: The sources mention different types of inheritance:
    • Single Inheritance: A child class inherits from a single parent class. The Car inheriting from Vehicle is an example of this.
    • Multiple Inheritance: A child class inherits from more than one parent class. The child class inherits features from both parents.
    • Multi-level Inheritance: There are multiple levels of inheritance, where a class inherits from a child class which itself inherited from another class. An example is a Grandchild class inheriting from a Child class, which inherited from a Parent class. An object of the grandchild class can access methods from all classes in the hierarchy.

    In summary, OOP in Python provides a structured way to design programs by creating classes as blueprints for objects, defining their properties and behaviors, and using concepts like constructors for initialization and inheritance to create hierarchies of classes that share features.

    Python File Handling Essentials

    Based on the sources, here’s a discussion of File Handling in Python:

    File Handling in Python involves dealing with text files. It allows you to use Python programming to write, read, and perform various operations on these text files, which typically have a .txt extension. File handling is considered one of the advanced topics in Python. Another name used for file handling is IO functions, referring to input/output functions.

    With file handling, you can perform operations using built-in functions, including:

    • Opening the file
    • Reading text from the file
    • Writing text into the file
    • Appending text (adding onto existing text)
    • Altering text
    • Deleting text

    Core Concepts and Operations:

    1. Opening a File:
    • The very first step in file handling is always opening the file.
    • This is done using the open() function.
    • You typically store the result of the open() function call in a variable, which is sometimes referred to as a file pointer. This variable is used to perform subsequent operations on the file.
    • The open() function requires the name of the file as an argument.
    1. Modes:
    • When opening a file, you specify a mode which determines the type of operations you intend to perform.
    • Read Mode (‘r’): Used when you want to read existing text from the file. You must open the file in ‘r’ mode to use reading functions.
    • Write Mode (‘w’): Used when you want to write or add text to the file. Opening in write mode allows using the write() function.
    • Append Mode (‘a’): Used specifically for adding new text to the end of the text file’s existing content. You open the file with mode ‘a’.
    1. Reading Text:
    • To read the entire content of a file opened in read mode, you use the read() function on the file pointer (e.g., f.read()). The content is typically stored in a variable for use.
    • To read the text line by line, you use the readline() function. Each call to readline() reads the very next single line from the file. If there are no more lines to read, readline() returns an empty string. The readline() function differs from read() which displays all text at once.
    1. Writing and Appending Text:
    • To write text to a file opened in write mode (‘w’) or append mode (‘a’), you use the write() function on the file pointer (e.g., f.write(“some text here”)).
    • Using the \n operator (backslash n) at the beginning of the string you are writing will ensure that the text is added starting on a new line in the file.
    • Text written in append mode (‘a’) is added after the existing content in the file. Text written in write mode (‘w’) can overwrite previous content (implied by the read example that follows a write example).
    1. Closing the File:
    • After you have finished performing operations on a file, it is a good practice to close it.
    • This is done using the close() function on the file pointer (e.g., f.close()). This is compared to closing a book after reading or writing in it.
    1. Counting Characters:
    • You can count the total number of characters in a text file by opening the file in read mode, reading its content into a variable (e.g., using read()), and then using the len() function on that variable. The len() function calculates the total number of characters.

    Development Environment: To perform file handling in Python, you need an Integrated Development Environment (IDE) that supports both Python files (.py) and text files (.txt) simultaneously. Offline IDEs such as PyCharm, VS Code, or Jupiter notebooks are suitable. Practical examples in the source were shown using PyCharm. You would create your Python script file and the text file you wish to interact with within the IDE’s project environment. When running code that writes to a file, the output is typically seen directly in the text file itself, not necessarily in the console. You cannot perform reading and writing operations (like write() and readline()) on the same file object at the same time if opened in conflicting modes.

    An Overview of Generative AI and Python Applications

    Based on the sources and our conversation history, Generative AI (Gen AI) is presented as an advanced concept within the realm of Artificial Intelligence, incorporating human-like intelligence and creativity. It is a rapidly evolving AI system that is gaining prominence.

    Here’s a detailed discussion of Generative AI as described in the sources:

    What is Generative AI?

    • Generative AI is an artificial intelligence system that focuses on creativity.
    • It is described as evolving beyond simply understanding programming languages to mimicking human-like intelligence and creativity.
    • Generative AI is a subset of artificial intelligence.
    • Unlike traditional AI, which might classify or discriminate between data, Generative AI acts like an artist, capable of creating, generating, or transforming new content. This content can include text, video, audio, images, and more.

    How Generative AI Works

    • Technically, Generative AI or Gen AI functions by employing a neural network.
    • This neural network mimics or replicates biological neurons.
    • Based on this mimicry, it analyzes data patterns and generates new content based on those patterns.
    • Generative AI models receive an input (which can be text, audio, video, or any format).
    • These models are then pre-trained on data and fine-tuned to perform specific tasks. This fine-tuning allows them to cater to specific requirements and generate personalized content based on prompts.

    Discriminative vs. Generative AI

    • The sources contrast Generative AI with Discriminative AI.
    • Discriminative AI acts like a judge; given a dataset (e.g., images of dogs and cats), it classifies them into predefined categories (cats and dogs).
    • Generative AI, on the other hand, acts like an artist; given a similar dataset, it can create a new species or generate new content.

    Why Generative AI is Trending

    • Generative AI is trending because it does not depend on giving input and getting the same form of output, unlike traditional AI. It works based on your inputs and instructions.
    • It has impacted various fields, including text, audio, and video domains, and sectors like data management, tech, healthcare, and entertainment.
    • It has creative applications such as DALL-E and ChatGPT. For example, you can give a text prompt as input, and it can create an image as output.
    • It is enabling professionals (like business professionals and researchers) to generate code using tools like ChatGPT and develop new large language models and tasks.

    Types of Generative AI Models Mentioned

    The sources list different types of generative AI models:

    • Generative Adversarial Networks (GANs): Two models work together – one generating content, and one judging it – to produce realistic new data.
    • Variational Autoencoders (VAEs): This AI learns to recreate and generate new, similar data.
    • Transformers: An AI that learns to produce sequences using context. Transformer-based models include examples like ChatGPT.
    • Diffusion Models: Generates data by refining noisy starting points until they look realistic.

    Applications of Generative AI

    Generative AI has numerous applications:

    • Content Generation: Creates textual or other code-based content. It boosts creativity by providing content ideas and new ways to approach problems.
    • Customer Support and Engagement: Helps firms interact with customers.
    • Data Analysis and Data Science: Aids with visualization and analyzing data.
    • Code Generation and Software Development: Helps generate code.
    • Research and Information Retrieval: Helps researchers and professionals extract information from various data sources.
    • Machine Translation: Translates text, audio, or other content into required languages.
    • Sentiment Analysis: Analyzes text feedback to determine positive, negative, or neutral sentiment.
    • Other domains include Healthcare and Transport.
    • It automates content creation, saving time, and provides personalization based on user requirements and prompts.

    Python and Generative AI

    • Python is a high-level programming language preferred in Generative AI development.
    • One reason is that Python already has a well-supported set of libraries used for years in related domains like data science, machine learning, natural language processing (NLP), and deep learning. Artificial intelligence and Generative AI are “grabbing” these existing Python libraries.
    • Python is described as a versatile programming language that makes life easier for people working in this technological domain.

    Practical Applications in Python (from sources)

    The sources demonstrate building applications that utilize Generative AI:

    1. Flask ChatGPT App: Integrating the OpenAI API with a Flask web application.
    • This involves setting up a Python virtual environment, installing Flask and OpenAI libraries, and obtaining an OpenAI API key.
    • The application consists of a backend Python file (app.py) using Flask to handle API calls and a frontend HTML file (index.html) for the user interface.
    • The Python backend defines routes to handle requests, interacts with the OpenAI GPT model (e.g., GPT 3.5 turbo) by sending user input (prompts) via the API, receives responses, and handles potential errors like exceeding the usage quota.
    • The frontend uses HTML for structure and JavaScript to manage the interaction between the user interface and the backend, sending user prompts and displaying GPT’s responses.
    • Note: Using the OpenAI API is not entirely free; there is a limit ($5 worth of conversation mentioned) before payment is required.
    1. Text to Image Application: Creating images from textual descriptions using AI models via a web application.
    • Similar to the ChatGPT app, this uses Flask for the web framework, the OpenAI API for image generation, and HTML/CSS/JavaScript for the front end.
    • Prerequisites include Python, Flask, OpenAI library, and an OpenAI API key.
    • The Python backend (app.py) receives text prompts from the user via the frontend, uses the openai library to call the API’s image generation function (specifying prompt, size, and number of images), and gets an image response back.
    • The HTML frontend provides a text box for input, a button to trigger the generation, and displays the resulting image.
    • More precise descriptions from the user lead to more precise image outputs.
    1. Personalized Story Generator using LangChain: Developing an application to generate unique stories based on user inputs like character names, settings, and themes.
    • This project utilizes the LangChain library in Python, described as streamlining development processes and utilizing LLMs. LangChain is a Python library, similar to libraries like NumPy. It supports use cases like creating assistants and chatbots.
    • The application also requires the OpenAI library and an API key.
    • The structure involves two Python files: user_input.py to collect character name, setting, and theme from the user, and story_generator.py as the main script that uses LangChain and OpenAI to generate the story based on the inputs received from user_input.py.
    • The story_generator.py file imports necessary components from langchain, imports the user input function, defines the story generation logic using an OpenAI text model (like GPT 3.5 turbo), includes the API key, and prints the generated story.
    • This demonstration was executed in the command prompt rather than a web browser interface.

    In essence, Generative AI represents a shift in AI towards creative content generation, leveraging powerful models and neural networks. Python, with its rich ecosystem of libraries, serves as a crucial language for implementing and developing Generative AI applications, as demonstrated by the examples involving Flask, OpenAI API, and LangChain.

    Python Tutorial with Gen AI for 2025 | Python for Beginners | Python full course

    The Original Text

    Transcript Tool: https://anthiago.com/transcript/

    Video Link: https://www.youtube.com/watch?v=-65r_3r-nN4

    Python Tutorial with Gen AI for 2024 | Python for Beginners | Python full course welcome to the world of python where creativity meets technology whether you are a beginner eager to dive into coding or a season programmer looking to expand your skills this journey has something for everyone please note we have added sessions being covered in this tutorial with timestamps in the description for your convenience to jump to the topic which excites you the most you will be mastering the fundamentals of python diving deep into advanced con Concepts and unlocking the secrets of powerful data structures and algorithms picture yourself analyzing data like a pro building intelligent machine learning models and exploring the fascinating Realms of generative AI but that’s not all we’ll also dwelve into python for automation simplifying everyday tasks and crafting beautiful interactive guis for your applications join us as we embark on this comprehensive python Adventure from Basics to Brilliance we have got you cover so let’s get started and code your way to [Music] Mastery in the python fundamentals we’ll start with the basics installing python Understanding Variables data types operators and flow control statements you will also learn about Python’s core data structures tles lists dictionaries and sets next we will dwelve into advanced topics like object-oriented programming inheritance and exception handling you will also learn file handling techniques to manage your data efficiently understanding data structures and algorithms is key we will cover arrays Stacks cues linked lists and essential searching and sorting algorithms like linear search binary search insertion sort quick sort and merge sort in Python for machine learning you will work with libraries like numai pandas matplot lib and cabon these tools will help you manipulate analyze and visualize data to gain valuable insights you will also explore the fascinating word of generative AI where you will learn the basics and how to apply python in creating generative models opening up new possibilities in AI in Python 4 automation we will focus on making your life easier you will learn to use selenium for web automation we will also cover GUI development using tkin bringing your applications to life why wait let’s quickly start with the first module in Python fundamentals this is where it all begins we will start by introducing you to Python’s syntax and Core Concepts you will learn about variables data types and control structures like oops and conditionals by the end of this section you will be comfortable writing simple python programs and ready to tackle more complex challenges we’ll start off this session by installing python into our systems and to install python we’d have to go to this particular site over here python or downloads let me just go ahead and click on this link so as you see since python is platform independent whether you have a Windows system or a Linux system or even a Mac you can download python for either of these operating systems and since I’m using a window system all I have to do is click on this particular link and python would be downloaded now after downloading python we would need an IDE so what exactly is an IDE IDE stands for integrated development environment now if you just download python we would also need some environment which would make our coding much more easier so if you have worked with other programming languages such as C C++ or Java then you would know that you would have used an ID for these languages as well so if you have worked with Java then you would have used an ID called as Eclipse similarly if you have work with C or C++ then you would have work with ID such as turbo C++ or Dev C++ so similarly we’ve got a lot of IDs for python so one such ID for python is pycharm and we can download pycharm from this particular link jet brains.com slpy IAM I’ll just click on this over here then I’d have to click on this download button and as you see we’ve got the professional version and the community version and if we want it for just single user development we can just go ahead and download this community version over here and similarly as you see over here we’ve got if you use a Windows system then you can download pycharm for Windows if you have a Mac then you can download pycharm for Mac similarly if you have a Linux then you can download python for Linux since I have a Windows system I’ll select this and I’ll go ahead and download the community version of this then we have something called as Anaconda which is actually a python and R distribution so if you want to perform any sort of machine learning task or data science task then Anaconda is a complete toolkit so this provides you with a lot of tools involving python so it will provide you an IDE called as Jupiter notebook and not just the ID along with the IDE it will also provide you with a lots of libraries libraries such as P plot cbon pandas and napai so you don’t have to manually install these libraries so once you go ahead and install Anaconda so you can install Anaconda from this particular site over here over here you see the products tab click on the individual Edition which is the Open Source One then just go ahead and scroll down so you have the download button over here again and since I have Windows system I’ll just go ahead and download the 64-bit graphical installer and since this is a lot of MB which is 466 MB and since I don’t want to use up my data pack I’ll just go ahead and cancel this because I already have Anaconda installed into my system now once we have installed Anaconda as I’ve told you guys Anaconda comes up with an ID called as Jupiter notebook so what is Jupiter it is a browser based interpreter that allows us to interactively work with python so all of our python code will be implementing in this Jupiter notebook and if you have to open jupyter notebook I’ll just show you how to do it so here on your search bar go ahead and type in Anaconda so You’ have to select this over here Anaconda prompt now in Anaconda prompt you would have to type Jupiter node book and let’s just wait for the browser based interpreter to open up so this what you see is called as the Jupiter notebook which is a browser based python interpreter and we’ll be writing all of our python code over here now if we want to open up a new python notebook click on this tab and select Python 3 now once this is done we have opened up our new python notebook so you have a lot of tabs over here so similarly if you want to create a new notebook select file then you have this new notebook option again you can go ahead and select Python 3 and as you see over here this is our new notebook I’ll just close this up over here then let’s say if you want to download the code file which you’ve written you have this download as option and over here normally whenever we want to download the Jupiter notebook we download it as iynb file which basically stands for python notebook I python notebook you can also download it as other formats if you want to just save it as a simple python file you can just select py over here you can also go ahead and save this file as a HTML doc or maybe a latex Doc and if you want to save you have the save as option over here and similarly you can go ahead and rename your notebook either you can select this or you can just click over here then you can go ahead and rename it so I’ll just write it as my python notebook and then I’ll rename this file over here now let’s go ahead and write our first Python program so to print something out on the console we would have to use the print command then I’ll give this parenthesis over here I’ll use double quotes and inside this I will given the command this is Sparta and I’ll just go ahead and click on run and as you guys see we have successfully printed out this is Sparta we have written our first Python program in Jupiter notebook now we can we are on our way to happily go and hack the NASA systems so this is our building Stone guys we can go ahead and do a lot of things with what we’ve learned with this now you have something called as a kernel over here so what exactly is a kernel you can consider this kernel to be the executor of this program so whenever you would have whenever you write a piece of code and you’d want to execute it you click on kernel and this is what actually runs your entire code then let’s say if you you want to add a new cell about this so this what you see is called as the cell and if you want to add a cell about this you click on insert then you have the insert cell above option similarly let’s say if I want to insert a cell below this I click on insert I select insert cell below and this is how I can add another cell so this was a basic intro about jupitor notebook so let’s start off by understanding what exactly are variables in Python now when you work with any programming language your first task needs to be to work with data isn’t it so whatever programming language you’re working with you are essentially working with data but the question over here is how do you actually store the data that you work with so let’s say you’re working at a company and you want to store the names of all of the employees so we start off with taking three employee names so let’s say we have John Sam and Matt with us and we’d have to store these names somewhere so where can we store them this is where a variable comes in so you can consider a variable to be a temporary storage space now what we’ll do is we’ll take this string value so this what you see inside double quotes is known as a string and we’ll take the string value and we will store this in this variable called as student either we can call the student or employee or whatever we want to and this variable will have a particular address associated with it and since this variable is a temporary storage space the values which are stored inside it can be changed again and again so initially we are storing this value John inside this variable employee or student then after some time we can go ahead and replace this value John with this value Sam similarly after some some time we are changing this value of Sam with this value of Matt and this is how variables work in Python so now let’s go to Jupiter notebook and I’ll give you a proper example of this here what I’ll do is I’ll create a variable called as where one I’ll give this equal to symbol and I’ll go ahead and store the value drawn inside this let me click on run now let me print out this print of wi one and let’s see what will be the result so we have successfully stored the value JN inside wi one and we were able to print this out and since W one is a variable it is a temporary storage space so that is why we can change the value which is stored inside this so now instead of John I want to store the value Sam inside this I’ll click on run again I’ll use print and then I’ll be printing out the value of V one and as you guys see initially we had John and inside this we were able to change this to Sam now again after some time I’ll go ahead and change this value to Matt now let me print out wi one over here print of wi one and as you guys see initially we had John then we changed it to Sam and finally we have changed it to Matt so that was a basic intro to variables now another thing to be kept in mind is every variable variable has a data type associated with it so when you’re working with data that data can be present in any format so when you’re working with numbers such as 10 500 – 1000 – 323 these are called as integers and when you work with decimal point numbers so decimal point numbers such as 3.14 15.97% Point numbers then we have something called as Boolean values so Boolean values are basically you have only zero and one or you can also tag them as true and false so you have only two values over here and those two values are true and false or you can also tag them as zero and one then we have strings so strings are something which you put in single quotes double Cotes or triple Cotes so these are the four four main data types over here in Python so let’s go ahead and look at an example of each of these now I’m going to start off by creating an integer variable so I’ll name this integer variable as num one and I’ll store the value of 10 inside this and just to see what is the data type of this I will use the type method and inside the type method I’ll be passing in Num one and as you you guys see this tells us that the data type of this particular variable is integer then I’ll go ahead and pass in a floating Point number or a decimal number so I’ll call this as let’s say decimate and in decimate maybe I’ll store in the value of 3.14 now let me go ahead and check the type of decimate so inside this I’ll pass in decimate and when I click on run you guys see that this is of floating type then we have the next data type which is of Bulan so here I will have maybe another variable called as log one and inside log one I will store in the value true let me hit run again and then let me check the type of log one so inside type I’ll pass in the variable log one and as you guys see this tells us that this is of bu bu basically means this is of Boolean or logical type and then we’ve got the character or string so this time I’ll have my variable as car one and inside this I will store the name let’s say I’ll store the name Arjun over here then let me check the type of car one and when I hit run you see that this tells us that this is a string type variable we also have another variable over here or another data type over here which is of complex type so complex is basically a data type where you have a real part and an imaginary part so let’s say if I write something called as 3 + 5j so here three would be your real part and 5j would be your imaginary part you would have learned about complex numbers in your primary or in your secondary school so normally in math this J is represented as I so You’ have something called as 3 + 5 I where 3 would be your real part five would be your imaginary part so in Python this I is represented with j instead of I so now I’ll go ahead and store this in a variable called as comp 1 now let me go ahead and check the type of this so type of comp one and I see that this is of complex type so we have successfully under Ood what are variables and we have also looked at the different data types of variable can have now we’ll go ahead to the next Concept in Python which will be operators and as the name suggests operators help us to perform simple operations on this data and we’ve got arithmetic operators relational operators and logical operators so we’ll start with the first set of operators which are the arithmetic operators let me go ahead to this jupyter notebook over here and what I’ll do is I will clear out everything which is present in the console so this scissors which you see if you click on the scissors symbol you’ll be able to cut out all of these cells now let me add a comment so what is a comment comment is something which is not executed by the python interpreter and you can add a comment with this hash symbol so after this hash symbol I am going ahead and writing arithmetic operators I’ll click on run and as you see this is not executed over here so whenever you add a hash symbol over here python interpreter automatically recognizes whatever follows hash symbol as a comment now if I remove this hash symbol and then if I click on run You’ see that we get this errow which tells us that this is invalid syntax because if we don’t add the hash symbol over here then python interpreter would consider this these two actually as two separate variables and since we have not declared any variable called as arithmetic or as operator this is giving us this error so I’ll just go ahead and add this hash over here now after this since we have to perform arithmetic operators and arithmetic operators basically constitute of plus we have have plus then we have minus then we have multiplication and then we have division now I’ll create two variables over here I’ll have first variable num one and I’ll store the value of 10 inside this then I’ll have the second variable num two and I’ll go ahead and store the value of 20 inside this now after creating these two variables let me perform the basic arithmetic operations so I’ll start start off by adding num one and num two so I’ll type num one plus num 2 and when I perform num 1 plus num two I get a result of 30 so basically if you want to add two numbers you have to use the plus symbol between those two operant and since 10 is stored in Num one 20 is stored in Num two we get a result of 30 then similarly I’ll go ahead and perform the subtraction op operation so here I’ll have num one minus num 2 and when I type num 1 minus num 2 I get a result of – 10 because 10 – 20 is – 10 going ahead I’ll also perform multiplication and to perform multiplication I’d have to type num one into num 2 and when I have num one into num2 over here which is basically 10 into 20 I I get a result of 200 then we are only left with division so to perform division I’ll have num one then I’ll use the forward slash symbol which denotes division then I’ll have the second operant over here which is num two and I’ll click on run and as you guys see when we divide 10 with 20 we get a result of 0.5 so these were some basic arithmetic operations now we’ll go ahead and and work with relational operators so I’ll just add another comment over here and I’ll add the comment as relational operators and what are the relational operators these help us to find the relationship between two operant so we can understand if one operant or the value of one operant is less than the other operant or maybe the value of one operant is greater than the other operant so we will have less than symbol greater than symbol equal to symbol and not equal to symbol now again we will use the same variables num one and num two let me just print out num one and num two over here for your sake and as you guys see we have 10 stored in Num one and 20 stored in Num two now I want to check if the value in Num one is less than the value in Num two so I’ll type num one I’ll use the less than symbol then I’ll type num2 over here I’ll click on run and as you guys see I get the result as true which means that num one is less than 20 which we get because 10 is obviously less than 20 now I want to check if the value in Num one is greater than the value in Num two and when I hit run I get a false value because 10 is not greater than 20 now going ahead I want to check if the value in Num one is equal to the value in Num two so this what you see is the double equal to operator you have to understand the difference between the double equal to operator and the single equal to operator so this is the single equal to operator and with the help of single equal to operator we are assigning a value to a variable but when we are using this double equal to operator this helps us to understand if these two values if the operant on the left hand side and the operant on the right hand side are equal to each other or not and when I click on run I get a false value because 10 is obviously not equal to 20 then going ahead I have the not equal to operator so I’ll have num one so not equal to operator is represented like this so I’ll have exclamation mark then I’ll have the equal to symbol then I’ll have num two over here and I get a True Result because 10 is obviously not equal to 20 so these were some of the relational operators going ahead we’ll work with logical operators so I’ll add a comment over here which would be logical operators and we have two logical operators which are and or let’s start with and so and is a logical operator which would give us a True Result only when the both of the operant are true but R is a logical operator which would give us a True Result when either of the oper end is true so let’s understand this in detail so this time I will be creating two Boolean variables over here I’ll have log one and in log one I’ll have the value true stored then I’ll have log two and in log two I’ll have the value false stored so I have log one and log two over here now I’ll perform the and operator on both of these so let me go ahead and type log one and log 2 and when I hit run I get a false value because log one is true log two is false true and false will give us a false result now let me see what will happen when I have log 2 and log one again I get a false result because false and true is also so false now let me check log 2 and log 2 log 2 and log 2 will also give me false because false and false is also false and finally I’ll check log one and log one log one and log one will give me a True Result because and operator gives a True Result only when both of the oper are true now we’ll head on to the or operator so this time I’ll have log 1 or log 2 now true or false will give me a True Result because or will give me a True Result when either of the operant is true then I’ll have log 2 or log one and this again gives me a True Result because false or true is again true then I’ll have log one or log 2 and this again will let me actually change this to log one or log one and this will give me a True Result because true or true is also true and finally we’ll have log 2 or log 2 and this is the only case where we’ll have a false result which is false or false so only in the case where both of your operons are false that is when you will get a false result when you’re working with the or operator so this was all about about the different types of operators in Python now we’ll understand what exactly are python tokens so python token is the smallest meaningful component in a program so when you combine all of these python tokens together that is when you get your final python code so the basic python tokens are keywords identifiers literals and operators so we have already worked with operators which were one of the tokens in Python now we’ll go ahead and understand what are keywords identifiers and literals so we’ll start with python keywords python keywords as it is stated are special reserved words so when I say special reserved words you can’t use these special reserved words for any other purpose which would mean that you can’t give the name of a variable or the name of a function or maybe the name of a class with these python keywords and you have some of these reserved keywords over here which are if def Dell true false while not or return so these are some of the Python keywords now let me just show you how to use these so let if I type in DF so as you guys have seen over here when I type DF this automatically turns into green so python interpreter recognizes this word def as a keyword now let’s say if I try to store something in this def is equal to 10 I get an error because since this is a keyword I can’t use this as a variable similarly let’s say if I have if if again is a keyword and that is why this turns into green then we have something called as identifiers so identifiers are basically the names used for variables functions or objects so till now we had created some variables called as V one or num one or log one so those all are identifiers so the names which you give to the variables functions or objects are known as the identifiers so let’s say if you have a person and the name of that person is Arjun or Sam or Matt so here the names of these people are the identifiers similarly as you need a name to identify a human being that is how you will also need an identify to understand or to call or invoke a variable function or object and this is the simple analogy between the real life and these python identifiers and there are some basic rules when you’re working with these identifiers so the first rule is you cannot have an identifier with special characters so you can have underscore but instead of un uh except underscore you can’t have any other special characters in the name of the identifier and also identifiers are case sensitive so let’s say if you create a variable called as W one with v in small Cas and then you create a variable as V one with v in capital K then both of them will constitute as different variables and then also you have another rule over here which states that the first letter cannot be a digit so these are some basic rules which normally a python coder keeps in mind so let’s go ahead and understand about these rules in Python so I have told you guys that special characters cannot be used in the name so let’s say if I have J personent and I have this over here and if I try to store the value 10 inside this let me click on run so you see that we have a syntax error over here similarly what I’ll do is I’ll have a variable called as N1 and inside N1 I’ll store the value 10 then I’ll have the value Capital N1 and inside this I’ll store the value 20 now let me print in both of these N1 with a small n and N1 with a capital N and as you guys see both of these values are different because both of those variables are different so this is about python identifiers then we have something called as literals and literals are just the constants in python so constant is a value which does not change so whatever values you are storing inside a variable that is called as a literal so here when you’re storing 10 into N1 10 would be literal similarly when you’re storing the value 20 into N1 20 would be your literal then over here when you’re storing the value such as 10 into num1 20 into num2 again they are your literals now we’ll head on to an interesting topic in Python where we’ll understand about strings in Python so what are strings strings are basically sequence of characters which are enclosed within single quotes double quotes or triple quotes and we already know that and we have already seen an example of python strings so let me just give you an example of all three of these where I’m creating a string with single Cotes double codes and triple codes let me go ahead and remove all of this over here because I like it clean let me just remove all of this stuff from over here now what I’ll do is I will create a new string variable called as St str1 and the value I’ll be creating with single codes and inside this I’ll just type hello world and I’ll print out s str1 over here and I have successfully created the string s str1 with Hello World then I’ll have Str str2 and in Str str2 I’ll be creating this with double codes and over here I’ll just type in this is Sparta and I’ll print out s str2 over here going ahead I’ll have another variable called as s str3 and this time I’ll create a multi-line string so if you want to create a multi-line string we can create it using triple codes so I’ll have triple codes over here and inside this I’ll just type I am going to France tomorrow let me run this and let me print out sdr3 right now so as you guys see I have successfully created a string called as I am going to France tomorrow and this what you see backwards sln that indicates a new line so after I am we have backwards sln which tells us that going to comes in a new line similarly we have backward sln followed by France tomorrow which tells us that this again is in a new line so this is some basic idea about strings in Python now that we know this let’s actually see how can we extract individual characters from a string so here we have created a string called as my string so the name of the variable is my string and the value which is stored inside this is my name is John now if we want to extract individual characters we have to understand the concept of index so here these characters are present at indices and the index value starts from zero so here m is present at index z y is present at index one the space is present at index two right so similarly all of these have a particular index assigned to them and the index value starts from zero and if you want to extract this particular character or the first character from a string we’ have to give the name of the string we’ have to give the parenthesis and inside the parenthesis we will given the index value that we would want to extract and since I want to extract the first character we have to give index Z and that is how we were able to extract this then similarly if I want to extract the last character so the index of the last character will be minus1 so either you can manually count the last value over here so that is basically time consuming instead of counting the index if you just want to directly extract the last character then you can just go ahead and give it minus one and that will automatically give you the last character which is present in the string so let’s go ahead and perform these operations in jupyter Notebook let me add in a new cell over here insert cell below and I’ll go ahead and create a string called as my string and over here I’ll have let’s say a string called as my name is John let me print out my string over here now after this I’d want to extract the first character so if I want to extract the first character I’ll just type my string I’ll give in parenthesis I’ll have one written over here and I’ll actually have to give zero because the first character is presented the zero what index so guys this is important you’d have to remember that in Python the indexing starts from zero so this is how I have extracted the first character now similarly if I want to extract the last character which is n then I will give minus1 over here and as you guys see I am able to extract the last character now similarly let’s say if I want to extract this a so this is presented 0 1 2 3 and 4 this is presented index number four so let me just given four over here and as you guys see I have successfully extracted this particular element from this entire string now we’ll go ahead and work with some string functions so the first string function is len which will give us the length or the number of characters which are present in the string so all we have to do is use Len and inside that we will pass in the name of the string so when we pass in my string this tells us that the length of the string is 15 and similarly let’s say if I want to convert all of the characters in The String into lower case we have the lower method so all I’ll do is type in my string. lower and this will convert all of the characters into lower ke and a method which is an analogous to lower is the upper method so I’ll type my string. upper and with the help of this I’ll be able to convert all of the characters into uppercase which you see in the result over here so I have my string ready now I would want to check the length of this and inside l n I will pass in my string and this would tell us that the length of the string is 15 now similarly if I so you see as you see over here we’ve got two Capital characters over here m is capital G is capital I’d want to convert them into lower case so for that purpose first I’d have to given the string name which is my string I’ll use the dot operator then I’ll use the lower method and when I click on run you will see that all of the characters have been converted into Lower Keys now similarly if I want to convert all of the characters into up upper case I’ll go ahead and type my string I’ll use a DOT operator and then I’ll have upper written over here I’ll click on run and as you guys see I have converted all the characters into upper case now we’ll go ahead and see some more function so we’ve got the replace method over here and we’ve got the count method so if I want to replace some particular character or some particular string with another string then we can use the replace method so again first we have to give in the name of the string which is my string I’ll use the dot operator then I’ll use replace method and it takes in two parameters the first parameter is basically that character which I’d want to replace so as you see over here initially we had y over here I want to replace that y with a so initially the sentence was my name is John but I have changed that to myone name is John so quite an interesting method isn’t it then we have the count method so here we have created a new string where we have stored the value hello hello world and if I want to check the count of the number of times a world occurs or number of times a particular substring occurs then we can just pass in the substring into this method so if I want to understand the number of times this substring hello occurs in this entire string so if I pass in hello this tells me that the substring hello occurs two times in the entire string over here so let’s work with this replace method and the count method so we already have this my string variable ready and let’s say instead of my name is John I would want to change the name over here so instead of my name is John I would want to change that to my name is Sam so I’ll have my string then I will use the replace method over here and we already know this takes in two parameters the first parameter is a substring which I’d want to replace so I would want to replace John and I’d want to replace it with let me actually keep it like this and I want to replace it with Sam and when I click on run you would see that I have successfully changed the substring from John to Sam then we have the count method let me create this new string variable over here I’ll have new string and inside this I’ll store hello hello world now that we have this what I’ll do is I will go ahead and use the count method so I’ll have new string and use the count method and inside this I’ll pass in hello and when I pass in hello this tells me that the substring hello is occurring two times now we have two more string functions over here so now we have the find function so the find function helps us to find the index or the starting of the index of a particular substring as you see over here if I want to know the starting index value of this substring part up I’ll just pass this entire substring into this method find and this gives us the value of 8 so let’s just understand this so now if I count the index it’ll be 0 1 2 3 4 5 6 7 and 8 so as you see this s is placed at index number 8 and that is what this find method gives us so let’s say similarly if I would have passed an S into this find method then this would have given us the result of 0 1 2 3 4 and five then we have another method called as split so the split method helps us to divide this string into a list of substrings on the basis of one split criteria so here we’ve got this entire string called as I like apples mangoes and bananas and I would want to divide this entire string into multiple subrings on the basis of comma so here whever this method encounters comma it will separate or segregate it into a substring so I like apples becomes one substring mangoes become second substring bananas becomes the third substring let’s go ahead and Implement an example of these two let me write s str1 over here and what I’ll do is I’ll just have a new value here let’s just say I’ll just type I love Piza and and I would want to know the starting index of this substring pza so I’ll have S str1 do find and inside this I’ll just pass in Piza and we get the result of seven so let’s just verify this 0 1 2 3 4 5 6 and 7 now we’ll go ahead and work with the split method so for that purpose we’ have to create a new string value and I’ll name it as fruit and here I’ll just type in I like apples guas bananas and I’ll also write maybe strawberries then I’ll use the split method fruit do split inside this I’ll give in the separator which will become comma and I’ve got a list of substrings I like apples becomes one substring guavas becomes the next bananas is the next substring and then we have strawberries as the final substring now we’ll go ahead and work with the next data structure in Python which is a list so when it came to a tuple that was an ordered collection of elements enclosed within round braces but a list is an ordered collection of elements which is enclosed within Square braces and that is not the only difference so tups were immutable that is when you created the elements inside a tuple you could not change them later on but when you create a list you can actually change the values which are present in it and this is how we create a list so L1 that is the name of the list which I’m creating and I’ll have square braces and I’ll have these different elements stored inside it let me delete all of these over here and let me start fresh for the list I’ll add a new comment which will be list and inside this I’ll name the object as L1 I’ll have square braces over here I’ll have one e and true let me print out L1 and this is a new list now let me go ahead and check the type of this inside type I will pass in L1 and as you guys see this tells us that this is a list now as we had extracted individual elements from a tuple similarly we can go ahead and extract individual elements elements from a list as well and it is the same process so over here we’ve got all of these elements and the indexing starts from zero so it is very important keep in mind guys so the indexing of a list or whatever data structure you’re working with in Python it starts from zero and if I want to extract the second element over here the index of the second element will be one because this is index number zero this is index number one and when I pass in L1 of one I’ll be able to extract this particular element from this entire list similarly if I want to extract a series of elements so I’ve got all of these if I want to start from index number two so this will be index number two so we’ve got 0 1 and two and this will go on till index number four so as I’ve already told you when it comes to python the outer limit is exclusive so when we give it till five we will be only able to extract the index number four so that is why over here we’ll be extracting 2 B and 3 let me create L2 over here and I’ll have some elements I’ll have 1 a then I’ll have two then I’ll have B after that I’ll have three and going ahead I’ll also have C over here I have successfully created L2 let me print this out and now if I want to extract let’s say B from this let’s see what would be the index it’ll be 0 1 2 and 3 so I’d have to give in L2 inside the parenthesis I’d have to give three and I am able to extract this particular element from the similarly if I want to extract the last element I’ll give in L2 I’ll give in minus1 over here and I able to extract the last element and if I want to extract a series of elements then in that case all I have to do is given an L2 and as we saw in the example if I want to extract 2 B and 3 so the index for this is 0 1 and 2 I’ll give it two over here and if I want to extract till three so this will be 2 three and four so that is why i’ have to give index number five as well and we are able to extract 2 B and three from this entire list now let’s see how can we modify a list so we have the same list over here and initially at index number zero we have the element one but if I want to change it to some other element all I have to do is given the index number and I have to assign a new value to that particular index number so as you guys see I am assigning the value of 100 to this particular index number and I’m able to change this value of one to 100 now we can also append a new element at the end or pop the last element and to add a new element at the end we will be using the append method so it have to given the name of the list we’ll use dot operator and then we’ll use the end method and we’ll just give the value which we’ want to append so when I type in Sparta over here this gets appended at the end of the list now similarly we can go ahead and pop the last element so if we have to pop the last element popping basically means removing the last element so we would have to use L1 do popop and it automatically removes the last element so as you guys see we had added Sparta but after using the pop method this Sparta value was removed from this list now we have the same list over here which is L1 let me actually I’ll have L2 over here not L1 let me print an L2 for you guys over here and I’d want to change let’s say this particular value here so let’s say instead of a I’d want Z so I’ll have L2 and the index for that is one and instead of a i’ want to store Z inside this and let me print out L2 again so initially we had a but after changing it we have Z over there now we’ll see how to append an element at the end of this list so we’ have to give L2 I’ll use dot operator then I’ll be using the epen method and inside this I’ll just add this word called as python let me print in L2 for you guys and I have added python at the end of this now if I want to pop this out I have to write l2. pop and when I click on run we see that this has been popped out and let me print out L2 again for your reference we see that the last element has been removed now there are some more modifications which we can perform on the list so let’s say if we want to reverse the elements which are present in a list so as you see in L1 we have all of these elements over here and if I want to reverse the order of these elements all I have to do is use the reverse method so I’ll type in L1 do reverse and when I print this out we see that the elements are printed backward then if we want to insert an element at one particular index value so when we use the append method we were able to add an element at the end of a list but instead of adding an element at the end of a list if we want to insert an element at some particular index then this is how we can do so I’ll have L1 do insert then I’ll give the index position where I’d want to insert so initially at index number one we have this value a but now at index number one I want to insert Sparta so this takes in two parameters first parameter is the index at which I’d want to insert second parameter is the value which I’d want to insert and as you guys see I have inserted Sparta at index number one now here as you see the rest of the elements have been shifted one index towards the right so a which was initially present at index number one is now present at index number number two two which was initially presented index number two is now shifted to index number three so each element shifts towards the right by one index value then we can also go ahead and sort a list so we have all of these elements over here now if you want to sort these elements in alphabetical order then we can just go ahead and use the sort method and this sort method sorts all of these with respect to alphabets so we have apple followed by banana followed by guava and then finally we have mango so let’s use the reverse method insert method and the sort method in jupyter Notebook so we have the same L2 over here now if I want to reverse this I’ll just type in l2. reverse and when I click on run this has been executed now let me print in L2 so as you guys see initially we had this particular sequence over here which was 1 Z 2 B 3 and c and after using the reverse method the elements have been reversed now we will go ahead and add an element at one particular index so if I want to add something at maybe index number three so now we’ve got 0 1 2 3 so we’ve got two which is present at index number three but now let’s say I’ll have L2 do insert and at index number three I’d want to insert great learning and let me hit run and let me print out L2 and as you guys I see at index number three I have inserted great learning and the elements which are followed after that shift towards the right by one index value now finally we’ll see how to sort a list so I’ll have L3 and inside this I’ll have some elements so I will have Apple after that I’ll have mango then let me actually change the sequence over here so let me start off with mango first then I I’ll have apple going ahead I’ll have guaa and then maybe I’ll have lii now this is the sequence which is present in this list and if I want to sort this out I would just have to use the sort method so when I hit l3. salt so this has to be a list and not a duple so this has to be square braces you guys have to keep that in mind let me change this over here let me cut all of this out and let me paste it over here and as you guys see this method has been executed and when I hit on run we have changed the order so we’ve got Apple followed by guava followed by lii and we have mango at the last now we can also perform the same concatenation and repeating operations on list as well so here we have L1 where we have the elements 1 2 and 3 then we have L2 where we have the elements a b and c and if I want to concatenate this L2 at the end of L1 all I have to do is use the plus operator and when I use L1 + L2 this is what I get I’ll have 1 2 3 a b and c and if I want to repeat the elements which are present in a list I would just have to multiply the name of the list with a particular scalar number so as you guys see I am multiplying L1 with three and I have repeated these elements three times so here I’ll just have concatenating a list and I’ll have I’ll just go ahead and create two lists over here inside L1 I’ll have 1 2 and 3 inside L2 I will have a b and I’ll also have C now I’ll perform L1 plus L2 and we have appended L2 at the end of L1 you have to understand that L1 + L2 and L2 + L1 would give you different results so now when I actually type in L2 + L1 you would see that we have appended L1 at the end of L2 so this sequence also changes when you change the sequence with the plus operator over here now let’s go ahead and repeat the elements so I’ll have repeat list and I let’s say if I want to repeat the elements which are present in L2 so I’ll just multiply L2 with let’s say five because I want the elements to be repeated five times so I have a b and c being repeated five times now we’ll head on to the main component which is about the different data structures in Python so we have Tuple list dictionary and set let’s start off with the first data structure which is a tuple so till now when we have worked with single variables you were able to store only one value or a single value inside a variable but with the help of these different data structures such as Tuple list set and dictionary we’ll be able to store multiple elements inside a data structure and it’s not that we can store only multiple elements of a single data type we can also store elements of different classes or different types into this data structure so let’s start with Tuple what exactly is a tuple is an a collection of elements enclosed within round braces and tuples are immutable what do I mean when I say tuples are immutable so what this basically means is if you create a tuple then you can’t go ahead and change any of the values present in it later on a tuple cannot be modified once you create it and this is the example of a tuple over here so we have round braces inside the round braces I have stored the elements 1 a and true so as you see I have elements of different types so we can store elements of different types into a tuple so let me create my first Tuple in Jupiter notebook I’ll type in let me actually have this in a fresh space I’ll add the comment Tuple and over here I’ll type in tup1 I’ll have round braces over here so first element is one then I’ll have Sparta then I’ll have true over here and then let me just print out T1 so I have created this Tuple now let me check the type of this type inside this I will pass in tp1 and this tells us that this is a tuple now if I want to extract individual elements from a tuple how can I do that well the process is pretty much similar as when compared two strings so if we want to extract the first element from a tuple so as you guys see over here I have created a tuple which comprise of all of these elements 1 a true 2 B false and if I want to extract the first element since the first element is presented index number zero I’d have to given the name of the Tuple and inside the parenthesis I’d have to given the index value which will be zero and I have extracted this particular element from this entire Tuple similarly if I want to extract the last St element so if I want to extract the last element I just have to give in minus1 so in P1 I’ll give in minus1 and with the help of this I am able to extract the last element now if I want to extract a continuous sequence of elements so here if I want to extract a true and two which is a continuous sequence of elements I’d have to give something like this so inside the parenthesis I’ll given 1 colon 4 so this is the starting value of the index this is the ending value of the index now here when it comes to python you have to keep in mind that the ending value is exclusive the starting value is inclusive so when you give one the starting index value a right so we have one and we have extracted this element but when you given four this only goes till index number three so that is why we have extracted only a true and two so two is presented index number three we have extracted a true and two but when we have index number four so index number four we have the value B but this is not extracted because index number four is exclusive so let’s go ahead and create a new Tuple and extract some elements from those tuples so what I’ll do right now is I will have a new Tuple called as tup2 and let me just store some random values inside this I’ll have 1 a true then I’ll have two B B and I’ll have false inside this so I have created T2 now if I want to extract the first element so that is obviously present at index number zero I’ll just type in T2 and inside this I’ll give in the index value which is zero and as you guys see I was able to extract this particular element from this entire Tuple now similarly if I want to extract the last element so I’d have to type in T2 I’d have to give in the parenthesis and to extract the last element I’d have to give minus1 and if I want to extract a series of elements so let’s say if I want to extract true two and B so here true the index value would be two so I’ll have T2 the starting index value is 2 and this two 3 4 5 so since this goes till 5 five is also included I would have to give 6 0 1 2 3 4 5 this will go till six let me hit run and as you guys see I have included true 2 B and false if I let’s say Wanted only till B so this will be 2 3 4 and if I since this has to be included I’ll just given five over here and I have extracted only true two and B now we’ll actually try to modify a tuple so initially I had told you guys that that a tuple is immutable now when I say a tuple is immutable I would basically mean that whatever you store inside it cannot be changed so here I’m actually trying to change the value which I had actually stored in a tuple so as you guys see T1 and inside this the whatever element was present at index number two I am trying to change it but we get an error over here and the error is duple object does not support item assignment so let me just print an tup2 over here I’ll hit run and let’s say if I want to change this particular value so I have this is present at 0 1 2 and three index number three so tup2 and index number three I’d want to change that from 2 to 20 let’s see what do we get we get the same error Tuple object does not support item assignment because Tuple is an immutable object and that is why you cannot go ahead and change whatever is stored inside a tuple so we have seen that a tuple cannot be modified now let’s go ahead and perform some basic operations on top of the Tuple so here we have the same Tuple where we have all of these elements over here 1 a true 2 B and false now if you want to find out the length of a tuple or in other words you would want to find out how many elements are present in a tuple then we can just go ahead and use this Len method so this would give us the number of elements El which are present in this Tuple and as you see over here we’ve got six elements and that is the result over here then going ahead we can also concatenate two tuples that is we can attach the elements of one Tuple to the back end of another Tuple so here we have tp1 where we have elements 1 2 and 3 then we have T2 where we have elements four 5 and six now when we are trying to concatenate all we have to do is use the plus symbol or the plus operator and when we use tup 1 + T2 we get the result 1 2 3 4 5 6 so let’s go ahead and perform these operations in Jupiter notebook so I’ll just create the tup again over here I have T1 and let me add in some elements so I’ll have 1 a true then I’ll have 2 B and then I’ll also have false over here so I have created this stuple now if I want to check the length of it all I have to do is use the L en method and inside this I will be passing in the object and as you guys see we have the result which tells us that there are six elements present in this Tuple now I’ll create two more tupal I’ll have tup2 over here and inside this I will have the elements 1 2 and 3 going ahead I’ll create another Tuple with the name T3 and inside this I will store the elements four 5 and six now I would have to perform tup2 plus T3 let me change the spelling over here and as you guys see we have concatenated these elements at the back end of T2 so this was a very simple operation now if we want to repeat the elements which are present in a tuple that is also something which we can perform so here in this Tuple we just have two elements which are Sparta and 300 now if you want to repeat these elements a certain amount of time then we have to multiply this with a scalar number so here when I’m multiplying tup 1 with three I get Sparta 300 Sparta 300 and Sparta 300 which basically means I am just repeating these elements three times now we can also perform repeating and concatenating at the same point of time so here we have tup1 and T2 so first what I’m doing is I am repeating the elements which are present in T1 so here when I use tup1 into three the elements are repeated three times so I have Sparta 300 repeating three times then I am attaching or concatenating tup2 at the back end of this so let me add a comment over here I’ll just have repeating elements in a tuple and now I have this tp1 over here let me just print out T1 and if I want to repeat these elements three times all I have to do is type in tup1 into three and let’s see so as you guys see 1 a true 2 B false so we have this once then the same thing is being repeated twice and the same thing is being repeated twice now similarly if I want the entire thing to be repeated five times I would have to multiply this with five so as you guys see I have repeated all of the elements five times now we’ll do repetition and concatenation at the same time I’ll add a new comment over here repetition and concatenation I’ll have two tuples over here I’ll have T1 where I’ll have let’s say a b and then I’ll have C then I’ll go ahead and create a new Tuple which will be tup2 and inside this I will have x y and then I’ll also have Z and now this is an interesting operation so I’ll have T1 into 3 plus T2 and let’s see the result so as you guys see I have repeated the elements which are present in tup1 three times so I have ABC ABC and ABC then I’m adding this at the back end of it and I get X Y and Z so this was another simple operation now we also have some simple Tuple functions so if you have a tuple and if you want to find out the minimum value and the maximum value which are present in it all we have to do is use the Min method and the max method so over here I have these elements and if I want to find out the minimum value which is present over here all I have to do is use the Min method and I pass in the tp1 object inside this and as you guys see this method tells us that the minimum value which is present in this duple is one going ahead similarly we use the max method and when we pass in tup1 this tells us that the maximum value which is present in this Tuple is five so I’ll have tup1 and let me add some numerical values inside this so I’ll add some random numbers in a random order over here so I have 8251 07 now if I want to I have to remove the C over here now if I want to find out the minimum value which is present in it all I have to do is use the Min method and inside this I’ll be passing in tup1 and as you guys see this method tells us that the minimum value which is present in this duple is zero similarly if you want to find out the maximum value I’ll use the max method and inside this I’ll again pass in tup1 and we get the result of eight this brings us to the end of this tutorial on tuples and python so dictionary is an unordered collection of key value pairs enclosed within curly braces and a dictionary again is mutable so what exactly are key value pairs let’s see an example of that so over here we are creating a dictionary where we have two key value pairs so the first key is Apple second key is orange first value is 10 second value is 20 so you can also consider it this way let’s say we have the name of the fruit and the cost of the fruit or maybe the quantity of the fruit so we have apple and let’s say there are 10 apples then we have orange and let’s say there are 20 oranges and you will be separating the key with the value with this colen over here now let me just delete all of this and let’s start fresh for our dictionary so instead of list I’ll just type in dictionary over here and let’s say I’ll create this dictionary like this and I’ll have um let’s say my first fruit is mango and I have 10 mangoes with me then I’ll have apple and let’s say I have 20 apples then I have lii and I have 30 lies and finally I would have strawberry and I would have 40 strawberries with me let me print out the result over here so this is our first dictionary which we have just created and just to ensure that we have actually created a dictionary let me check the type of it so type of root would tell us that this is of dict type which is basically a dictionary now once we have created a dictionary we can actually go ahead and extract the individual keys and values which are present over here so this is our dictionary and if you want to extract only the keys so this what you see on the left side of the colon those are our keys and if you want to extract only the keys all you have to do is use the name of the dictionary follow it up with the keys method and we’ll get all of the keys which are present in this dictionary similarly if you want to extract all of the values we would have to use the values method so when I type in fruit. values I am able to extract all of the values which are present over here so I’ll have fruit which is a dictionary which is already present and if I want to extract all of the keys I’ll just go ahead and use the keys method and as you guys see I am able to extract all of the keys which are present similarly if I want to EXT ex ract the values I’ll type in fruit. values and I have extracted all of the values which are present now since dictionary is mutable we can modify it so that would mean we can add a new element or we can change an existing element so here we had only four elements but if I want to add a Fifth Element so here we don’t have mango initially but if I want to add mango all I have to do is use the name of the dictionary then inside parenthesis I’ll add the new key so this what you see inside parenthesis I’m adding the new key and I’m adding the value to it so here as you guys see I have attach this new key value pair at the end of this dictionary similarly if I want to change an existing element so initially the value of Apple was 10 but if I want to change the value then inside the parenthesis I’ll just give in the key and I’ll assign a new value to it so initially we had 10 now we have modified it to 100 now we’ll see how to add a new element so I’ll have fruit over here let me just print it out we have four elements now let me add a new element inside this so I’ll have fruit I’ll have the square braces and let’s say the new fruit which I’ll be adding this guaa and let’s say I have 50 guavas with me and let me print out fruit right now and let’s check the result so as you guys see we have attached this new key value pair at the end of this dictionary and finally let’s see actually how can we modify an existing elements so we’ve got let’s say if I want to modify this particular key value pair so I have lii and the value of lii is 30 so I’ll have fruit inside this I’ll give in the key which is lii and I want to change 30 to 300 I’ll just assign 300 to this and let me print this out and as you guys see initially the value was 30 I have successfully changed it to 100 now we’ll go ahead and work with some dictionary functions so let’s say if we have two dictionaries over here we have fruit one and fruit two so in Fruit one we have Apple and Orange in Fruit two we have banana and guaa and if I want to append the elements of fruit two to fruit one or in other words if you want to concatenate the fruit two values to fruit one all we have to do is use the update method so I have fruit one and I’ll use update method and I’ll pass in Fruit two inside this so as you guys see we have appended banana and guaa to the end of fruit one then similarly we can go ahead and pop an element from a dictionary so we can uh so if we want to pop any key value pair so inside the pop method we would have to give the key which we want to pop so we had orange but I don’t really like oranges so that is why I went ahead and I popped out Orange so as you guys see orange is not present in this particular list now let’s create two more dictionaries I have fruit one and I’ll have two fruits inside this so I’ll start with mango and I have 10 mangoes then I’ll have apple and maybe I have 20 apples with me then I’ll have fruit two and in Fruit 2 let’s say I’ll start off with guaa and I have 30 guavas with me then going ahead I’ll have lii and I’ll have 40 Lees with me so I have created these two dictionaries so we have made a mistake over here let’s actually check what this mistake is so instead of the equal to operator I’d have to give colon over here that is important so I have created fruit one and fruit two let me print out fruit one and fruit two for your sake and once we have printed these two let me go ahead and actually epen the values of root2 to fruit one so for this I’d have to use fruit one then I’ll Us in the dot operator over here and after that I will use the update method and inside the update method I’ll be passing in Fruit two and let me print out let me close this first now let me go ahead and print out fruit one now as you guys see I have appended the values of frot 2 to fruit 1 now we have frot one already but let’s say if I want to pop out something from this so let’s say from this if I want to pop out the value of lii I’ll have fruit one then I’ll use the pop method so fruit one. pop so we have an error because we’d actually have to give a key inside this so because I’d want to pop out lii I’ll give an lii over here and we have successfully popped out lii from this now we’ll head on to the last data structure in Python which is set so set is an unordered and unindexed collection of elements enclosed within Square braces so when we say unordered so in whatever sequence you insert the elements in a set those that particular order does not remain intact and also when we say it is not indexed you can’t extract elements from a set with a particular index value because there is no proper ordering and also you’d have to keep in mind that in a set duplicates are not allowed so you can’t have the same element twice but if you actually given the same element twice what happens is the set takes it only once and uh we are creating one particular set over here and if you want to add a new element inside this so initially we are creating this set where we have all of these elements we have 1 a true 2 2 B and false and if I want to add a new element at the end of this or somewhere so I’ll just use S1 do add and this is how we can insert the new element inside this now let’s say instead of adding just one particular element if I want to add multiple elements at the same time so instead of the add method we will be using the update method and with the update method I am passing in these list of values which are 10 20 and 30 and as you guys see I have inserted 10 20 and 30 inside this but then again you have to keep in mind that the order is not maintained in a set so these are inserted randomly and if you want to remove a particular

    element you can just use the remove method and you will pass in the element that You’ want to remove again since there is no indexing you can’t remove elements with an index value you would have to give the value which You’ want to remove explicitly so let’s create our first set so I’ll have S1 I’ll just add some elements over here I’ll have a b c d e and f let me print out S1 for your reference and this is what we have now let’s say I’ll add some duplicates inside this and let’s see what happens so I’ll have a repeating three times then I’ll have B also repeating two times then I’ll have C repeating two times now if I print this out as you guys see we have only a b c d e and f even though a is repeating three times we will only have one unique value of a similarly even though B and C are repeating two times it’ll only have one unique value of B now if I want to go ahead and add add a new element inside this I’ll use the add method so S1 do add and inside this I’ll just add Sparta so when I use S1 do Sparta and when I print S1 so we have inserted Sparta over here similarly if you want to pop out something or remove something we will have to use the remove method so I’ll have S1 do remove over here and inside this let’s say if I want to remove the element e I’ll just pass in E over here and let me print out S1 again so we have successfully removed the element E from this entire set now we’ll work with some set functions so here we have two sets S1 and S2 in S1 we have the elements 1 2 and 3 in S2 we have the elements a b and c now if we want to combine all of the elements which are present in S1 and S2 then we can use the Union operator so S1 do Union S2 will give us a union of S1 and S2 and as you guys see in the resultant we have 1 2 3 A B and C similarly we have two sets over here and if you want only the common elements which are present in both of the sets so here we have 1 to six here we have 5 to 9 if you want the common elements I would use the intersection method so when I use S1 do intersection S2 you will see that we have five and six common in S1 and S2 and that is the result which we get let me have S1 over here and in this I’ll have 1 2 and three I’ll have S2 in which I’ll store four five and six now let me use the union operator so I’ll have S1 do Union and inside this I’ll be passing in S2 and as you guys see I have appended four5 6 at the end of S1 now similarly if I want to find out the common elements so let me make some modifications in S1 so in S1 let’s say I have from 1 2 3 4 and 5 and then S2 let’s see I have the elements 4 5 6 7 and 8 now if I want to find out the common elements which are present in S1 and S2 I’ll have S1 do intersect and inside this I’ll be passing in S2 and uh we seem to have an error over here so this has to be intersection and not intersect let me click on run so as you guys see by using the intersection operator we have the common elements which are four and five now we’ll understand about flow control statements in Python and then flow control statements we’ll have decision making statements and looping statements we’ll start off with decision making statements and as you can get from the name itself decision making statements would help us to make a decision on the basis of a condition and we have a very good example over here right in front of us so let’s say you would want to play football but it’s actually raining outside so the condition over here is if it’s raining outside then you can’t play you’d have to sit inside on the other hand if it’s not raining else it is not raining then you can go out and play football so this is a very good example of if El statement then let’s look at another example let’s say you have your main exam coming up and you go ahead and give a mock exam and in that mock exam if you score greater than 70 marks then your parents tell you that they’ll buy you an ice cream but on the other hand if you score less than 70 marks then you would have to give another mock test so this again is an example of IFL statement so now that we’ve understood how IFL statements work let’s go to Jupiter notebook and Implement them so here we have two variables A and B we have stored the value of 10 in a and 20 in B and we are trying to see if the value of B is greater than the value of B that is we are checking if 20 is greater than 10 and if that is evaluated to true it will just go ahead and print out B is greater than a and this is the syntax as you see you’ll give an if the keyword if you’ll follow it up with the condition and in the condition we are checking if B is greater than a so is 20 greater than 10 that is evaluated to true and since that is evaluated to true when I hit on run I’ll get this result which is B is greater than a now let me change the condition over here so instead of checking if B is greater than a I want to check if the value which is present in a is is greater than the value which is present in B so I’m basically checking if 10 is greater than 20 and obviously this evaluates to false and since this evaluates to false whatever is present inside the body of this if will be skipped out and when I hit run you’ll see that I’ll not get any result over here because this is evaluated to false so whenever if is evaluated to false you need something else so that is why we have this else keyword over here so here we are checking if a is greater than b and since this has been evaluated to false I’ll give an lse keyword over here and I will print out whatever will happen since this is false I would have to print out B is greater than a and when I hit on this you would see that I’ll get B is greater than a and which is actually right so this is about if else condition then we have another variation of if else which is if L if else so with the help of this we can compare multiple variables together or we can have multiple conditions together and this time I’d want to find out the greatest value among three values so I have three variables over here A B and C I’m showing the value of 10 in a the value of 20 in B and the value of 30 in C and once I do that using if I start off by checking if the value of a is greater than b and also if the value of a is greater than C so as you can look over here I am giving two conditions and those two conditions have been joined with the help of this and operator if a is greater than b and if a is greater than C and if that is the case I’ll go ahead and print out a is the greatest and if either of these is evaluated to false then with respect to and operator you know that if either of these is false or both of them are false then this part will be skipped so here if a is greater than b we are checking if 10 is greater than 20 that is obviously false and we here we are checking if a is greater than C so is 10 greater than 30 that again is false so false and false will be evaluated to false and that is why we’ll be skipping out this particular line then we’ll head on to LF and this time we are checking if B is greater than a and b is greater than C so B is greater than a 20 is greater than 10 this is evaluated to true after this we are checking if 20 is greater than 30 this is evaluated to false so true and false is again false and that is why we’ll skip this as well and finally we’ll enter the final L statement and we’ll just go ahead and print out C is the greatest so this is about if LF else then we can also go ahead and use the if statement with a tuple so here we have created a tuple where we have three elements a b and c and once we create this Tuple I am trying to find out if the element a is present in this Tuple so here if a in tube one then I go ahead and print out a is present in T1 and as you see since this is evaluated to false or in other words this element is present in the stuple I’m able to print out a is present in tp1 now on the other hand if I would want to check if an element Zed is present in this duple so here I have if Zed in tup1 print Zed is present in tup1 and as you see I don’t get anything because this element is not present so here what I’ll do is I’ll add the lse statement and I’ll print out Zed is not present in T1 and this time I’ll get the result because this is evaluated to false and we’ll print out whatever is there in the else condition and this time we are going ahead and using the if statement with a list so again we are creating a list L1 over here and we have these three elements a b and c and this time what we are doing is we are checking if the value which is present at zero with index of this list is equal to a and if that value is equal to a I would want to change that value to 100 so you see if L1 of 0 is dou equal to a I am assigning a new value over here and that value is equal to 100 and after I run this you would see that initially the value was a and I have changed that value to 100 now let’s say if I run this back again and if I would want to change this value from a to zed I’ll just have Zed over here and you would see that initially the value is a and this time I have changed the value to zed and finally we will be applying the if statement with the dictionary so here we have created a dictionary D1 where we have three key value pairs K1 K2 K3 the value of K1 is 10 the value of K2 is 20 and the value of K3 is 30 and with the help of the if statement I am adding 100 more to the first key over here so the condition is if D1 of K1 is equal to 10 I’m checking if the value for the key K1 is equal to 10 then I will add 100 more to this by using this condition so D1 of K1 is equal to D1 of K1 + 100 so I have an error over here I’d have to initialize D1 and as you guys see initially the values were 10 20 and 30 and after using the if condition I have added 100 more to the first value of the first key so those were decision- making statements now we’ll head on to looping statements and these are used to repeat a task a certain number of times and again we have a very beautiful example over here let’s say you have a bucket and you would want to fill up that bucket with a mug of water now what you’ll do is consider the mug and the bucket to be empty at this point of time first you’ll fill up the mug and you’ll pour this water into the bucket then you’ll check if the bucket is full or not after this again you’ll take a mug full of water then pour it back into the bucket again you’ll check if the bucket is full or not then next time again you’ll take a mug full of water pour it back into the bucket and again you will check if the bucket is full or not and this process goes on until the bucket is completely filled up with water and you will stop this only when the bucket is filled so here what you’re doing is you’re looping or you are performing the same task again and again until a condition is met we have another example over here let’s say you’re listening to your favorite song and you put that song on Loop so here the condition is the same song will be kept on playing until you either close the app or maybe use switch off your phone so this is the condition over here the song is on Loop until you close the app you stop the song or maybe you switch off your phone then we have a very interesting example so at the end of every month you will get credited with your salary amount so here what is happening is if the date is equal to 30th or 31st and if it is the last day of the month you will have salary Creed into your bank account this again happens in a loop so these are some examples of looping statements and we have two types of looping statements in Python which are fur and while we’ll be working with both of them so we’ll go ahead and start off with the for Loop so here we have created a list called as fruits and this has these three fruits over here apple mango and banana now with the help of this fur loop I would want to print out all of the individual Elements which are present over here so I’ll have for I in fruits print of I so here I what happens is initially the value of I will be equal to Apple then the value of I will be equal to Mango then the value of I will be equal to banana and this will end once I reaches the last element which is present in this list and that is how we are printing out each element which is present in this list so this is a very simple example of how we can work with the for Loop then we can also have a nested forur Loop where we’ll have one fur Loop inside another forur loop and here we have two lists again we have one list comprising of different colors and we have another list comprising of different items so the colors are blue green and yellow and the items are book ball and chair and what I’m doing is I have an outer for Loop which would help me to pick a color so here it is for I in color then inside the outer for loop I have an inner for Loop which goes for J in item which would help me to choose an item and I print out I comma J let’s understand how this for Loop works over here so initially value of I is equal to Blue and we enter the for Loop and the value of J over here will be equal to book so I print out I comma J it will be blue book then value of J is incremented it becomes ball and I print out blue ball again then value of J is incremented it becomes chair then I print out blue chair then I go back to the outer loop and blue is incremented then the color becomes green then I have green book green ball green chair again after this value of green becomes yellow then I print out yellow book yellow ball and yellow chair this is how you can work with nested for loop after the for Loop we have the while loop so while again would help us to repeat a particular task and this task is repeated on the basis of a condition and over here I am trying to print out the first 10 numerical numbers using a y Loop here I have initialized a variable called as I and I have assigned the value of one inside this variable and after this I am checking if the value of I is less than or equal to 10 and if the value of I is less than or equal to 10 I enter this y Loop and I print out I then I increment the value of I so let’s understand what is happening in this y Loop initially value of I is equal to 1 so the condition is is 1 less than or equal to 10 and since that is true I go inside the for loop I print out one then I value is incremented it becomes two then I go back and I check if 2 is less than or equal to 10 this again is true I head back I print out two then then I increment the value of I it becomes 3 then I’m checking if 3 is less than or equal to 10 this again is true I head back into the Y loop I print out three then I value is incremented it becomes four then again I am checking if 4 is less than or equal to 10 this is true I come back into the Y loop I print out four then I will increment the value of five it becomes five then we will proceed the same way till the value of I is equal to 10 when the value of I is equal to 10 I am checking if 10 is less than or equal to 10 and this condition is true I print out 10 over here after this I have I + 1 value of I becomes 11 and this time when I check is 11 less than or equal to 10 this condition fails and this is when I come out of this y Loop and this is the result which I get over here similarly instead of the first 10 numbers if I want the first 15 numbers I’ll just go ahead and change this value over here and you would see that I have printed out the first 15 numbers now using the Y loop I can also go ahead and print the two multiplication table here I have I and I’m assigning the value of 1 to I then I have a new variable called as n and I’m assigning a value of two to this new variable and and in the Y loop again the condition is while I is less than or equal to 10 and while this condition is true I will print out n into I is = n into I then I am incrementing the value of I so let’s again understand what is happening inside the Y Loop so initially value of I is equal to 1 so the condition will be while 1 is less than or equal to 10 which is true I come back over here and I print out n into I which will be 2 into 1 is = 2 so I print out this then I increment the value of I it becomes 2 is 2 less than or equal to 10 yes that is true I come inside then this time I print out 2 into 2 is equal to 4 then I value is incremented it becomes three so is 3 less than or equal to 10 that again is true so this time I will have 2 into 3 which is equal to 6 and I print this out and this process continues till I value is equal to 10 and when I value is equal to 10 I will have 10 is less than or equal to 10 which is true so here it will be 2 into 10 is equal to 20 and we’ll print that out and after that when we increment the value of I it will become 11 so it’s 11 less than or equal to 10 which is false and this is when we will come out of this while loop so these were some examples with the help of while loop now we’ll also see how to apply this while loop on top of a list so here we have this list L1 with all of these numbers 1 2 3 4 and five and I would want to add 100 to each individual element of this list so I start off by initializing this variable I I given the value of zero and this y Loop Will Go On tell the length of the list or in other words the number of elements which are there in the list what is the length it’ll be 1 2 3 4 and 5 initially value of I is equal to 0 so we are checking if 0 is less than 5 which is true we come inside the Y Loop here it will be L1 of 0 is equal to L1 of 0 + 100 so it will be 1 + 100 we’ll print out 1 + 100 over here then we have incrementing value of I it becomes 1 so is 1 less than 5 it is true so here we will have L1 of 1 is equal to L1 of 1 + 100 so it will be 2 + 100 which will become 102 and this is how we’ll go on and print out or add 100 to each element of this list now that we have built a strong Foundation let’s elevate your skills it’s time for advanced python Concepts get ready to dwel into objectoriented programming inheritance and exception handling along with efficient file handling techniques now we’ll head on to one of the most important Concepts in Python which is objectoriented programming now when you look around you you would see that you are surrounded with objects the laptop which is there in front of you that is an object the phone which is there in your hand that again is an object the bottle which is there beside you that again is an object now if you want to represent all of these Real World objects in the programming Paradigm you would need an objectoriented programming language so we would have a lot of object-oriented programming languages and python is also an objectoriented programming language because it allows us to represent all of these real world entities in a programming world now to understand the concept of object-oriented programming we would need to understand two main components of it which are classes and then we obviously have objects so let’s start with this term called as class so what exactly is a class simply put you can consider a class to be a template or a blueprint for real world entities and we have a very simple example over here let’s take the example of a phone now when we talk about a phone a phone would again have two things associated with it it will have some properties and it will have a certain Behavior associated with it now when I say properties the phone will have a color associated with it the phone will have a cost associated with it and the phone will also have a certain battery life associated with it and along with these batteries when I say a phone will have certain behaviors associated with it now what do I mean by behaviors I simply mean that with the help of a phone you can make calls with the help of a phone you can watch certain videos on it and all also some phones allow you to play games in it so this class this phone class has properties and behavior associated with it and what exactly is a class in Python you can consider this class to be a user defined data type so as we have predefined data types so we had looked at all of these predefined data types which were integer float Boolean and string so similar to these predefined data types we can create a user defined data type and that user defined data type will be this class so here what we doing is we are creating this class this user defined data type called as mobile and this user defined data type will have attributes and methods inside it so these attributes are nothing but the properties of the class and these methods are nothing but the behavior of the class now that this is clear let’s understand the next component of objectoriented programming which is is object so we already know what is a class now object is nothing but a specific instance of a class so when we say we have a mobile class the specific instances of this mobile so we have apple Motorola and Samsung so Apple Motorola and Samsung would be objects of this class phone or mobile and if you want examples of what exactly is an object so as we have these predefined data types so these are integers so a is an integer variable and I’m storing the value 10 inside this similarly B is an integer value and I’m storing the value 20 inside this so similarly if we have the mobile data type then for this mobile data type we have the objects Apple Motorola and Samsung so that was a brief intro to objectoriented programming now let’s see how can we actually create a class in Python so to create a class in Python we’d have to start off by giving this keyword called as class then going ahead we will give in the name of the class and by convention you would have to remember that the name of the class needs to be Capital the first letter has to be Capital so that is why we have given capital P over here so the name of this class is phone and inside this we are defining two methods so the with the help of these methods we can have the behavior of this class so I am having this first method called as make call and inside this method I’m just printing out making phone call and over here as you see this method takes in a parameter which is self so for now just understand that with the help of this self parameter you will be able to invoke the attributes which are present in this class just understand this for now and as we go ahead through objectoriented programming it’ll be much more clear to you guys so as we have cre created this particular method similarly we will create another method called as play game and this again takes in one parameter which is self and all I’m doing is printing out playing game so now that I have created my blueprint or my class over here I would have to create a specific instance of it or in other words I’d have to create an object of this phone class so I’ll just write down phone over here and I will store it in this object called as P1 and now that I have the object of this class I can go ahead and invoke the methods which are present in this class with the help of this object so when I type in p1. make call with the help of this I will be able to invoke this method and I am printing out making phone call similarly when I invoke p1. playay game I am invoking this method and I’m printing out playing game so this is how we can create a class and an object in Python so let’s let’s go to jupyter notebook and work with this example so my task would be to create a class so I’ll have class I’ll give the name of the class as phone I’ll give it a color over here and after this I would have to create a method and to create a method we already know that we will be using the def keyword and I will give the name of this method as make call and we know that this takes in only one parameter which is self and inside this I will just have a print statement which will be making a phone call and once I have this method I will go ahead and create another method over here so I will call this method as play game def of play game and I’ll have self over here again I’ll have a print statement and here I will write down playing a game so I have created created my phone class over here and now that I have created this phone class I would have to create an object of this so here I will have P1 is equal to phone so I have to give parenthesis over here and this is how I’m creating an object of this phone class and now that I have the object ready so with the help of the dot operator I can invoke both of these methods so I’ll start off by invoking the make call method so I will have make uncore call and when I hit on run you would see that I have successfully printed out making a phone call similarly now when I have p1. play game you would see that I have printed out playing a game so we have created our first class and we have also created the object for this class and now in the methods which were present in the previous class there were no additional parameters we had only one parameter known as self and with the help of that self parameter we were just able to access the attributes which are present and we did not actually have any attributes in the previous class so we will modify that so to our phone class are actually the methods which are present in our phone class he will be adding some additional attributes so we are adding a new method over here called as set color and this set color method over here takes in two parameters the first parameter is self because it is compulsory then we will have this new attribute called as color and with this color parameter what I’m doing is I will have an attribute called as color and I am assigning this color to the attribute color which is present in my phone class similarly I have another method called as set cost this again has two parameters first is self because again it is compulsory then we have this additional parameter called as cost and I would also have an attri rute called as cost in the phone class and what I’m doing is I am assigning this value of cost to my attribute cost in the phone class so now that I have assigned the value of color and cost to my attributes what I’d have to do is show the value of color and show the value of cost so now that I have set these I would need two methods to show the color and show the cost so that is why I will create a new method called as Show color and this only has the self attribute or the self parameter over here because I’m not assigning anything and all I have to do is return the value and if I have to return the value I’ll just use this keyword return and I’ll print out return self. color similarly if I would have to return the cost I would have this new method called as show cost this takes in only one parameter which is self and I’ll go ahead and return here as you see I will have return self. cost and these are the additional methods which I have and then I have the same methods which are make call and play game and inside make call all we are doing is printing out making a phone call and inside play game all we are doing is printing out playing a game so let’s go ahead and modify our phone class which we had created earlier I’ll delete these records from over here let me cut this entire thing or actually I can write it over here itself so these are the methods which were present earlier I would have to add four more methods inside this so to create a method we would have to use the def keyword and I would have to set a color to the attribute so I will use this method called as set color the first parameter itself because it is compulsory then I will have this additional parameter called as color and I am assigning the value of this color to the attribute color by using the self attribute or self parameter which I have passed in now similarly I will have another method over here so as I have set the color similarly I would have to set the cost as well so def I will have a new method called as set cost this would take in two parameters the first parameter would be self and the second parameter would be equal to cost and over here I will write down self do cost is equal to cost and this is how I’m assigning the value of cost and after this I would have to print out the value of color and cost I would need one method called as Show color and the parameter will only be self and what this does is it would just return out the color so it’ll be self. color then I would need another method called as show cost and this again would take it in only one parameter which is self and with the help of this I am returning out the cost so here I will have self. cost so these are the four additional methods which I have added inside this so seems that we have an error over here let me see what exactly is this so this is line number seven and this is set. cost so here I would actually have to give a comma instead of full stop over there and now we see that we have successfully created this now after creating this class I would have to create an object so I will have P1 is equal to phone and now that I have created this object with the help of this object I can access these methods and assign values to the color and cost so I’ll just invoke P1 do set color and I will set the color of this phone to be equal to let me keep it blue over here now similarly I will also set the cost of it so I’ll have P1 do set cost and I will set the cost to be equal to let’s say $999 now that I have set the value of color and cost I can print out these two values so let me delete this so I will have P1 dot Show color and now when I hit on run you would you would see that the color is blue similarly when I have p1. show cost you would see that the cost is equal to 999 so this is how we can have additional attributes and pass in values to the attributes which are of which are belonging to a class with the help of these additional parameters now there’s a special example or a special Concept in object-oriented programming which is known by the name of a Constructor so if you have worked with other languages such as C++ or Java and if you have learned about the concept of inheritance you would know about a Constructor so normally in C++ or Java a Constructor is a special method which would have the same name as that of the class and this would help us to initialize the values of the attributes during the object creation itself so that is what a Constructor in Python itself it’s just that the Constructor in Python the name of this method will not be equal to the name of the class so the Constructor in Python goes by the name of init method so here as you see this is our Constructor we have our init method over here and I have def so in it we have the prefix of two underscores and also after in it we will have two underscores over here so we have our Constructor ready and as I’ve told you with the help of a con Constructor we will be able to assign values to the attributes during object creation itself so obviously we will have some parameters inside this and with the help of these parameters we’ll be able to assign values to the attributes so in this employee class let’s say I would have four attributes called as name age salary and gender so I’ll have these four additional parameters over here and I am assigning the value of name to this attribute similar L I am assigning the values of age salary and gender now that the Constructor is ready and I have assigned the values I would have to show the values out and to show the values I have this new method called as employee details and I will create this method like this so I’ll have def employee details and I will pass in self inside this because I’m not assigning anything and this is the default or the and we definitely have to give the parameter inside this and inside this method I’m just printing out the name of the employee the age of the employee the salary of the employee and the gender of the employee and and once we create this class it will go ahead and create an object of it so here when we are creating an object as you see we have E1 is equal to employee and during the instantiating of the object itself as you see I am passing in the values for all of the attributes so as you see over here the name I’m assigning the name to be equal to Sam similarly the age I am setting it to be equal to 32 then the salary I am setting it to be equal to 85,000 and the gender I’m setting it to be equal to male and this is how I’m assigning all of the values during instantiating of the object and once I have created the object and since I have also given all of the values to the ET I can directly invoke the employee details method and when I invoke the employee details method you would see that I am able to print out all of the details name of the employee is Sam age of the employee is 32 salary of the employees is 85,000 and gender of the employes mail so let’s go to jupyter notebook and implement this concept of Constructor so I’ll just add this comment over here Constructor and I will create this new class so I will have class employee and inside this I will go ahead and create the init method def I will have two underscores then I’ll write down init then again I’ll have two more underscores over here so I’ll start off by giving the self attribute inside this then I will start off by giving the name attribute then I’ll give in the age of the employee after this I will give in the salary and then finally we have the gender of the employee and all I have to do is assign these parameters to the attributes which are present so I will have self. name is equal to name self. H is equal to H self do salary is equal to salary and self. gender is equal to gender again so I have created this Constructor over here after this I would have to create a new method called as show employee d details let me just write down the name of this method so I will have show employee details and this will have only one parameter which will be self and inside this method I’m going to print out all of the values of the different attributes which are present so I’ll start off by printing the name so I’ll have name of the employee is I’ll have self. name then I I will have age of the employee s here I’ll have self. AG then I will have salary of the employee is here I will have self. salary and finally I will have gender of the employee s and here here I will have self do gender so let me hit on run and I have successfully created this class where I have a Constructor inside this now I can go ahead and create an object of this so I will have E1 over here and what I will do is I will give the name of this class which will be employee the first value inside this should be the name of this person so let’s see this uh employees name is Sam then Sam is 28 years old and let’s say sam around earns around $775,000 let’s make the $75,000 and Sam is mail so I have created this object over here now that I have assigned all of the values I can go ahead and invoke the show employee details method here I will have E1 do show employee details and when I invoke this you would see that I have this result name of the employee is Sam age of the employee is 28 salary of the employee is 75,000 and gender of the employeer male now we’ll understand the concept of inheritance so simply put inheritance as when you derive some properties from something else and a real world example of inheritance would be you’ll be inheriting some of your features from your parents and your parents will be inheriting some of their featur teach from their grandparents or in other words let’s say you will sort of look like your parents in a way and your parents might look like your grandparents in a so you’re inheriting some physical features from your parents now if we have to relate this concept of inheritance in Python this basically means that we will have a child class and a parent class and the child class would inherit some features or all of the features from the parent class and we have an example of inheritance over here so what we’re doing is we are starting off by creating the parent class so the parent class is called as vehicle so we will have class of vehicle and inside this I have two methods the first method is the default Constructor and in this Constructor I have two additional parameters which are mileage and cost and I am assigning the value of mileage then I’m also assigning the value of cost and once this is done I will go ahead and create another method called as show details and inside show details I’m printing out I’m a vehicle then I’ll go ahead and print out the mileage of the vehicle and also I’ll print out the cost of the vehicle so now that the parent class is ready I would have to create an object of the parent class so here I have V1 is equal to vehicle and I pass in 500 and 500 so this 500 would denote the mileage of this vehicle so this might basically mean 500 m per gallon then we have the cost which is 500 again so this would mean that the cost of this vehicle is $500 so now that we have created this object we can directly invoke the show details method with this object so I have b1. show details and as you have in the result I’m awle mileage of the vehicle is 500 and cost of the vehicle is 500 let’s go to jupyter notebook and implement this let me delete all of these previous examples from over here let me keep it fresh and I will create this new vehicle or new class called as vehicle over here we will start off by creating the Constructor I would need the init method over here and the first parameter is obviously self after this I would need the mileage of the vehicle and I would also need the cost of the vehicle then I’ll go ahead and set out these two values so I’ll have self do mileage is equal to mileage after this I will have self do cost is equal to cost now that I have created this Constructor I would have to show the details so I will have show vehicle over here and this will just have one parameter which is self and inside this method I will go ahead and print out some basic things so first I’ll be printing out I am a vehicle then I will go ahead and print out mileage of the vehicle s here I’ll have self. mileage then I’ll go ahead and print out the cost so I’ll have cost of the vehicle s here I’ll have self. cost and this is how I have created this class and after creating this class I would have to create an object of it so I will have V1 is equal to vehicle and inside this I would have to pass in the mileage value first so let’s see this vehicle would give me around 120 m per gallon and the cost of this vehicle is around $800 so I have set these values over here then I can just go ahead and invoke the sh vehicle method so here I will have V1 dot show vehicle and when I run this we have an error over here let’s understand what exactly is this error so we have self. mileage we have self. cost inside this vehicle object has no attribute mileage so I’m setting Mi i l e a g e let me keep it over here now when I run this so as you see I have successfully printed out I’m a vehicle mileage of the vehicle is 120 and cost of the vehicle is 800 so we have created our parent class now it’s time to go ahead and create our child class so to create the child class we will again go ahead and give the name of this class which is car so we’ll have class of car and to inherit something inside the parenthesis so as you see this class we did not have any parenthesis over here but after this child class we’ll have a parenthesis and inside this we will pass in the name of the parent class which is vehicle and this child class will have a method of its own which is show car this takes only one parameter which is self and I’m going ahead and printing out I am a car with this method now once I create this child class I will create an object of it which is C1 now here as you see even though I don’t have a Constructor inside this child class but I’m passing in some values this is because since this car class is inheriting the vehicle class this will automatically have these two methods inside it so this car class will have the init method and also the show details method so this car class will have three methods in total which are the Constructor from the parent class then the show details method from the parent class and also this show car method which is explicit for this car class now since this also has the Constructor we would have to pass in the values for the mileage and the cost and as you see I am passing in the value for mileage which is 20000 and the value for cost which is 1,200 then I’ll go ahead and invoke the show details method with the help of this object of the child class so as you see this object is of child class but this method is of P parent class but since this child class inherits the parent class that is why we are able to invoke this method and when you see the result we have I’m a vehicle mileage of vehicle is 200 and cost of vehicle is 12200 and since we also have this show car method which is part of the car class we can directly invoke it so when I have C1 do show car I get the result I am a car so we already have our parent class over here now let me go ahead and create the child class as well so I will have class of car and I’ll have this parenthesis and inside this I will pass in this vehicle class then I would have to go ahead and create a method which is explicit to the car class so I will have Def and I’ll name this method as show car this takes in only one parameter which is self and inside this I will have the print method and I will go ahead and just print out I am a car and when I hit on run you would see that we have successfully created this class so after creating this class I would have to create an object of this so I will have C1 is equal to car and since this inherits this this will also have a Constructor so it have to pass in a value for mileage let’s say this car would give me a vage of around 300 M per gallon and the cost of this car is around um let’s say $10,000 so I’ll pass in these two values over here now that I have passed the values let me invoke the show details method this is actually show vehicle method which is there in the parent class so C1 do show vehicle and as you see I have the result I’m a vehicle mileage of the vehicle is 300 and cost of the vehicle is $10,000 and since we also have this particular method over here I can go ahead and invoke it I will have C1 do showard this has to be small C now when I hit on run you would see that I’m able to print out I am a car now we’ll see how to overwrite the inid method in the child class so in the previous example we had created a child class where we had only one method over here but what we’ll do is we’ll also have an init method in this this child class and this init method will take in four parameters the first two parameters will just be the two parameters for the parent class and since the vehicle class has mileage and cost parameters I’ll have them over here I’ll also have the self parameter and I will add two new parameters for the car class itself so I’ll have tires and HP now to pass in the values for the super class or the parent class I would need the super method so I will write down super dot in it which would basically mean that I am invoking the init method of the super class or I am invoking the init method of the parent class and inside this I am passing in mileage and cost so these are just values of the parent class which I’m passing in and after passing in the values of the parent class I’ll go ahead and assign the values for the child class as well so here as you see self. tires is equal to tires I am assigning the value of tires over here to the attribute of the car class similarly I am assigning the values of HP over here to the attribute of the car class and once I assign these values I would have to show them out so here I will have def of show car details and I will print out I am a car number of tires are self. tires and value of horsepower is this and after I create the template of this child class I can go ahead and create an object of this so here as you see I will have C1 is equal to car and I given four values over here the first value will be for the mileage of the vehicle class the second will be the cost of the vehicle class so here as you see I’m a vehicle and when I invoke C1 do show details so here even though show details is part of the parent class I’m able to invoke this because car class is inheriting from the vehicle class and here I have mileage of vehicle is 20 and cost of vehicle is $122,000 and I also have 4 and 300 and as you see when I invoke C1 do show car details I have the result I’m a car number of tires are four and value of horsepower s 300 so I’ll go ahead and create the parent class again and child class again over here so I will have class of vehicle and this will takeen this will have in it method so I’ll write down def over here I will write down in it and this will definitely have the self parameter over here and this has two values which are mileage and cost now I would have to assign these values so it will be self dot mileage is equal to mileage over here then I will have self do cost is equal to cost and this is how I am assigning the values for mileage and cost once I do this I would have to go ahead and print out the values so I will have a new method for it I will have def of show car details over here and this will only have one parameter which is self and I will start off by printing ier vehicle and after this we would have to print out the mileage of the vehicle is the mileage of the vehicle is here it will be self do mileage then I’d have to also print out the cost the cost of the wle S sure it will be self. cost and this is how we have created this template for the vehicle class now i’ have to create the template for the child class as well so here it will be class of car and since this is inheriting from the vehicle class I’d have to pass the vehicle as the parameter inside this and after that I would have to override the init method and since I have to override I need to create an init method of the car class itself and I’ll start off by giving the self parameter then I this will have mileage and cost for the parent class then it will have ties and HP which are exclusive to the car class itself and after this I will invoke the super method so this is with the help of this I’ll be able to invoke the init method of the super class so I will have super do init and inside this I will just just pass in mileage and cost and once I do this I would have to assign the values for tires and HP so it’ll be self. tires is equal to tires and self. HP is equal to HP and now that I have created this init method or overridden this init method I would need an explicit method for the car class itself let me give a space over here and this time it will be F of show car details and I’ll have self over here and after this this will actually only have self and nothing else and I’d have to go ahead and print out I am a car and after this i’ have to print out the number of tires are here it will be self DOT tires and after that I’ll have to print out the horsepower as well so here it will be the horsepower is and the value will be equal to self. HP and now I have created the parent class and the child class as well I’d have to create an object of it here it will be equal to C1 is equal to car and I’d have to give the value of mileage and cost let’s say the value of mileage is around 30 so it would give around 30 m per gallon and the cost I would see this is $5,000 and after that let’s see this car would have four tires and the horsepower of this would be equal to $499 and we have created the object of this now that we have also assigned the values I can go ahead and invoke the methods of the parent class and the child class I will have C1 Dosh show car details over here and you would see that I have printed out I’m a car the number of tars are four and the horse par is 499 so these are the details of the child class or the car class now I’ll print out the details of the parent class so here I will have C1 dot show w vle details and when I print this out this is so seems like I’ve overridden this I will keep the name as show vehicle details over here so this method in the parent class will be show vehicle details and this method in the child class will be equal to show car details and once I have done this you would see that I have this result I’m a vehicle the mileage of the vehicle is and the cost of the vehicle is equal to 5,000 going ahead we’ll look at the different types of inheritance so we have work with single inheritance now we’ll see what is multiple inheritance and what is multi-level inheritance so we’ll start off with multiple inheritance and then multiple inheritance will have a child which inherits from more than one parent class so let’s say if you have a mother and a father obviously you will have a mother and a father and you would be inheriting some of the features from your mother and some of the features from your father and thus what is happening over here is known as multiple inheritance so as you see if there’s a child class this child class will be inheriting some features from parent one and some features from parent two and this is what is known as multiple inheritance and let’s have a look at this over here so we are starting off by creating the first parent class class of parent one I have two methods over here in the first method I am assigning the value for string one so assign string one I have self and St str1 and with the help of this I am assigning the value for this attribute of Str str1 in this parent one class then once I assign the value for this Str str1 I’ll go ahead and show out this value or return this value with show string one so in parent class one I’m assigning the value for string one then I have parent Class 2 and with the help of parent Class 2 I am assigning the value of Str str2 first then I will go ahead and return the value of s str2 then I will have a child class I will name this child class as a derived class and this over here takes in two parameters or in other words this is inheriting from parent 1 and parent 2 and this again has two methods over here the first method is assign string three and I am assigning the value for string three over here then I will go ahead and show it out as you see I am returning or I am printing out self. st3 so parent class 1 parent Class 2 and child class and after that what I’m doing is I am creating an object of the derived class or of the child class and here I have b1. assign string 1 so even though assign string 1 and assign string 2 belong to the parent class I’m able to invoke them because child class is deriving from both of the parent classes so here I am assigning the value of one to string one I am assigning the value of two to string two and I am assigning the value of three to string three once I given the values I go ahead and show out the values over here so D1 do show string one I get 1 D1 do show string two I get two and D1 do show string 3 I get three now this is a bit confusing let’s go to jupyter notebook over here and let’s create our two parent classes and one child class so for this purpose I’d have to given this keyword class and I’d have to given the name of the first parent class which is parent one and after this I will create a method Def and I will name this method as assign St str1 this will have two parameters the first parameter will be self next will be S str1 over here and I’ll just write down self. St str1 is equal to St str1 over here and once I assigned the value I have to print out this value or show out this value so for that purpose I would need another method here it will be show St Str 1 and what I’ll do inside this is this will only have the self attribute and I would have to return the value of string one so this will be equal to return of self. sr1 and you would see that I have created the first class first parent class similarly I’ll go ahead and create the second parent class this time it will be equal to class of parent 2 and and here I will have def of assign St str2 it will be self I will have Str str2 over here and i’ have to assign the value this will be equal to self. str2 is equal to St str2 over here and I’ll go ahead and create the next method I will have show St str2 I’ll have self over here and i’ have to return s Str to and I have also created the second parent class now that both of my parent classes are ready I can go ahead and create the child class so here class of I’ll just name this child class as child because that is more intuitive and inside this I will be passing in both of the parent classes I’ll have parent one as well as parent 2 and now that I pass in both of the parents I’ll create one method exclusive for the child class itself and inside the parent class I’ll be assigning the string three assign s str3 over here this will have the self parameter and I’ll have S str3 over here and this is how I’ll be assigning the value self. St str3 is equal to S str3 and once I assign the value I would have to go ahead and print it out so here it will be show std3 it will be self over here and I will go ahead and I will return so again here I’d have to keep in mind that this is self of St str2 and here again it will be equal to self of sdr3 and as you see I have created all of the three classes two parent classes and one child class which is inheriting from from these two parent classes now I can go ahead and create an object of this so here I will have C1 is equal to child once I have created this object I can go ahead and invoke the methods so I’ll start off by invoking the method of the first parent class so C1 do assign Str 1 inside this I will pass in the value of one over here then I will go ahead and invoke the method of second parent class this will be equal to assign St str2 inside this I will pass in the value two then I will go ahead and invoke the method of the child class itself assign St str3 and inside this I will pass in the value three once I invoke all of this then I can go ahead and print the out so I will have show St str1 and you would see that I have printed out one then I will have C1 do show str2 then I would have we have an error over here so let’s check this properly self. s str2 we have we are assigning the value over here and we are returning this over here C1 do show St str2 name s str2 is not defined so what I’ll do is I’ll run all of these again because I had added the self parameters and this time we need to get the result and this time as you see when I have C1 do showst str2 I get two over here now similarly I’ll go ahead and invoke the third string so I will have C1 do show sdr3 and this time when I hit on run you would see that I get the result three so this is how we can Implement multiple inheritance going ahead we have something known as a multi-level inheritance and you can consider multi-level inheritance to be grandfather father child relationship and as a grandchild inherits his or her features from maybe his parents and those parents inherit their features from their grandparents so here you have multiple levels and this is what is known as a multi level inheritance so here we have three classes we start off by creating the parent class first and in the parent class we are assigning the name of this person and then we are showing out the name of the person then in the child class we are assigning the age of the person and we are showing out the age and as you see this child class is inheriting from the parent class then we have the grandchild class where we are assigning the gender and we are showing of the gender and here you see that the grandchild class is inheriting from the child class so here there are three levels child class is inheriting from the parent class and the grandchild class is inheriting from the child class now let’s go to jupyter notebook and implement this we have to start off by creating the parent class I will have class I’ll have parent over here and inside this I will create a new method called as assign name this will have self and then we will have name over here and inside this I’ll just write down self. name is equal to name this is how I’m assigning the name then i’ have to show out the name and for that purpose I will have show name this will only have self over here and I need to return self. name and I have created the parent class now after this I would have to create the child class so here I will have class of child I will create a new method over here and I will name this method as assign age I will have self I’ll have age over here and I need to assign this AG so here it will be equal to self. AG is equal to age then I would have to show out the age I’ll have to create a new method this will be equal to show age I’m writing down self over here and I would have to return this so this will be equal to return self. Ag and this child class is inheriting from the parent class that is why I’ll pass in the parent class as a parameter to the child class then finally I will create the grandchild class here I will have class of grandchild and this grandchild class will be inheriting from the child class this again will have two methods the first method will be assign gender and this is how I am passing in the two parameters I’ll have self and gender and here I would have to set self. gender is equal to gender then I will create a new method over here show gender and here I will only have self and I would have to return this it’ll be equal to return self. gendo and now that I have created these three classes over here I have my parent class the child class and the grandchild class I can go ahead and create the object of the grandchild class I’ll call it GC and I will invoke it like this and once I create this grandchild class I can assign the name age and gender so I will have GC do assign let me write it down again so here it is GC do assign name and the name which I’m setting or giving to this person is Bob then I’d have to give him some each so here it’ll be GC do assign age and let’s say Bob is 54 years old and I’ll also assign the gender this will be equal to GC do assign gender and the gender is male I have assigned these three things now i’ have to go ahead and show them out so here it will be GC do show name and I am setting the name to be equal to I don’t have to give anything over here I just have to invoke it and as you see I get the name of this person as Bob now let me also invoke the age over here gc. show AG you would see that the age of this person is 54 then I will have GC do show gender and here as you see the gender of this person is male so let me take you to the next slide with the introduction to the file handling okay so what do we mean from file handling so whenever I just talk about the file handling topics so we say that dealing up with a text files is completely known as file handling text files you all know right do the files which we have extension that do txt right that particular files are known as the text files so let’s say you wrote out some uh text onto a file and just save that particular text file now how to deal that with that particular text file with the help of Python Programming like let’s say if you just want to write some things into that file you want to read out that what’s written into that particular file or or any particular operation you want to perform onto that particular file so how you can do that particular thing in the with the help of Python Programming that’s completely known as file handling right hope you are very much Clear first of all that what file handling means so as mentioned the definition as well that deal with the text files is called as file handling right even in Python Programming we have one another name for the file handling and that goes as IO functions that is the input output functions so whenever I see file handling or IO functions they both actually mean the same thing that’s dealing with that text files do not cut confused into these things okay next so as I as well mentioned out that what are the places what are the things that uh come under the file handling what are the operations that you could perform so in the file handling we already have many functions in buil functions which helps us to operate out and do out the steps like opening of the file reading the text whatever is written uh writing something into the file appending the text basically altering out the text deleting out some text and all these operations you could completely perform form with the help of python right so as I mentioned that there are many different functions that are particularly involved up here now after that basically I have one more thing here and that is basically that what’s the IDE that I’m going to use and what’s the python version that I’m going to use up here to for doing out the Practical for the file handling see one very important thing to let you know that basically what are the online idees you are having that do not support out the file handling technique and the reason is that with the help of the py file that pypy is basically your python file into which you write out your coding stuff so any of the online ID if that particular ID is supporting the py and the dxt file at the same time then absolutely you could use out that IDE for writing out your W start online ID otherwise I would recommend you to download out a offline ID now there are many different idas which you can go ahead with like you can use out the uh py Jam you could use out the vs code you could use Jupiter notebooks whatever you feel like you could use let me tell you my particular specifications that I’m going to use so I’m going to use about the pyam IDE and the python version which I am using is 3.9.1 right if you have the same configurations well and good and even if you have some newer version of python then also it’s absolutely fine uh do not take out the python versions below than 3.7 okay some functions work there some functions do not work so I would recommend you to upgrade your python version above 3.7 hope you are very much clear with this particular that uh what’s are dealing with the text and what are the functions or operations which you could perform and basically what’s the IDE that I’m going to use up here for doing out the stuffs right so now basically I’ll be taking you to the next slide and there we are going to discuss about the open read and the write modes which we have in the file handling so let me take you to the brief discussion of these three particular topics that’s open read and write modes okay as the name suggest for the open mode so into this particular mode what you could do you could open out any text file with the help of this particular function that’s open so this particular open mode is used whenever you just want to open out a text file for reading or for writing for altering or for doing anything so you use out the open function at the very first point now one more thing uh which comes up here is that let me take a very a live example of this particular uh do not assume it as a text file let’s say I’m having out a book okay I want to read out a book so how can I read out the book I’ll be taking taking out that particular book I would be first of all opening that then reading out the stuffs whatever I just want right same particular case applies here onto the text file as well you will be saving out your text file onto the same folder where your python file has been saved out after that the very first step that comes is the opening of file writing reading altering all these things are the secondary part that you need to do like if you are not opening the file without opening your file how you could perform out any of the operations right so that’s the reason whenever you we do the file handling whenever we just deal out with the text files so the very first method but the very first step thatp users opening our text file so that particular thing is performed by the open mode which we have here in the Python programming language hope I just made this thing very crystal clear that what is this open mode and why we just use that here in the file handling right now next I’ll be taking you to the read mode after you have opened up your file let’s say you just want to read out some text from that file let me take the again example of the book when I have opened out my book so there can be two cases for opening out my book first can be I want to read out something from that book or even I just want to write out something onto that book right only two cases could be there so so whenever is your first case that you want to read out something from your book in the same case whenever you just want to read out something from your text file so into that particular case what we do we use out the read mode right so this is our mode which is used whenever you just want to read out the text which is already stored in your text file so we use out this read mode right hope I made this thing as well very much Clear regarding the read mode as well next your second case could be that instead of reading anything you want to write out something onto that book so same case goes for the file handling as well that instead of reading out your file you want to write something you want to add some more text onto your file so in that case the write mode actually comes in place so whenever you are willing to write out anything to add some more extra stuffs onto your text file so in that case we use out this WR modes this is used whenever you want to write the text in your txt file right so hope I made this right mode as well very much clear to you that what it is used for what’s the case when we use this out and why we just use out this right mode as well right so hope these particular three modes are very much clear that what are these how we perform out the functions how we go ahead with the operations now I’ll be taking you to my IDE that’s my Pam IDE and there I’ll be letting you know that basically how we could perform out the Practical how we can read write and open up the files using the Python programming language so this is the pyam IDE that we actually are having right um I’ll be giving you a quick overview regarding this particular IDE then I’ll be uh going ahead with the Practical so uh here basically let’s I just make out one of the folders this is the folder which I’m having so what I would just for making out a python file into which I’ll be writing out my code so for doing out this particular thing I’ll be clicking on this file okay and now here I’ll be doing out the right click so as soon as I do out the right click this particular box would appear now I would just go on to the very first option that’s new okay from this new Option I’ll be going on to the number fourth option that’s python file I’ll be clicking on that particular here you need to save out your file with any particular name let’s say I’m going to give out the name as file and that’s the let’s say file handling Okay click enter so yeah this is how your notebook actually appears out here whenever you have U made out any py file that’s your py file that’s a completely python file okay hope I’m very much Clear next so here we are dealing out with the text files so it’s necessary to make out one text file see now the two cases apply up here either you make make out a text file or basically you uh you basically uh like take out one part where you already have one of the text files and put on that particular part here so what I’m going to do is that I’m going to make out one new text file here okay so for that again the same procedure go onto your project do out to right click go on the new Option and now in this case go on to the very first option that’s file so whenever you just see out this file option take this as it’s TX file and let’s say my text file name is um text only and hit enter right so click on this and click on okay so my text file has been made and that is having the extension that’s txt this file okay so hope you are able to see this particular file right now what I’ll be doing here is that I would be putting okay let me do one thing yeah I’ll be putting on the uh things and writing out my fold the proof so I’ll be making out a variable L that’s if before that okay not here the text F before that I’ll be putting on some text into this file so I would just put on the text that let’s say uh this is the topic this is the topic of file handling now one more thing to notice out here that this is a text file into which you are writing so you do need not to put out any comment any hash sign or any um double inverted quotations or single inverted quotations nothing like that is at all needed because this is a text file if you were doing out the same thing onto the py file then it would have been a problem it would have shown you errors but as you had made out a text file so it doesn’t matters at all right hope I’m very much Clear let me take you to the file where we have the python file and let’s start writing up the code let’s say I just make out one of the variables now this is known as a file pointer okay make this as a file pointer f is equal to open now open is basically my function the very first function that we are going to see let me put on a hash here and let me wrote out here the first mode that’s the open mode okay so here we use out the open in uh inside this we putting out the double inverted commas okay now into that double inverted commas you’re going to write out the text file name so my text file name is text t. txt okay let me just do out one thing because I just need to rename this out so okay one second that is okay rename file let’s do that not right here so input okay let’s do the cancel F okay let’s go ahead with this particular thing only let’s see what is going to happen out so open text.txt okay that’s my file name come to the new line and this is how you open out your particular text file simply you need to write out a variable that this we just I just wrote out here as if because we call that as a file pointer that’s the reason I mentioned out of if other than that it’s not compulsory you could put on any variables of your choice we put on the assignment operator and after that we use out the open function for opening out this particular file right so as soon as the open file has been done next thing comes is that in which mode you want to open it out you want to open in the read mode or you want to open in the right mode so whenever you are willing to open the read mode in that case we write out here R and whenever you are willing to open it in the right mode so in that case we write out okay so we write out R for the read mode and W to the new let come on to the new come on to the new come on to the new line here and write out here if above f is equal to here goes that open into the bracket my file comes that what file you want to open so that is text txt okay putting out the comma here again double inverted commas quotations come out now here you mention out that uh what’s the mode in which you want to open let’s say I want to go on with the read mode so I just simply wrote out here R so it will automatically understand out that now you want to go ahead with the read mode it means that you are you want to read out your file you are opening your file for reading that let’s come to a new new line here and I’ll be making up a variable that what we will be do that particular variable will be reading out the text for me so let’s say my variable is content a t n content is equal to and my f is the variable in which I have opened out my file in the read mode and now here comes my read function content is equal to F do read come to a new line and simply be writing out here print and into the bracket I’ll be writing out here the variable that’s content because content is only the variable into which my file is being read right it is being read and it is being stored see okay before that let me quickly run out the program then I would let you know what I was just like trying to convey out from here okay no such file or directory I would just willing that it would be happening let me make out a new file click on new uh go on to the file write out here the name let’s say that’s demo hit enter yes now I want out the txt file and click on okay okay right here so let me just close out the file from here now click onto this particular write out here something like uh uh okay that’s demo and let me quickly do out one thing let me make out uh one more right here so that’s file demo. txt click enter so yeah now this is the complete correct file which has been made out please yeah one more thing to notice out here do not miss out the extension that you want to put on fine so as soon as you put on txt now this is your correct file which has been made out so I would just once again put on a text that this is um this is a okay this is a file handling topic let’s say this is my text okay topic now let come to the back here now I would just change on the name for my file that’s demo Dot and that’s txt and I would comment out the first line because now that’s not needed at all let’s run out our file here for a while so okay it’s indexing basically it’s setting up whatever you have written out here so it’s setting up all of that all those particular things so this is one of the things which comes here onto the like uh this P charm ID okay I would just click on the Run button Above So now let me just take you above so right now you are having your output that this is a file handling topic this was the text that we have written in the demo. txt file right this was the same text which we have written out and with the help of the read function we are able to display out this particular text here in this particular context in the console of my pyam ID I’m able to get out this particular text so this is how we perform out the read mode this is how you read out the text with the help of the file handling techniques right hope you’re are very much clear with the first fall read function right now what I’ll be doing is that I’ll be taking you to the next mode and that’s my right mode so what I would just do is that I would comment out all the above three lines because now I want out my file uh to be opened out in the W mode that’s my right mode so let’s say f is equal to here goes the open function my okay one second let me come out to this particular place my file name is demo. txt Right putting out your comma here and I want to open that in the W mode now after opening that into W mode I’ll be using out the right function that what is the text which you want to write into your ta text file so let’s say I just want to uh like write on the topics that write on the T at I’m learning file handling right let me come down once okay the text which I just want to write out so yeah that’s completed now one thing to mention here very importantly which I did not mention up above right I’m mentioning out that whenever you are opening out a file it’s important to close out that particular file as well okay it’s a good practice I would say see when I relate this to the example which I have taken for explaining you about the book so in that case what we were doing in that particular particular case we were having a book so we opened it for you want to read or you want to write inside that books that depends so whenever you have open that out after doing whatever the operations you want to do you’ll be closing out that particular book as well right same case applies here onto the text files as well that whenever you have opened out any text file so you would be closing that as well right so that’s the reason I have used up here f. close file now I’ll be running out my file here now here I would not be getting out any answer into the console file into the console of my Pym ID the reason is that i’ be directly getting out the text onto my demo. txt and here goes that I am learning file handling right I’m learning file handling this is the text right that we have written up right this was a correct sentence so I’m getting out that particular sentence written up here onto my demo. txt file right so hope you are very much clear with this particular function as well that how does this right function works so I hope that you are very much Crystal Clear regarding the open function how does that work about the read function and even about the write function right so uh now we have some more further topics some more further modes to learn about so I’ll be taking you to the presentation right away and then let’s discuss about the rest of the particular topics now let’s discuss about that how we can add the text onto that text file and even how we could count out that what are the number of characters that we have added onto that particular text file so let me take you to the next slide here and here we have the adding the text and Counting characters so let’s first of all discuss about adding that text so whenever I just want to add out any text onto that txt file so in that case we have a function named that’s append a p e n d so this is the particular append function which we use for adding out some data some uh text onto your text files right so basically whenever is your case that you want to add on these lines or you want to add on that particular lines so we use out the upend function so the mode which we write here is double inverted commas and a small a as for the read and write we use to write R and W so for the upend function we used to write here as a small a right so a small a whenever you see that small a written so quickly understand that out that this is the place where anything is being added or written something onto the text file now uh let’s say you have one particular case that whatever the text you are adding on you just want to transfer out or add on that particular text onto a new line so for adding the text in a new line we use out the operator that’s back sln so back sln is one of the other operators that’s used for changing your line to a new line and then adding whatever the text is required right so for the upend function it basically helps us to add the text in your txt file as I mentioned it is used for adding your text in the txt files next the mode used is a for appending means adding or writing some text to the file so whenever I just use out the a so it means that I’m using out my append mode it means that adding or writing out some text to the file then I have that for adding the text to the file in a new line we use back slash and before writing the sentence to be added so yeah this is one more case that comes up I have already told that but one thing I was left here that whenever you just want that whatever you have written up that comes onto a new line I mean to say that uh like a new sentence is being appeared in a new line you want to append the things onto a new line so in that case use out that back slash n in the starting of the sentence not at the last okay use that in the starting of the sentence then it will particularly take you to a new line and display your sentence in a fresh new line like right so hope I’m very much clear with the upend function that what it is used for and how we use that out what are the specifications and what is the mode that we used up here then we have the next topic that’s counting the characters now we have that how you can count out the characters so it comes with the help of the Len function l e n okay so Len is the function which is basic typically used for counting out the characters right that what are the total number of characters which you are having into your file so that particular uh operation that particular thing can be added can performed with the help of the Lin function so what do you do basically first of all you open up your file and you just read out your file using some function that we already have open and read functions after reading out the file and that what takes to written onto the file you just apply out the Len function okay you just simply apply out a len function and that particular Len function is being applied in a variable I mean to say that you put on a variable use assignment operator and the variable in which you have opened your file in the read mode with the help of that particular variable you use out the Len function and as soon as all the things are done up here we simply get out the total count of the characters which you have in your text file right so hope I am very much Clear regarding Len function as well let me go once again that it’s completely used for calculating for finding out the total number of characters whatever you have used in your text file right so first of all you open out your file then you use out whatever the operation you you want to use and after that you simply use out your length function so hope I’m very much Clear regarding the upend and the Len function that what are these two particular functions what are they used for and basically how to use them out so hope you are very much clear with these things now I’ll be taking you to the py charm IDE and they will be seeing a practical for the upend and for the Len function so now let’s see that basically how we can Implement out the upend mode and the lint function so upend mode is basically used for adding on some characters onto your file and the length one is used for calculating that basically how many characters you are happen here right so okay so okay what I would just do is that I would already add out first of all some text onto my demo file because that has been it is because I have commented everything so let’s say I’m going to write out here that I am I am learning I’m learning and here goes like let’s say file handling file handling okay fine this is one of the Tes that I already have out here so I’m going to use out now my append mode to add on some more text onto this particular place so the like the short form that we use is a the very first procedure that I’m going to do is that I’m going to open out my relevant file into which I want to append out that text so that’s for me demo. txt putting out a comma putting out a double inverted commas what’s the mode and mode is a so I’m going to put that out coming to the new line uh okay now here you have I could just take on one variable let’s say that’s um addore text one variable of mine here I’m going to use out F dot write function to write or to add anything onto my notebook onto my file inside this I’m going to write out that okay above what we have written that um what is already written I’m learning file handling okay let’s write out that this is a pin mode like this right let’s come on to a new line print out the addcore text here and at last I’m going to close out my file so F do close putting out the brackets like this uh what I would do is that I would add one back slash in here as well so that whatever comes comes into a new line and here it’s time for running out the program so okay this is basically coming because I have written out your addore T so it’s basically counting out the number of simple characters that I have added so yeah that’s actually okay let’s go on to the demo. txt and see what has come here that this is a pend mode basically here what I’m getting I’m getting a new line added here that this is aend mode and which I have added through the a function using this a mode I have added out that particular thing right so hope I’m very much careful that how the sus function actually works out right so I’m going to do one thing simply I’m going to remove out these relevant things from here so the houseful great and if I again run this out so again it would be basically it will run out here now downside I not got any option any answer but here this again the sentence has been added so the number of times you gun you are going to run this statement out you’re going to run this program out so it will basically add that much number of the statements onto your relevant text file right now this was how the append function actually works out now I’ll be showing you a like for the Len function so here goes the Len function let’s come down here I would again open my file but this time my file would be opened in the uh one second uh this time my file will be opened in the read mode because I want to um uh that that I want to just add on or count on some of the relevant things right I do not want to write or rep anything like that so I simply want to count the total number of characters that’s reason my file will be opening in the read mode okay so here I’m going to write out let’s my variable is data is equal to if dot read and in the bracket I’m going to write out the variable that we are having as if okay not this if I’m simply going to write out if do rone like this next I’m having total underscore count as one of my new variables and into that I’m going to put on first of all the function that we are having Len and the variable into which I have read out my data which I have into my file so that’s the variable is only data okay I will just read on dataor read let that be and here as well goes dataor read so inside the length function you need to write out that particular variable in which you have used out that read function which I have written up here okay and at last you are going to print out here the variable in which you have counted so that’s total count and I write out like this and simply last go here the closing of my file right so what I’m going to do is that I’m going to run out this relevant program here so my total characters the total number of characters which I am having into this file is 87 right I’m to toally having 887 characters onto this demo. txt file right and why I just G get out one more statement like this because I haven’t commented out this particular line that’s that’s the reason one more line has came here right so yeah hope I’m again very much clear that how to use out the append function for adding some takes and basically how to use out the Len function for calculating for giving you account that total how many number of characters are present into your file right I hope I’m very much clear with these things so let’s move on to the next topic and see out the next functions now we’ll be seeing a one another function here in this file handling and that’s the read line function now I’ll be telling you that what read line function actually is and how is that useful here fine now let’s see we had seen about how to read out the taste how to write out the text how how to add on some things onto that particular text right we had seen how we can append and all these things are absolutely clear now there could be one case that let’s say whatever text file you are having into that text file you want to read out the text line by line like in the first line whatever the text is written first all read that out then secondly comes out in the second line whatever the text is written read out the second text in the third line whatever text is written read out the so this can be a particular case that could be here that whatever the text are here you need to read down all of the Tes line by line right so for performing out this particular function we have a readline function in the file handling read line as from the name only suggest that it helps you to read out the text read out the lines or you TT whatever is present in the line line by line right hope I’m very much clear now next basically what we are having so how to use out this particular function so for using out this function firstly you need to open out the file in whatever you mode you just want read mode or write mode whatever you just wish out you could open out the file after that you need to use out that read line function so to read out the lines accordingly we use out the read line function that is mentioned and it will basically display the line uh lines in the form of like it willb the text in the form of line by line now uh let’s say into your first uh take first line it’s written uh learning file handling into the second it is written read write and open mode into the third it is written upend mode so whenever you are going to use our read line function so first of all it is going to display you the very first T that learning file handling okay next basically it is going to dis give you out the out uh like again you going to use out the read line function so it will be giving you the next output and that will be your very second line that is read write and open functions open modes right now then will be after again if you use read line then it is going to display you the third line so this is how this particular read line function actually works this is how these functions uh play a role and help us to read out the text line by line so after writing up the things and after let’s say I just said you that okay read out this file line by line so once we had seen about that read function right that is as one function that is used to read out the text which you are having but it defers that onto that particular function you read out your text uh in a one complete goal like if you use all the read function so at one complete time it will display you all the text which is written up into your F the case where you just want to read out your text line by line one single line by line so into that particular time you use out the readline function right so hope I am very much clear with these two particular things that we have about the read line function and basically how to read out the text line by line now what I’ll be doing is that I’ll be taking you to the pyam IDE and they will be seeing up the Practical for this read line function okay so here we are onto the pyam IDE and now I’ll be using up the read line function okay but before that I’ll be writing one or one or more two more sentences onto my uh file so f. write let’s say I’m learning file handling okay uh topics I would just write that topics are open read and write mode okay L okay that’s not open it’s open like this right and let me come to the new line I would just write F do write once again and let’s say I would write here that uh let’s say next is aend function right let’s say this these are three text which are written I would just run out this particular file up here but before that what I would just do is that I’ll be commenting out this particular place right so comment that out and now let’s come to the downside and run out our program so here we go okay so nothing would be displayed here as I told you because we have written onto the file and this is my file now here I haven’t used out the back slash in that’s why it is coming like that let me just quickly use out the back slash in in the starting back slash oh okay not like this like this and back slash in in the starting and now let me quickly run that out once again here so let me go on to demo. txt and yes now it’s coming up right so I’m learning text F I’m learning file handling topics are open read and write mode and next comes the upend function and one more thing if you just want to remove out these spaces so do not give any space between the back slash n and between the sentences now it comes appears to be absolutely correct right great now what I’ll be doing up here is that I want to read out the text line by line okay what is the thing that we perform so I would simply write first of all the variable name with the help of which I have opened out my F in whatever the mode it doesn’t matters out so let’s say here I have opened in the right mode so it doesn’t matters that what is the mode that you are opening using out Simply it matters that uh what is the variable that you have taken right so you have opened out your file and the variable is f Dot and now here basically use the read line function like this and this whole particular thing would go inside the print statement like this right now I would just run out this program here for a while okay one second it’s not readable where is my text file gone one second guys um where is that particular folder uh for the great learning let me just quickly open that out so here it is not neither here it is right here so demo. txt right these are the files now let’s quickly run out our program here for a while okay not readable let’s let’s check out that what is the thing that we are making up error as and why it’s basically not displaying as that thing okay so it goes print if do readline and after that bracket is completely done before that let me comment out these three lines and let me open it in the read mode first of all now it’s the time for running out the program once again so here we done and now here I got out my very first output that’s I am learning file handing so this particular output came because uh first of all that okay one another thing that um simply the opening of the file can be done in the read mode or the write mode but you could not use any functions like this so at that particular moment I need to comment out this these lines first of all because at the same time I cannot write and I cannot use the readline function at one particular point I could not use out these two functions together right that was the reason I needed to comment out these three particular lines so read out the very first line of my text file which I’m having and that was I am learning file handling yes this was the very first thing now let me come down here what if I again use out one of the printer statement right here if do read line and put on the bracket like this now if once again I run out my program see now what output I’m getting up here uh so that output which I’m getting is topics are open read and write mode so let me just just uh do it like this right here so when I used out my first read line function I was getting my very first line displayed next case when I just used out the SEC read line function second time so this particular line was getting displayed right so hope you all got the idea regarding this now let’s see if I just once again use out this print uh read line function so F do read line and the brackets now what will happen this particular will be displayed third time means my third line would be displayed up here for the upend function so verify as these are the only three lines I’m learning file handling topics are open read and write mode and the next and the last one comes here is as the upend function right so hope I’m very much clear about these uh these three readline functions that how we just read out the line read out the text line by line now what if I just once again use out my read line function as I was having only three lines into my uh text file but what if I just once again use out my readline function now basically it would not display you any other text because there was no other line in my text file in my demo. txt I was having only three particular lines neither it will display you the error nor it will display you the text simply it will keep that particular thing as blank I would remove out now this particular thing and at last my file is getting closed because we all know that whenever we just open out a file it’s basically we need to close that particular file as well right so hope you got out this particular idea as well regarding the readline function that what is this readline function how we use this out basically how we will be able to read out the text which is present in one single line and that is completely line by line right hope you’re very much clear now we’ll be seeing up the next topics now let’s discuss about the try and accept functions so this is a particular point from where we start dealing out with the take with the exception handling right so from here I’ll be letting you know about how to deal with the exceptions so the very first topic that comes under this particular one is try and accept so let me take you to the next slide here and here goes the try and accept statement now see whatever the block of code whatever the like code you are going to write inside the tri block that gets executed whenever your code is completely error free and if you have any error into your code then basically your except part gets executed see take it in a way let’s say you’re writing out any particular code so you just put on your main logic of the program inside the try function right after that you add on one exception as well that if basically there’s such some or error into your code which you have written out so just display out that particular exception to you in the form of an error it’s not an error in the form but I would say that it’s a form of exception that would completely occur out so in that particular case you are required to put on those particular um that particular print statement or anything inside the except so if you’re is not having any errors then basically your try function would run and it will display you the relevant output whatever is the required one but if your code whatever you have written out that is having some issues that is having some errors so in that case the control of your program will go inside the accept function and then your accept block will basically execute whatever the exception would be occurring that would come or if you have written any print statement inside that that would come whatever the things you have written inside the accept part that would be displayed as an output to you in the form of an exception right hope I am very much Clear first of all regarding the try and accept the statements after that one more thing comes here is that with one single try you could use any n number of accept functions except the statements actually let me elaborate this a little bit let’s say you are uh you are have on you had put on one try and accept statement okay you put on one try statement and one accept statement now the case is that let’s say you just want to put on more than one except statements so yes basically you are completely allowed to put on that particular part here as an output right so now with one single try it’s uh okay with one excepted stateements it’s compulsory to put one try function okay it’s it’s compuls ready to put a pair of try and accept other than that with one single try statement you could use any n number of statements according to your choice whatever you just wish out you could use that much n number of statements that is the accept statements with one single try right so hope I am very much clear with the usage of the try and accept the statements so whenever you are having no error into your program so you trying block actually gets executed and when you are having any error in your program so your accept statement gets executed if basically after that when the accepted statement gets executed so whatever the printer statement you have used either that will get executed or if you haven’t used out any printer statement so in that case you would be getting an exception as a form of a result okay now the other thing as possible which I mentioned is that a single Tri statement can have more than one except statements so it’s not compulsory to always put out a pair of try and except with one single try you could use 10 except 20 except 30 except whatever the except functions except the statements you want to use out with one single try you are always allowed to do out that particular thing right hope I made this thing very much clear to you regarding the usage of the try and accept functions as well that how to use them out now we have a syntax so how to use out what’s a Syntax for try and accept so first of all you put on your try keyboard right you put that out put out the colon come to the new line so as soon as you would be coming to the new line you would automatically be getting out some tab spaces so that spaces you’ll be getting out so as to confirm that yes you are inside the tri block right after that you put on your relevant Logics you put on your statements you just write out your complete code whatever you just want to write onto that particular place right after that come out of the trial statement and then put out your except now you could simply print out ex write out except and inside that print a statement or you could write out except exception as e now these two cases occur up here what are they Ed for so this except the exception as e it it is basically used whenever you want that whatever is your relevant error or exception that is occurring you want to see out that exception as an output so in that case we use out except exception as e and whenever is the case that basically you want that whatever the exception you are actually putting on after that you want out a print statement to be getting printed as an output so in that case you simply use out accept keyword and after that you just use out your relevant print statement right so as we have learned about the try and accept Theory now let’s move on to the Practical let’s see that how it’s completely used out how to implement that out so what I’m going to do here is that first of all I am going to take out two inputs let’s say a is equal to I would simply mention out here as input and inside that I’m going to write out a statement let’s say that enter the number okay come to the new line let’s TR just take out the second one I just write out here as let’s say input enter the uh number two let’s say this is number two and let’s say this is number one so here again comes out the colon and like this right now let’s say I’m writing out the program for addition of two numbers so here goes now my triy function coming inside my triy function what do I have here so I’ll be starting up here with the things that let’s say I declare a variable let say that c is equal to now above I had simply use out the input functions only what I want to write out the program for I want to write out the program for adding of two numbers but uh at none of the places I have declared that I want the inte I want the input to be in the integer format right this is the case which is not declared so now I have declared I would declare a new variable let’s say that is C here and after that basically what I’m going to do is that now as I mentioned that we will be writing out a program for the addition of two numbers let’s say i’ be taking up the two numbers from the in from the user here right now uh when I talk about taking the input from the users in the number format so in that case uh at none of the places I have mentioned that I want the input to be the in the integer format and if I haven’t mentioned out that particular thing so in that case it will automatically take in the string format when I use out the plus sign so it would not give me the addition it would simply do the concatenation of both of those numbers right this is the case which actually happens out what I could do here simply I could just do out the relevant type casting I could write it like this and simply I would write it out like this coming to the new line I would be using out one of the printer statements and inside that I’ll be printing here as C okay after this I’ll be using out my except exception as e right this is my first sentence which I just told you right away that we could use out this particular statement that is except exception as e and here I would be simply printing out e what I’m going to get out result you all as know out that I’ll be getting out some exception here the reason is that I haven’t mentioned out any data type here in the starting and I have mentioned here so it would say that we cannot add integer and a string either it shall be integer integer or it shall be string a string right let me run out the program and so show you how these things appear okay I need to give out the number one let’s say that’s two and here goes the six so what I got here unsupported operant type for int and St Str so it basically means that the operate type The Operators which you have used out here like the variables which you have taken that are not supported one is the integer and another one is the S Str right now this is the kind of exception it occurs when you had made out any error in your program the first way to get out the exception okay now second way is that you could simply write out out here accept and inside this you could add on a printer statement that uh error error in your tribe block you could print out one simple sentence like this as well when I run this out so here let’s say I enter out my number let’s say that’s three then five so what I got error in your Tri block but it’s not that much specific that it was giving me with the previous one that was except exception as e it’s not that much specific so in that case we always try to prefer write down except exception as if we always prefer to use that only right so hope you got out the idea how exception occurs now I would type c this thing as well and now let’s write out our program in the correct Manner and I would be running this at this particular place so what I got As in first all output that into number one let say that’s four six and now I got out my resultant output that’s 10 the reason is that I wasn’t having any errors so my tri block executed and if my tri block executed my exted block will not get executed because I wasn’t having any of the errors into my program which I have written out right hope I am very much clear with this particular try and accept statements to you that how we use this try and accept what’s the syntax that we use um and what’s the correct way actually for generating out the exception so the correct way is except exception as e right hope I’m very much clear now let’s move towards forward with the some other topics of the try and except function Sol that’s in the exception handling now let’s understand about the try with the else Clause so I just told you about the try and accept right away away some minutes before now let’s see that with the try and except how you could use out the else Clause at what particular time it would get executed and all the things let’s move forward okay so first thing is that you could use out the first of all try first of all the else Clause with the try and accept the statement yes that’s allowed what is the set of instructions what are things that you need to follow up here so whenever let’s say you use out the else Clause with the tri statement so when you want to execute a set of instructions whenever you do uh let’s say the case is that whenever you do not have any exception into your program after that uh after execution of the tri block you want one more statement to get printed as an output for you so in that case we simply use out this else Clause let me give you an idea let’s say you wrote out a program for multiplication of two numbers you add on your accept statements after that you use on the else Clause inside the else Clause whatever the printer statement you are going to use so in that particular case if you do not have any exception in your program if you do not have any error in your program then after the execution of the tri block that particular elsea statement will take place for the execution hope I very much clear with this particular thing right but that will only and only be executed when you do not have any error into your uh program when you when you your exception does not actually work then in that case only that else Clause will work the syntax is that you could simply write out first of all your try statement your accept statement after that put on the else keyboard after putting that out put on the col in and come to a new line automatically some spaces you will be detected and after that you could add your relevant print statement your relevant block of code whatever you just want to be get executed if your exception hasn’t been occurred so in that particular case you could use any of the things relevant to you right there is no such restriction that you would only use printer statement or you would only use the uh like write out some logical things nothing like that you could write out anything in that P particular case right so hope I am very much clear with the use of try with the S Clause that how you could use this out and what are the cases where it is particularly used out now let’s see out the Practical that how we can use out the try and accept the statements with the else Clause so I’ll be writing out first of all two inputs from the user so a is equal to int input and I would be writing out here let’s say that into the number okay into the number one let’s coming to the new line I’ll be taking another input and that’s in here comes the input and goes that uh enter the number two okay so here I go with the small n now I’m going to write out a program for finding out that a number is even or odd okay so I do not need the second statement right if I write out the program for finding that a number is even or odd so I do not need out the second number right it only works with the one so let’s go ahead and write that out so I put on my trial statement come inside my condition goes that if a person two is equally equal to zero basically if the number is divided by two and the remainder is zero so in that case print out with the help of f strings that um I would write out the number first that a is an even number right and if this is not the case in that case print out the S part. print F strings a is an odd number right these these can be two statements two cases which could appear that if the number is even it means that the remainder is zero in that case write out that this particular number is even otherwise print out it’s OD after that here goes the except I would write out except exception as e put on the colon come to the new line print out the small e that is my exception now after this try and accept here you use out the else Clause so like this it goes inside this you could write out anything I would simply put on a printer statement that uh that else Clause got ex uh execute Ed like this I could print on one of the statements at the SSE Clause got executed right so okay now what I would just do is that I would run out this particular program so it’s asking me to enter the number one let’s say that’s four see what it got me it gave me that four is an even number and else Clause got executed now why did my else Clause got executed because my tri block got executed completely in a complete manner because there was no error or exception in my program that’s what he saying this else part got executed now what I would do let’s say I just make out any error into my program let’s say if I just uh put on one single uh this okay now if I run out my program okay so it okay it is syntax ER 1 second is equal to and here let’s say I just make on B because B is one of the variables which we haven’t defined let say I made out B run that out to you asking me to enter the number one let’s say my number is three see what it is giving me name B is not defined this is my exception that is occurring right and my else Clause even did not got executed the reason I have already told you that whenever your Tri block will get executed whenever the portion whenever the logic which you have written ins the tri block that would get execute after that only your else part will get executed if you are getting any error or exception then your else Clause will not at all get executed right so I would again make out the relevant changes so it’s a and again it’s a and now if I just again run out my program so now in that case I would not be uh getting any error any exception like that let’s say it’s right so 45 is an odd number and here I got the statement executed that else Clause got executed right hope I am very much clear with the statement for like how does the TR except and else Clause work together hope I’m very much clear with this that which part will basically execute when right so we’ll see up the next topics now let’s discuss about the finally keyword so now we be seeing up that this is finally keyword in the exception handle let’s go ahead so yeah here we have um okay I told you about the try and accept functions in a very much detail even we had done out the Practical as well right that was completely over then we then I introduced you to the else part as right that the how to use out the else Clause with the trial statement so that particular condition was applied at that particular case whenever you just wanted to like uh like let’s say you are writing out any particular logic or particular code inside the tri blog and whenever you do not have any particular error into your program it means that your accept part doesn’t works out it doesn’t executes at all in that case the else part was getting executed now what happens with the finally keyword here see finally is a keyword that would execute either you are having exception in your program or you are not having exception in your program it does doesn’t at all matters for the finally keyword it means that finally keyword has to execute no matters you are having any exception or you are not having exception right you could use the finally uh keyword directly with the try and accept or either if you just want to add on the uh that else Clause so in that case as well you could just add on your else clause and your finally keyword after that no matters that you’re using it with the else Clause your reading with the try andex whatever you just wish out but one complete case actually takes place here and that’s compulsory that whatever you’re going to use out like whatever the program or whatever the code you’re going to write inside the try and accept no matters try r or except Rons finally keyword will should be run out right now let’s quickly pay a little attention to what’s WR up which I have written out here so finally a keyword which shortly executes after to the execution of the try and accept block of statement so it means that finally is one of the keywords that is shortly going to execute after the execution of the try and the except block of the statement as I told you that particular thing as well right now when I move towards the talking of the syntax that how to use that out so syntax is super easy and even the same as we have followed from the previous uh like topics simply first for you put on your trial statement put out your relevant code or the logic whatever you just want to put inside the tri block after that put on your except so I would always recommend you to put on your except statement as except exception as e it makes a relevant exception for you it generates out a relevant exception so if you have any exception into your program so it comes to you as a completely defined one so that you could got out a clear idea that okay this was the exception that was occurring so now I won’t make out this particular exception into my program right this is what actually happens out then after that we have the El part that exceptional if you just want to add you could otherwise it’s not at all compulsory to add out right and after using out whatever the relevant is condition you want to use or do not next statement comes about the finally keyword so at this particular place you use out your finally keyword inside the finally keyword you put out your relevant code or you just want to put out a printer statement or you just want to put out some logic whatever you just want to wish you could just put that inside the finally keyword after that you execute out your program so whatever runs either try or accept that doesn’t matters but you will finally be getting the answer the finally getting the output with either our either with a try or accept and the finally keyword will surely come at the last it means whatever you have written in the finally that will surely be executed and given to you after the uh after the uh run of try or accept right so hope I am very much clear for of all regarding the finally keyword that what is this finally keyword how we just execute that out and what’s the syntax what it is used for what conditions are applied and what not are applied right so hope this thetical part is very much clear now let me take you to the Pam IDE and let’s Implement out the Practical for the sake so now let’s execute out some practical for the try and accept part right so I’ll be using up the finally keyword here with the try and accept so let’s get started up here and okay let me just come down at this particular place what I’m going to do is that uh I’m going to write out a program first of all uh to find out which is the greater number among the two okay let’s say ass simple program so I’ll be taking up the int and here goes the input and here goes my enter the number right my post number goes here next coming to the new line what I’ll be doing is that I’ll be using second variable and into that again as well I’ll be taking out the input from the user so here goes that into the num CL and giving out a space like this right so num a and num num one and num two have been taken the input from the user then comes my try function so try my condition goes that if a is greater than b right so in that case I could print out an statement print I could write out with the if strings print if I could put on that a is a is uh that’s greater than and here goes the B right a is greater than b coming back adding on my is condition is what we could print is that print uh okay let me go above add this particular place go adding the F strings in the bracket it goes like okay F will be out not inside like this right so yeah I would write here B is greater let me come down at a place right here B is 1 second so B is greater than and here here as a okay so B is greater than a that conditions are satisfied coming out and using out my except function so except exception as e putting on the col in and printing out here as e right this much code you absolutely understood because we already have dealt with these types of code previously right now coming down onto a place here I’ll be using on my S Clause as well let’s say that is as well getting executed okay let’s first of all simply add on the finally after that I would add that as class so here goes my printer statement and I would just write that um finally uh keyword uh W keyword U let’s say this is my printer statement okay fine so I don’t think that we have any of the relevant exceptions into our program because we haven’t made out any of these so my output will be first of all I’d be getting whether this any of the conditions from here and at last this particular statement will be printed let me show you how so let’s run it out here so as you remember for doing running out weekly uh on the blank space we do all the right click click on the Run option and here we go so the number one I would enter let’s say 21 okay okay above one is as well not commented one second I’m so sorry let me terminate this out from here okay yeah remember the previous program as well we have written out so let me just quickly here as well let’s comment that out right now it’s the correct time for running out the program so click on run into the number one so let’s say that’s 21 here um that’s 34 so what show me 34 is greater than 21 because my second condition was getting satisfied it means the value for the B is greater than a right and at last a statement came here that finally keyword used right because this finally statement got executed now what I’m going to do is that i’ be making out some um changes into the program leter let see here okay okay yeah let’s run this out now okay so I’ll be entering out the number one let’s say that’s 34 and number is let’s say the let’s one okay I got my relevant exception that name c is not defined other than that my finally keyword again got executed at this particular place so it showed me finally keyword used so I as will mentioned you when we were discussing about the Tory that uh finally keyboard always gets EX uted no matters that what are we using no matters that trap block is running or the except block is running the finally keyw will surely run at the particular place right hope I am very much clear with this particular thing let me close it out here and now I would be making it again the same here and let me as well show you how to use out the L CL simply after the accept you could put on the SSE condition um and one second go back hit out genter and write out your relevant print statement so print or whatever logic you want to put anything works out here so I will just write out here print um else part got executed so here goes the executed right so here else part as well I have added on here the finally and now let’s run that out so let’s say my n one is 67 and num to say 32 and here goes that 67 is written on 32 after the try we have used our the else part so that’s the reason else part got executed fast then we were having the finally keyword and then basically my finally statement was present there so this particular statement got executed that’s finally keyword used right hope I am very much clear with the complete detailed explanation for the program as well that how to add on the finally keyboard how to add on the else conditions and all the things are very much Clear hope right fine so let’s see the other things as well uh so now basically I’ll be discussing about the summary of this particular module that we have discuss so let’s take uh let me just uh take you to that particular presentation as well now let’s take out a quick summary of whatever we have learned in this exception and file handling module so let me take you to the very starting from where we had started out and there will be seeing up all the things so we had started out with the in ction that what is uh file handling so file handling basically deals with the uh text files it means that uh this is completely known as when you are dealing with the text files means you are opening you reading writing appending all these operations are done onto a text file and this particular procedure is known as file handling the another name for file handling is python file input output functions file IO functions or file in input output functions whatever you just want you could use that out right so particularly we have different uh functions here like read write upend alter many other functions we are having okay let’s move forward and here we described out the open read and write modes so open was one of the mode that was basically helping us to open out a file as we been read out a book so first of all the first um procedure that we do is that we open out that relevant book same here whatever the file you are going to uh particularly operate first of all you’re going to open out that file so that particular thing is done with the open mode then we have the read mode so read was a mode which allows you to read out whatever is written into your program into your file into your text file and write was one of the modes which basically allows you to write out anything to write anything onto your text files so these were the three modes that we had seen we had seen the Practical for these that how to implement them out then we were having adding text and the counting characters so for adding out some text onto your text file we were having that function that’s append function so append was a function that basically helps you to add on uh the text onto your file right that as well we had seen out next we were having a function that was used for counting out the characters that total how many number of characters you are having into your text file so that function was Len function right now let’s come then we had seen about the readline function so this was one of the functions which basically allows you to print out your uh relevant written out text line by line whichever text you have written into your um like into your text file so it allows you to print out all the text line by line as an output for you right then we had moved on towards the exception handling we had seen about the try and accept functions so we had seen about the try and accept statements whatever the code written inside the tri blocks gets uh it will only and only get executed when there is no such error or no such exception occurred if you are having any exception then basically the tribe block will not get executed and you will be getting out your relevant exception we had seen two methods for writing out the exception first for accept simply write out the accept and inside the print statement write out your relevant statement and the second one was you could use except exception as e and you could print out e so it will automatically give you a relevant uh and the meaningful exception right so we had seen about the try and accept we had seen one one more thing here that with one single try you could use any n number number of except functions right then we had gone ahead with the try and the else Clause so I told you that how to use out the try with the else Clause so the part uh the block of code written inside the else Clause only and only gets executed when you do not have any exceptions into your program if you are having any exceptions then your s Clause will not at all get executed right this was what we had seen in the try with else clause and at last we had seen about the finally keyword that what’s the finally keyword how we just execute uh like um in the finally whenever you do not have any uh like uh if you’re using out the tri block or if you are using out the except function either your Tri blocks executes or your except block executes it doesn’t matters but what matters is that your finally keyword will surely get executed no matters you are having any exception or you are not at all having ex any exception in your program but your finally keyword will as well get executed right so hope I am very much clear with whatever I have just told you regarding this module of exception handling and the file handling right so hope you’re very much clear with all of the topics which I had shown even what practicals we have performed hope you all are very much clear with advanced concepts in hand let’s tackle data structures and algorithms we will explore arrays stacks qes and dinker lists and dive into essential searching and sorting algorithms to enhance your problem solving skills now let’s talk about our first linear data structure that is array so what is an array it is a linear data structure that means elements will be stored in a linear fashion right linear fashion now if you talk about array let’s take an example now let’s consider that this is how you represent an array in the form of a row right and let’s suppose it contains elements 1 2 3 and four right now with every memory location there will be some address right so let’s suppose these are the four elements right 1 2 3 and four and these are some addresses let’s suppose this is 100 and this is 104 this is 108 and this is 112 now if you talk about memory obviously these addresses will be are decimal and when you talk about this this particular array it will be somewhere in the memory with four uh or you can say four bytes of memory for each integer now if I take if I consider this integer and let’s suppose integer takes four bytes now these four bytes are available for each integer now this is an integer right now it takes four bytes now the second interest will start from 104 right because now again this will take four bytes then 108 again it it will take four bytes and 101 112 right so in memory it will be somewhere around but the thing that obviously you might be thinking okay sir let’s suppose this is our memory and now if we have four and four bytes that means 8 bytes here and 8 bytes here but they are available in chunks right this is

    one chunk and this is second chunk and rest of the memory is occupied can we store this array in your memory in the memory no because it needs contigous memory allocation that means when this is the scenario where in you have memory locations or memory locations available in a one big chunk right that means if you talk about this array it requires four into 4 that is 16 bytes are available but and they are available in a in a continuous memory fashion right or they are available in in such a way that it is a one single chunk of 16 bytes okay so then only you can store the elements at that location now obviously for Simplicity I’m taking this addresses as a integer number but in reality those are hexadecimal numbers okay so it is easier for me okay so now one more thing is that the elements are stored in a linear fashion right but can we access elements randomly yes with the help of indexes so if you talk about this array right 1 2 3 and 4 obviously this there will be a name associated with this array right now we have index 0 1 2 3 now why indexing starts with zero or why there is a zero and indexing always starts with zero now the question is that right now let’s try to demystify this fact that why indexing starts from zero why not it starts from one now if you remember right I told you that there will be a name associated with this array that is ARR now this ARR is nothing but name of the array and name of the array represents right it represents its Base address right now The Base address of this was earlier we spoke about it so it is 100 this is 104 this is 108 and this is 112 right so now this is 100 now let’s talk about how you access uh uh we will talk about in the coming slides we will see how to declare and initialize our array but let’s suppose if we talk about how to access this we use array and then the subscript and then the index okay the index is one now I told you name of this array represents the Base address so Base address is 100 now plus one now this one represents four bytes okay so the four bytes then what internally happens it will be it boils down to 10 100 + 4 that means 104 now 104 is not the first location it is the second location okay now similarly if you talk about accessing the second element or third element in the array it boils down to what array of two which is nothing but 100 + 2 now this two is nothing but 8 right 108 so you will be accessing the third element in the array now how can you access the first element so AR of zero now it boils down to 100 plus 0 because there are no bytes right so it boils down to this that array indexing starts from zero and now you know why and this is how you can access elements randomly so with the help of these indexes okay so now you might be thinking okay now we have an are can we store different elements right can we store let’s suppose this is can we store in this we will store integer then we will store a floating Point number then we can we store a character no if you talk about any particular array let’s talk about this array now the data type or the type of data that you can store in this array will be homogeneous that means you can only store similar elements okay so these are some facts and this is how array works and what are the addresses what are the indexes can you store different elements no you can only store similar elements in the array now let’s talk about the applications of array now you might be thinking so why do we need this array what is the uh what is the reason that we are using this array so basically when you talk about arrays now obviously when you have a scenario wherein you want to store your elements in a linear fashion right and that to you want to store them in a continuous memory locations right so that you can use your CPU or you can use your memory efficiently right not the CPU can use your memory and you can utilize your memory to the maximum right so you want to utilize your memory efficiently at that time you can use this but obviously it will have some drawbacks right it will have some drawbacks that is why we have different different data structures right so if you want to store your data in a linear fashion you can use arrays okay now it is also suitable for for the scenarios wherein you require frequent searching right if you want to search an element in an array you can directly go and access these indexes one by one right so in a linear fashion you will access okay is this the element that you’re looking for no is 20 the element that you’re looking for no is 30 the element that you’re looking for no is 40 the element that you’re looking for yes one by one you can access all those elements and try to search for the element that you are looking for okay so it is suitable for applications which require frequent searching now let’s talk about one dimensional so if you talk about 1D array it is can be related to a row like we saw in the example right so that is what is a onedimensional array it is represented in the form of row and we have addresses like 104 104 108 112 and 116 and indexing will be obviously 0 1 2 3 4 and then there will be a name associated with this array which is ARR and then you can store the elements in this array let’s suppose here the it is an integer array okay you can store only integer elements and the size of this array is five and you have stored the elements one 2 3 4 5 so now it can be related to a row wherein elements are stored one after the other like you see you have one then you have two then you have three and there those all of these numbers are in a continuous memory are available in a con location okay now when you talk about 1D array there is only one index used right when you try to declare and initialize your area at that time you will use one subscript okay so how you can use that let’s suppose if I if I talk about this special array that I that I have defined here right you will Define it a RR and then the sub or the index is that the number of elements that are present here which is five so only one subscript will be there or one index will be used okay so this is how you uh declare your array so now let’s talk about the Declaration and initialization of this array so obviously when you talk about the array there will be a name associated with the array and then the data type are you going to store integer values in that array then the one uh that one subscript or one index that we use and then definitely the size of the array so this is how you declare your 1D array now how can you initialize it there are different way you can initialize it obviously here you are declaring it then you might use a for Loop to initialize all the elements or you can declare or initialize your array at once so how do you do that so you will write let’s suppose this is the integer array and you don’t have to specify the size you can directly write the elements right and those elements let’s suppose those are 1 2 3 4 and 5 in this case when you’re declaring and initializing your array at once at that time this size becomes optional you don’t have to specify explicitly the size of the array but obviously the size of this array will be five okay now since you are declaring and initializing it at once so this is optional but in the case where wherein you are not initializing it at that time the size becomes very important and you have to mention this size explicitly okay now let’s talk about two dimensional are so also it is known as 2D so it can be related to a table like this or you can also say a matrix wherein you have rows and columns right now in this elements are stored one after the other in such a way that you can think of it as a 1D array now this is what 1D array right as we have already seen it right and inside this 1 and D array you have another 1D array right now this is known as 2D are so now how it works right let’s suppose you have numbers over here and you have four numbers 1 2 3 4 then you have 5 6 7 8 then you have 9 10 and 11 and 12 so this is a 2d array of having or and this will be similar to what of having three rows right you have you will have three rows not four rows you will have three rows and in that in those three rows right you will have what four columns 1 2 and so numbers will be like this 1 2 3 4 5 6 7 8 9 10 11 and 12 okay done so now obviously this will have let’s suppose this is 0 based indexing and this will have a zero index here one index here and one now internally what is happening it will be a 0 0 and it will be a 01 then 02 03 then 1 0 1 1 1 2 1 3 then 2 0 2 1 22 and 23 indexing right so similar to that we will have this index will be 0 0 this will be like this and this will be like this so if you want to access the element that is present at this location what you will do you will run two for Loops right one will be starting with from let’s suppose one will start from IAL to0 to the length of this outer array that is uh three less than three right so and the another from zero to the number of rows that are there okay so this one will be the outer loop this one will be the outer loop and this one will be the inner loop that means the number of columns that are there so this is for row and this will be for column that will start from 0o to less than four okay so this is how you iterate and it will be similar to this and now what about the addressing right what about the addresses that will be there so this will be let’s suppose if this is 100 now this will be 104 this will be 108 this will be 112 this will be 116 because internally it is treated as if they are again in a continuous memory location but this time around you have a 1D array and inside that 1D array you have another 1D array so for declaring it you will use two subscripts right so it will be something the name of the then two subscripts and now this will represent the number of rows and this will represent the number of columns so in this case the number of rows will be three and in this uh and the number of columns is four right so this is how you declare your what a 2d array so Dimension depends upon the number of subscripts you are using so this time around we are using two subscripts now let’s suppose you are using three subscripts right so similar to like this three three and three okay so this time around this is the 3D array and similarly you can have multi-dimensional array right and you just need to keep on adding the subscripts that’s it okay uh now we should learn regarding array implementation right we are solving three different problem statements here the first one is we are creating onedimensional array it is very simple and people can understand it in very easy way the second one we are concentrating on creating two dimensional array that means usually we use it for Matrix which includes rows and columns also we call it as M and N or M cross n all these three are the names which you can give it for two-dimensional array and also two dimensional array is used for different purposes at the last we are trying to sort search and insert delete the elements inside an array only which is having integers so these are the problem statements we are solving for arrays in Python so let’s quickly hop into the ID and check out the first problem statement that is how to create onedimensional array and insert elements inside that also put up the output whatever the input is given by the user on the screen so let’s hop into the ID now here I’m using Google collab in order to put up the first program right so we’ll rename this I’m naming this as one dimensional array so now we’ll come to this ID and we’ll type one dimension array example where you are including array size and you are asking the user what are the different inputs and then we are presenting the same inputs received by the user on the output screen so to quickly save the time I’m just putting up the code now so this is the python code where we’ll be using for one dimensional array I’ll explain what is happening here the first thing is we are asking how many elements to store inside the array for example it might be 5 6 10 so whatever the integer number is the whole number we can give it right so again we are asking assigning a variable for input so whatever the input is given by the user will be assigned to the variable called num right then we are assigning an empty array why because whatever the size has been defined by the user is put up here so if it is five it can take only five elements if it is six it can take only six elements that’s how it goes and immediately we’ll ask to enter the elements inside the array then we’ll be pushing through a for Loop and we’ll be using one important piece of code here that is ARR do upend upend in the sense will be assigning the elements one after the other at the back of the array we are not putting up the elements which is inserted by the user in middle or in the front or somewhere right so upend will always ensure the elements which is given by the user is put up at the back of the array one after the other right so next we’ll display whatever the array elements are so the array elements are again you have to push through for Loop because it has to uh just print the elements one after the other so let’s quickly run this program and check out how does this output look right so it is asking how many elements do you want to insert into array so I’m just putting up three as of now so enter then it will ask you for first number I’m putting up four and then the second number that is five then it is I’m giving seven okay so it will display 4 5 7 also you can modify this outputs by giving commas by giving uh spaces between those if not it can generally display this way four five and 7 so this is about onedimensional array in Python let’s see the second problem statement in arrays for python right so we are going to create two dimensional integer array where you can insert row number and column number and it will fill up the elements inside the array accordingly so let’s quickly switch on to the ID that’s Google collab and check out how does 2D array work in Python so here I’ve have named this particular file as 2D array and you can name it whatever you want and I’m putting up the code here so explaining the code for you that we have asked for row row numbers so how much the row should be in your Matrix I’ll take it as Matrix only because usually rows and columns will be using in Matrix so number of rows should be given by the user and we’ll store that number in our underscore that is row number again we’ll ask the user uh input number of columns right so whatever the number is given integer value whole numbers is stored in C num that means column number you can accordingly put up the variables as per the problem statements so here to keep it relatable I have used R num and C num next we are going to assign whatever the values we have right that is given by the user that is it might be a row number or it might be a column number we’ll assign that with the elements so to assign we’ll be using for Lo because one after the other it has to be printed right at last we’ll be printing the final array and final Matrix two dimensional array in 2D array I I just put up a abbreviation here so it’s understandable for you guys so T W2 D is dimension underscore array AR RR I not put up completely array it’s just ARR so this is how we initialize and the variables declaration and this is how we execute the program let’s quickly see the output of this so I’m running it is asking for the first time that is input number of rows so the number of rows I’m giving here is uh two and again I’ll enter it will ask for number of columns so then it is three here I’m entering that and it is giving you two rows and three columns also if you want you can arrange it as per Matrix so one after the other but here I’m showing it for you guys just with see you can count three columns you have and two rows right the bracket defines the rows here right the first bracket set of brackets is for first row and second set of bracket is second rowes so this is how 2D array Works in Python so we are going for the third problem statement which we are solving for array in Python so it says Implement search sort and delete operations on array of integers right so I’m breaking these three operations that is search sort and delete into three different programs to make it simpler rather than combining everything and making it to one huge program so first I’m concentrating on deleting elements inside an array of uh integers in Python so quickly we shall hop in to the IDE and see the program here Google collab is ready and the page is empty I’m just pasting this particular code in order to use time efficiently so explaining this code the first line it says enter the size of an array right we are first accessing an array size for example example it might be 10 5 8 as per the user command and then we are inserting so many elements in into that particular array say for example it is five right so we are inserting five different elements which we have already seen by now so next it is asking which element to delete right so we are telling an element a integer to delete then it will display the new array for you so fall Loops are there in order to keep the array in sequence and it might be printing or it might be taking input from the user both we are using for Loop only and upend is for putting up the elements into the back of an array right we are not inserting element in middle or somewhere in the front abruptly the insertion should not happen so one after the other sequentially in order to upend in order to insert the elements we use AR rr. upend so let’s quickly see what is the output of it so if you have entered any element which is not there in this particular array right so it will give you element does not exist in an array so this is how the program will work so let’s quickly see the output now so it is asking for aray size I’m giving three I’ll enter Then entering all the three numbers what I want to give okay it will ask you which value to be deleted right I’m giving value five so the new array is without five that is four and six so this is how it will work and immediately I’ll show you if you give any element which is out of the array bound how it will give you an error so I’m taking three elements again 5 7 and 8 right so it will ask you which value to be deleted I’ll say one one is not there in the array it is just 5 7 and 8 right so if you put that it will say element does not exist in an array right so this is how deletion will work in Python arrays after knowing how to delete element in an array so we have to see next how do you sort elements inside an array in Python so let’s quickly hop into the ID and check out how do you sort elements inside an array right so here we’ll start coding just putting up the code here so array is already defined the elements are 10 22 38 27 11 so on right so we have five elements here to be sorted in ascending order and you can also make it descending as well I’m showing you for ascending order so what is happening here I’ve just put up a comment for better understanding displaying elements of original array original array in the sense whatever it is here is displayed first right so next it is sorting by using for Loop right so so every element it will Chuck and it will try to compare with the next element if it is greater it will push up that particular element to the back and whatever it is lesser will come in front so this kind of exchange will happen and it will sort in ascending order so ascending in the sense from smaller to higher number so quickly it will display after sorting the elements of array sorted in ascending order are so and so so let’s quickly see what is the output of this particular code right so we have original array which we have given that is 10 22 38 27 11 and then we have the sorted array so in ascending order it is 10 11 22 27 38 so this is how it will sort the major function where it will be sorting is we are using this particular lines of code which I’m just highlighting in this particular ID where it will compare each and every element inside the array to the next one if it is greater it will push it to back if it is lesser than the compared array I mean array element it will push it to front so this operation will happen in this particular lines of code right you can also sort by using sort function directly as well so this is a simple example to know how sorting will happen in Python now we shall see how how do you search an element inside an array so here I’ve tried to put up occurrence as well so let’s quickly search and see elements in an array in Python ID okay so this is the code in order to search the element also find the occurrence of it right so here this is the array set so I’m giving the number 1 2 3 1 2 5 so you can see one two is been repeated those two integers are repeated so first it is showing up the created array whatever the array which is been given is put up in the first place and next what it is doing it is trying to find the occurrences of it so with the help of Index right so the element two the number two so where it is present and how many times right so first where it is present it will show that the second time will not be counted first occurrence will be counted so let’s quickly see the output of of this particular code right so here uh the new created array is so whatever the given array by the user is been put up in the first line and the second line it it is saying the first occurrence of two at position one why this is 0 1 2 3 4 5 right so two at the first time is present in the index value array one right again next it is searching for one where it is the first occurrence of one in Array is at Index point0 right so it is showing the output zero again you have one here that is 0 1 2 3 also you have second two in fourth position but still wherever it is available at the first is being uh demonstrated in this particular program right so this is how the occurrence is counted also the elements are searched in Python now let’s talk about advantage of arrays so obviously when you have indexes associated with the array right we have indexes so is it is easy for us to access any element right with the help of this index so if you want to access the third element we can directly go ahead and say a r of two and the 1D right so we can directly access elements with the help of indexing similarly it is easy for us to iterate through it right with the help of one for Loop we can iterate through all the elements right one by one that is there okay that are there in the array and similarly if you want to do the Sorting we can go ahead and easily iterate through one uh these elements one by one and look for an element if we are trying to search an element in the array let’s suppose uh we are searching for three so 1 by one we will search okay is this element three is this element three is this element three is this element three is this element three right and if this element is three we we can easily search and also for sorting right let’s suppose we want to sort this array what would it be it will be simply what if you have four here three here two here one here and let’s suppose you have zero here okay so now you want to sort this in the ascending order so what you will do you will use two Loops one will uh one will focus on this first element and then the second uh the second one will compare all the elements okay and then at the end of this thing you will have the largest element at the end of the array so sorting iteration searching it is easy and array you just have iterate through all the elements one by one now it is a replacement of multiple variables now what you mean by this thing let’s suppose you have an integer or let’s suppose you want to store uh the r number of 10 students right so what you have you would have done earlier prior to what when you don’t know the arrays what you would have done you would have said RO number one and then it’s or you can say S1 S2 S3 S4 and one by one you can store the role numbers in these integer variables right so as soon as our students increase now let’s suppose we are talking about here 10 students now as we talk about 100 now what happens if we talk about 500 are you going to uh write 500 variables integer variables S1 starting from S1 to S500 no it is a very inefficient way of doing so right so instead what you can do you can create an array and you can create an integer array and name it student student and and there in you will have the size which which obviously represents the number of students that are there and in this case it will be 500 now if you want to change it to uh tomorrow if you want to change it to 600 you can go ahead and easily change it to 600 right so it is the replacement of multiple variables so this is what it means now let’s clear the screen and now let’s talk about disadvantages there is one disadvantage that can be easily noticed is the size now obviously when you’re talking about 1D array right the size or any array right the size is there right so you you cannot exceed this size the elements cannot exceed this so let’s suppose you have size is five you can only store five elements right you cannot go more than that or beyond that now if you have a size 100 and now you’re trying to store only two elements anyway the 100 memory locations will be there for this array that means you are was ing your memory you are not utilizing it efficiently okay so this is what it means that size is fixed and you cannot store more Elms and if the capacity is more than occupancy most of the array gets wasted okay so these are two things apart from this you need a contigous memory allocation that means if chunks of memory are available here and there you cannot store an array which is let’s suppose here you have 16 bytes and here you have 16 bytes only if you have an array which is of 16 bytes that means if you have an array of size four that array can be stored here but if you have an area of let’s suppose size eight you cannot store four elements here and four elements here that will not be happening okay that cannot happen rather okay because it needs continuous memory allocation so there is one more disadvantage and the last but not the least is that insertion and deletion is difficult now why do you say that let suppose you have an array and you are having in this array 1 2 3 4 now let’s suppose you want to insert a value zero at this location now what you need to do you insert the zero and rest of the elements every element will be swapped so swapping is required right swapping is required plus there should be Memory available so that you can store that element else if uh there are only four elements and now you want to store zero and the size is also four and that time around what happens you will store one and rest of the elements will be swapped and you will be losing this value so it is very difficult to insert the value now same thing will happen when you’re trying to delete but at that time you will not be losing data but yes swapping is required right so let’s suppose you are you want to delete this location so what you will do or delete this number what you will do you will overwrite this with three you’ll overwrite this with four and let’s suppose if there is six you will over write this with six so at the end you will have 1 3 4 6 right 1 3 4 6 and one memory location is there and it will contain the same element that is six so next time around you will just override this so again the swapping is required so it is very difficult to insert and delete an element in the array now let’s see the concept of Stack now coming to the stack stack is a linear data structure which follows last in first out order that means the element which are inserted at last will be removed first that is Le order last in first out now insertion and removal of the element has done at one end I will explain you now so let’s see an example of a stack so here if I’m having 23 45 67 89 11 and let’s suppose I’m having 50 so these are the elements that has to be inserted in this stack so now what I will do so this is my empty stack let’s suppose that and inside this stack I will insert these elements by one so first I will insert 23 after 23 I will insert 45 then I will insert 67 after 67 89 11 and 15 so this is my stack now as I told you the element which is inserted at the last will be removed first that means last in first out or Leo order so you have seen here 15 is the last element that has been inserted here so now if you want to remove the element then 15 will be the first element that will be removed so for insertion we are using push so push was used to insert the element and pop will be using to remove an element from the stack so 15 is the last element that was inserted so now I will be using pop to remove this 15 so once 15 has been removed then I’m having element 23 45 67 89 and then 11 right so once again if I want to remove the element then my 11 will be removed so once again I will write here pop so always remember that push operation will be used for the insertion and pop operation will be used for the removal so whatever the elements I was inserting here 23 45 67 89 11 15 I was using push operation so if I’m writing push 23 then 23 was inserted then after that if I’m writing push 45 then 45 was in inserted and after that if I’m writing push 67 then 67 was inserted and in this way I can use the push function to insert the element now as I written here insertion and removal of the element has done at one end why if you see this was my stack right so this is my stack so whatever the element I was inserting in an empty stack I was inserting it through one end right and I was doing insertion through push operation now if I’m doing the pop operation then also I’m doing the pop operation through one end so that’s why you can see that here it is written that insertion and removal of the element has done at one end so this was the basic concept of Stack now let’s see the example of Stack so you can see here this is my pile of coin right so this can be considered as the example of Stack why because the last coin is removing first here so this follows last in first out so I’ll remove one coin one coin so if I’m reviewing step by step that means the last coin will remove first and in this way if I will follow then you can see that I can remove one coin one after other one after other and in this way this will be the example of Stack similarly the same example goes for the DVD if I am removing One dvd after other then this can be example of Stack so the DVD which was inserted at last will be removed first the same goes for the books the book which is on the top will remove first and after that if I’m going one by one from the top so you can see that the last book that was kept will removed first and in this way this can be the example of Stack so this was the basic example of Stack now let’s see some functions associated with stack so we are having push function so as I told you that if I’m writing here push 23 and let’s suppose this is my stack so this is an empty stack so it will insert 23 here so here you can see that it is used to insert the element X at the end of Stack so here instead of x if I’m writing 23 then it will insert 23 similarly pop function as I told you that pop will remove remove the element from the stack so it is used to remove the topmost or last element of the stack so if there is only one element in the stack 23 and if I’m writing pop then it will remove 23 right and also please remember that it will remove the topmost or last element in case of this stack we are having only one element so this will be the last element so if I’m writing pop then 23 will be removed but what if I’m writing here push let’s suppose that 25 then 25 will be inserted here and once again if I’m writing pop so this will be the last element so 25 will be removed so this was the basic idea about push and pop function now coming to the size so size function will give me the size or you can say the length of the stack next we are having top so it will give the reference of the last element present in the stack so let’s suppose that this is my stack and I having 23 25 and let’s suppose 27 so this is my last element here so top fun fun will give me the reference of this last element now coming to the empty function so empty function returns true for an empty stack so if this is a stack and if this stack is empty then the empty function will return us true right so this was the basic idea about functions in stack and what will be the time complexity for each function so here the time complexity for each functions will be bigo of one for push pop size STP and EMB so for for every function time complexity will be big of one so this was the basic idea about the functions now let’s see the stack implementation so there are several ways to implement stack in Python we can use list we can use collection module from where we can provide DQ class and we can also Implement through Q module so these are some ways from which we can Implement stack in Python so now let’s see the implementation using list so in implementation using list list in Python can be used as a stack so we can use list as a stack in Python so in Python we are having append and P function we don’t have any push function in Python so if you want to insert the element we need some function right so we can use the append function which is used to insert the element now coming to the PO function yeah we are having po function in Python and pop removes the element in the Leo order that means last in first out and as we know that our stack also follow the Leo order the elements which are inserted at last will be removed first so these two are the functions that we will be using here in list now let’s see the logic of this as I told you that list in Python can be used as a stack right so here I’m using list as a stack so this is my stack variable and this is an empty list and now as I told you that if you want to insert the element then you can use append so this was my UT list that is Tack and as we know that in Python list is denoted by square brackets so now what I will do I will write here stack. append and inside this happend if I’m writing X so X will be inserted in my list now now coming to the pop function if I’m writing here stack.pop and if I’m writing print and inside that if I’m putting it then whatever the element I’m having it will remove so let’s suppose that this is my stack and in this if I’m having X element so if I’m writing stack. popop so it will remove this x element right because I’m having only one element here so the last element will be removed from the stack so this is the basic idea from where stack can can be implemented using list now let’s see the Practical example so now for practical implementation I will be using jupyter notebook so I will click on here new and then I will go for Python 3 and if I’m writing here I’ll give the name here stack and let me comment it down first here I will write here hashtag and I will write here implementation using list so as I told you that stack can be implemented using list so I’ll create a stack variable and this will contain list this is an Mt list and after that I will write here stack do append and inside this if I’m writing here welcome and after that once again I’m writing stack. append and I will write here now [Music] two once again I will write this tag. append I’ll WR great learning so you can see that this is my append now if I’m printing my stack so I will click on run button so you can see that this is my list and earlier my list was EMP but now through append function I have inserted welcome to Great learning so now this is my list now what I will do here from this stack I want to remove the element so for that I will be using pop function so I will write here stack. pop and I will put this stack.pop inside a print function so I’ll write print and now let me execute this so on executing you can see that I am getting great learning so that means the element which was inserted at the last has removed first right and as I told you that PO will always follow the Leo order last in first out so if I’m printing my stack you can see that I am getting welcome to because great learning has been removed through for function if once again I’m writing here let me copy and paste this contrl C control V so once again I’m performing here stack.pop and if I’m printing stack then you can see that I will be getting welcome only so you can see that welcome I’m getting and here stack. pop if I’m doing then two has been removed right so clearly we can see that we can Implement stack using list through aen and po function so this was the basic idea about stack implementation using list so the another way the stack can be implementation using DQ so we’ll see the concept of implementation using correction. DQ so here Stacks in Python are created by the collection module which provides DQ class so now let’s understand this is a collection module so in Python I will write here from collections so from collections module I will import my DQ class right so I will write from Collections and then I will write here import DQ so DQ here is double-ended q and here append and pop operations are faster as compared to list why because the time complexity of DQ is Big of one whereas the time complexity of list is Big of N and also in list if you are inserting more element then the list will grow and it will go out of a block of memory so python have to allocate some memory so that’s why on inserting more element in a list the list will become slow so that’s why we come with the another way from The Collection module we import DQ and then so I will create my stack variable and inside that I will assign my DQ right so now I will perform the same operation that I was performing in list I will write here append and pop so always remember that DQ will be preferred more as compared to list because the append and pop operations are faster here right and rest all the concept is same so let me execute it so now let’s see the implementation with DQ so let me comment it down here I will write here implementation using DQ now after this as I told you that if I want to implement DQ then is a class right so I have to import it from The Collection modules so for that I’m writing here from collections import DQ and I will write stack variable and inside this I will assign the DQ now after this I will write here stack. end and let me write the value as XU and if I’m printing my stack so on execution you can see that I’m getting my DQ as X now let me append some more value so I will write here stack do append Y and after that I will write here stack do append let’s suppose Zed and once again if I’m executing so I will write here print stack and on execution you can see that I’m getting XY Z now let’s perform pop operation so I’ll write here stack dot pop and let me put inside this into the pin function so as we know that if I’m writing here stack. pop so the last element which was inserted will remove first so Z will be removed here so you can see that it’s Zed has been removed now if I’m printing my stack so I’m getting here only X and Y so you can see that list and DQ are the same the only difference is that DQ is faster because the append and PFF operations are faster in DQ so this was the basic idea about the stack implementation using DQ now let’s see the stack implementation using Q so here in implementation using q q module contains the Leo q that means last in first out so here basically what happens here it works same as the stack but it is having some additional functions so it is having some additional functions and work same as a stack right now we have seen that in list as well as in DQ we were using pop as well as append operation right but here to insert the element we will be using put operation so if I’m writing here put of three then that means it will insert three in my stack so similarly if I’m writing here get function so it will remove the element and as I told you that it works same as the stack so the last element will be removed first here now we are having some functions available in the Q module so the first function that is get so as I already told you in get function it is used to remove the element now coming to the max size so here Max size means the number of Maximum elements that are present in the Q coming to the next function we are having empty function so if a q is empty then it will return true or else in other case it will return false next full so whenever the Q is full it will give us true similarly put I have already discussed about the put that if you are inserting any element so you can write the put and suppose if I am inserting here two so it will insert two in a q now now Q size so Q size will give me the size of a q so let’s suppose that if you are having a three elements that are inserted in Q 3 2 4 so what will the size of the Q Q size will be three now coming to the logic so how can I import Leo Q through the Q module so I will write here from q and then I will write here import and I will write here leao and then I will write here Q after that as I told you that stack can be implemented through the Q module so I will create a stack variable here and I will assign here Leo Q so I write here Leo q and now if I’m writing here stack dot put and if I’m writing two so this means I’m inserting the value two in a stack similarly if I’m writing here stack dot get so that means I’m removing the value from the TX so this is the basic idea now we will see all these functions in the Practical coding example so let’s start with the coding part I will write here comment and inside this comment I will write here implementation using Q now after this what I have to do I have to import Leo Q from the Q module so what I will write here I will write from Q import Leo q and I will create a variable stack and I will write now Leo Q so after creating stack variable as I told you that if I want to insert the element in a queue then I have to use the put function right so I will write here stack dot put and I will insert here let’s suppose two so you have seen that I’ve already inserted a two element now let me insert some more elements so I will write stack. putut and I will insert three here and after this I will write stack. putut 4 so this is all about the put function right so we have seen several functions in Q so let me write here function so here I will write print and if I’m writing here stack do Q size so as I told you that Q size will give you the number of elements that are present present in the Q and I have inserted three elements so the Q size must come as three so on execution you can see that I am getting the Q size is three right now I’ve also told you about the max size function right so inside this if I’m writing here Max size Max size is equal to three and if I’m writing here once again print and if I’m writing stack Dot full so as I told you that full function will return true if my stack is full so here I have allocated the max size as three and I’ve inserted three elements that means my stack is full so on execution you can see that I’m getting true right because my stack is full now if I want to remove the element from the stack then which function I can use I can use here stack dot get and now if I’m once again writing print stack dot full will I get True Value no because I have removed one element so if I’m running it so on execution you can see that I’m getting a false value so here you can see that we have used the put function get function full function Q size function Max size so this is the basic idea about the stack implementation using Q now let’s try to understand Q linear data structure what is q q is a linear data structure that means all the elements in the queue are stored in linear fashion now it follows a principle of V4 that means there’s a restriction that whatever is the first item in is the first item that is to be out okay so now let’s try to make a cube let’s suppose you are in a cube and you’re waiting for a movie you’re waiting for movie ticket to buy okay so there is one person then there is another person right these are few persons here right and you’re waiting in a queue so now the first person who is in the queue will be the first person who will get his ticket right makes sense right so he will be the guy who will get his movie ticket first and he will be out of the queue then the next person who is in the queue is the next person who will get his tickets right and let’s suppose a new person comes in he’s not going to go ahead from this person rather is going to go behind this person then the next person comes he will go after this person and in the same same way so this is nothing but a P4 principle okay the first person in is the first person out okay now insertion will always take place from the rear end okay and if you talk about deletion it will always take place from the front end okay so this is our front end and this is our RAR cool so for examples buying a tickets from the counter or it can be a movie ticket or can be a bus station you are in front of a bus station trying to get tickets for your uh bus right these are some examples now there are four major operations when you talk about Q what are those major operations Let Me Clear My screen so NQ so you are going to insert an element in the cube this is what you mean by NQ theq you’re are going to delete an element okay from the cube then Peak first that you’re going to Peak the first element that is in the in the cube and Peak last means that you’re going to Peak the last element that is in the cube so you will have two pointers one is front and another is where and with the help of these pointers you’re going to NQ DQ Peak first Peak last you’re going to perform these operations now one major advantage of these operations these four operations is that all of these operations are performed in a constant amount of time that means time complexity of Performing these operations is before of one so that is why when you talk about competative programming Q is most commonly used data structure because of these things right because of its time complexity right you are able to perform your uh operations in a constant amount of time now let’s talk about applications of Q so it is used in scheduling algorithms of the operating system like first in first out scheduling algorithm is there round robin is there and we have multi-level q that is there in all these algorithms Q is used okay for storing the data or the processes it’s also used in maintaining playlists like when you have a playlist let’s suppose you have 10 songs in a queue right and after one song the next song which is in the que will be played and it goes on for like this right so for Main a playlist again a que is used it’s also used in interrupt handling uh let me take an example here you know the process State diagram of operating system so it is also used at that time so uh when you have an interrupt and therein if your process is is being executed at that time that Pro process is printed out and it is stored in a queue now the next time when this priority or this interrupt is handled once it is done then it starts picking up the process C which was in the queue and starts executing that in the meanwhile if there are some other processes that those processes will also be in the que so a queue is maintained and once the interrupt is handled they will start taking out that process that is that was being executed earlier and executes it and completes its execution and terminates the process so it is also used in interrupt handling after learning what is Q in Python theoretically let’s know how to implement lement that into practicality so Q will be having two different basic operations that is NQ and DQ so these things will be shown in with a simple example in Python so let’s quickly hop on to python ID that is Google collab for the reason I’m using it is visible for everybody to access because it’s online availability and it is open source so let’s quickly start the simple program for Q displaying two different functions that is NQ and DQ so here is the Google collab environment where you’ll be working so what we are doing in this particular code is we are creating a class called Q right we are also giving different functions for NQ and DQ NQ is nothing but entering or inserting values to the Q and DQ is deleting values from the Q right as you all know Q will follow F4 that is first in first out so wherever you want to buy a ticket for example in your Railway stations or anywhere you will stand in a queue right so whoever in the first will get the ticket first and he or she will move out of the queue it’s same in here as well but the elements are not humans it’s all integer numbers so whatever the number you put in first is the first number to get out right so let’s quickly see here we have two different fractions as I mentioned that is NQ and DQ and later you will display we are seeing three different functions displaying NQ and DQ so what happens here is we are using self. q. appen so here whatever the item whatever the uh number you give right it will be inserted to the back of the Q right it is maintaining the sequential process of inserting the numbers or the integers or the values you give in order to insert into the queue and while deleting you can use pop right is it upend for insert and PO for deleting and display is nothing but it’s normal print statement you will display whatever the Quee it is accordingly so let’s quickly run this program here I’ve just used certain numbers 1 2 3 4 five five numbers and the after deqing right what it should display it should remove one first and 2 3 4 5 should be displayed so let’s quickly see how it is right okay so as you can see whatever the uh Q is given is printed at the first place that is 1 2 3 4 5 and then after removing the first element right so the first person will be removed because it is ff4 so 2 3 4 5 is there so this is how a simple basic Q will work in Python so after knowing a basic Q implementation right let’s see one of the type of q that is circular Q implementation there are many types of cues but still I’m taking circular Q as an example and showing you the same operations of inserting and deleting elements from the queue so let’s quickly hop into the Google collab ID and check out the program how can we build a circular Q in Python here is the program for circular q and what are the different elements we have inside this program let me tell you the first part is class declaration so here my circular Q is the class right so class can be named accordingly or whatever you feel right so keep it very program oriented rather than keeping which is off topic so here it is my circular q and then again we have two different initialization that is for NQ as well as DQ so whatever the elements we use here right whatever the items we try to insert in the que we have to ensure whether the Q is full or the Q is empty and there is still space or not so all the conditions should be checked so let’s hop into NQ and check out what are the different conditions you have to check so the first thing is the Q is full or not so before inserting something say for example the Q size is five and the element six has been inserted then it has to show an error message that is there are only five spaces they are inserting Sixth Element it is not allowed hence the cube is filled so in order to print that we use this the circular Q’s Bui statement so the next part is you have to know how when it is empty right in order to have the DQ the main condition is whenever the uh elements are out of the Q then it has to be declared as the Q is empty so nothing to delete from the que it’s every all the elements or items are deleted already so the error message or the statement the user will be the circular Q is empty now there is nothing to pop out or delete or DQ so apart from that also you can also uh find if you are trying to print something right if it is mtq it does not have anything then you have to show up the no element in the circular Q found statement why because if there is no elements there is nothing to show our display the display function does not work the print does not happen so this is a basic idea of this particular code and accordingly we have used the iterations and the Declarations so next you have to look at the inputs what we are giving I’m trying to give 12 22 31 44 and 57 right so the five elements for the Q is being given and what you have to do is you have to check the initial values first you have to display the initial values what is the exact Q which you have given with the elements to the user and then which is deleted so the first element is deleted obviously but yes how the circular Q is different from the basic Q right so let’s quickly run the program in order to see the output okay if you could see the output here right so initial Q values so is whatever we have given here that is 12 22 31 44 and 57 so after removing an element so obviously the first in first out process the first element will be removed so it is 22 31 44 and 57 what is difference between a normal Q and A circular Q if you could see here right in the last space after 57 you have a space allocated so in normal Q it is not connected here the front and rear is being connected forming a circle right if one the first element for example 12 goes out the 22 will take the first place and 31 followed by 44 followed by 57 the last place will be empty right so it is in circular motion so whatever you want to insert again right so that will for example if you want to insert six right six will sit in the fifth position that is after 57 right this this will be connected circular motion that is front will be connected to the rear part so this is the difference between the normal basic q and the circular Q now let’s talk about advantages and disadvantage ages of Q first we are talking about advantages so it follows a principle of fif or the elements are stored in fif manner that means let’s suppose this is a Q and in this Q you have elements so the deletion will take place from the front right and the insertion will take place from the rear side so this is known as DQ the deletion and insertion is known as and Q operation and both these operation are performed in a constant amount of time so that is one of the advantages right and the insertion from beginning and delation from end takes a constant amount of time plus if we want to do Peak first Peak last all these operations are performed in a constant amount of time and this is most widely used data structure when we talk about CP that is competive programming when we talk about competive programming this data structure is most commonly used because of these features that all the operations that are performed like insertion deletion Peak first Peak class NQ DQ all these operations are performed in a constant amount of time now let’s talk about disadvantages since we are only able to delete or insert from the front and the rear that means deletion from front and insertion from the rear so the Restriction of insertion or any manipulation right we have a rest restriction over these right what these operations insertion and deletion so this restriction is always there and so this sta structure that is the cube is not is not much flexible right we are fixed we can delete and insert element in a fixed pattern or in the fif manner because it’s not much flexible so now let’s start with the Ling list so Ling list is a collection of group of nodes now what is node here so here you can see that this is a node so a node will contain a data as well as reference so each node contains data and reference which contains the address of the next node so this is a node and as I told you that node will contain a data as well as reference so let’s suppose I’m inserting the data here 20 and this is nothing but a reference or you can say that pointer so this pointer will contain the address of the next node right so as I told you that link list is a collection of nodes so this is nothing but a single node so let’s suppose if I’m having more than one node and if I’m connecting them then it will form a link list so we will see the linked list representation in the next slide now so link list is a linear data structure now coming to the last point we know that in Array as well as in list elements are stored at the continuous memory whereas in link list elements are stored randomly now let’s see the representation of Link list so as I told you that link list is a collection of nodes so let’s suppose that this is my N1 node this is my N2 node and this is my N3 node so each node will contain data as well as reference or you can say pointer so this is data and this is reference so now I will give the address of this N1 node so let me write the address of this N1 nodes at 20110 I will give the address of this as 2020 and I will give the address of N3 node as 2030 so these are the addresses so as I told you that each node will contain a data so let me assign here data let’s suppose 10 is here and a reference or you can say a pointer so I told you about Pointer that pointer will contain the address of the next node so what’s the address of next node the address of next node Is 2020 so I will write here 2020 so this pointer or this reference or you can say this link will contain the address of my next node and what’s the address of my next node Is 2020 now again this will be a data and this will be a reference of my N2 node so let me assign here data as 20 and what will be the reference the reference will contain the address of the next node so here it will be 2030 now again this N3 will also contain data so I will assign here 30 so now you might have a question that what should be reference here so now are you seeing any node after this N3 node do we have node N4 or N5 not right so this reference will be assigned to null so I can write here five because there is no next node is present there right now coming to head what is head so head will contain the address of my n node that means 20110 right so this is my linked list representation now the question arises that why Ling list so now why do we need Ling list because Ling list is having more efficiency for performing the operations as compared to list so what are the operations that we are performing in Ling list we can perform the operations like insertion deletion as well as traversal so it is having more efficiency in performing the operation so moving to the next Point as I already told you that in link list elements are stored randomly whereas in list or you can say in Array elements are stored at continuous memory now moving next accessing the elements in linked list will be slower as compared to list so if you want to access the element in link list it will be slower as compared to list why I will tell you the reason now let’s see this slide link list representation so here this is my N3 node right and if I want to access the data elements of this N3 node then I have to go from N1 N2 and N3 then only I can access the elements whereas in case of list we can access the element through indexing but in linked list it’s not possible so you have to go traversy right here traversal means that you have to go through each node so if you want to access the elements of N3 then you have to start with N1 then you will go to N2 then you can go to N3 so that’s why accessing the elements in linked list will be slower as compared to list now coming to the last Point here in link list utilization of memory will be more as compared to list so let’s start with the singly Ling list so Ive already showed you the representation of Ling list which is same as the singly Ling list so in singl Ling list I’m having here a data and reference in a node so let’s suppose that this is my N1 node this is my N2 node and this is my N3 node so as I told you that each node will contain data as well as reference so I will give here data let’s suppose 10 in node two I will give as 20 and here I will give as 30 and each node is having an address so let’s suppose the address of this N1 node is 1,000 it’s having 1100 and it’s having 1200 so this reference or you can say that link or pointer this will contain the address of the next node so this will contain 1100 similarly my this reference or this link will contain the address of N3 node so I’ll write here 1200 and here after N3 node do you see any node we are not having any node so here this link or this reference will null now coming to here what is head here so head will contain the address of my first node that is 1,000 so in singly Ling list the traversal is done only in One Direction so what do you mean by traversal traversal means that you are going through each node so let’s suppose that if you want to go to the N3 node first go to N1 then N2 then only you come to N3 you can’t directly jump to N3 you have to go through N1 and N2 then only you come to N3 now let’s see some operations in singly Ling list so we are having several operations in Ling list we are having insertion deletion traversal so insertion as well as deletion can be done at beginning at any specified node as well as end now coming to the Traverse I have already told you that traversal means you have to go through each node so going through each node of the link list is a traversal now let’s see the pseudo code of single link list so if you want to create a node in a single link list then what should be the code here so I will write first here class node so here I have created a class whose name is node so this class node will also be having a object right I will create object later on but let’s see let’s suppose this is my N1 node as I told you that a node will contain data as well as reference right so instead of reference I’m writing here next I’m taking a small word here so that it will be easy for coding now so this is my node creation Now what I will do here so in this class node you have seen that I am creating a init method or you can say a Constructor so to create it for first I will write a reserved word that is DF and then I will write in it method so I will write first DF and then underscore underscore init and then I will write underscore underscore then I will write self and then comma comma data so why I written here self I will tell you later on and I’ve also passed data as a parameter here so inside this I have written self. data is equal to data and self do reference is equal to none so why I have written this because my node will contain data as well as reference so I will write here in this method self do data is equal to data and self do reference I have written here next so I will take here next is equal to none so when you are creating a node let’s say this is a node N1 so initially it will be having a data and because I’m just creating a node as of now no I’m not linking this node so the link or you can say the reference will be none right so this is my initial node I have written here self. data is equal to data and self do next is equal to none right now this is a class whose name is node I can create the object so how to create a object I will write here N1 and then I will write here class name node and inside this class I will pass the parameter 7 so here now what will happen instead of self my object will pass here so my N1 will pass here instead of self so now it will be N1 do data is equal to and what’s my data data is seven now the next step we are having the self do reference is equal to none right let’s see here self do next is equal to none so instead of self my N1 is there so N1 will be pass here and N1 do next I will be having a none so this is nothing but a creation of my node now if you want to check then we can write print function and when you will write here node one data inside a print function you will see that you are getting the value as 7 similarly if you’re writing node one. reference inside a print method then you will be getting none so now this is the idea about how to create a node now let’s see this into a coding so I will be using here Jupiter notebook so I will go on here new and then I will click on Python 3 and here you can see that I’m getting a name Untitled 21 let me change it I will write here link list link list and I will write here python now let’s create a node so I will comment it down creating a node so first I will create a class and I will give the name as node and inside this class node I’ll create my edit method so I will write here DF which is a reserved word and then I will write here in it but before that I will write underscore underscore then again I will write underscore underscore and then I will write here self comma data so so why I have written here self so when I’m creating a class object that is N1 I’ve already showed you in the example so instead of self N1 is passed so as we know that we can create a multiple object of a class so if I’m writing here N2 or N3 then instead of self I can pass N2 and N3 also so now let’s create a node so I will write here self dot data is equal to data and I will write here self dot next I will write here none so this is my node creation so whenever I’m having a node it will contain a data and it will be having a reference so initially it is not linked so the reference is none so this is my class now I will create a object of node so I’ll write here N1 and I will write class name and I will pass data as let’s suppose 8 value here so if I’m executing it so on executing this N1 will go to self and this 8 will go into the data so my N1 do data is equal to 8 and my N1 do next is equal to none let me print it so if I’m writing here print and inside that if I’m writing my N1 do data once again if I’m writing print function and inside that if I’m writing N1 do next then you can see that I’m getting the data as eight and the next that is a reference I’m getting as none because I did didn’t link this node to any other node so this is the basic idea how to create a node now let’s see how to create a class of singly Link list so when will my singly link list will be empty so as I told you that if this is a node let’s suppose N1 this is another node N2 so N1 and N2 are connected with each other so we are having a head pointer which always points to the first node right so if there is no no head if head is none then my link list will be empty so now what I will do here so I will create a class and I will give the class name as let’s say singly ling list and inside this class once again I will write init method so I’ll write here def underscore underscore in it underscore and I will write here self now here I will write self dot head is equal to none so this is my condition to create a class so if the head is pointing to none that means it is not pointing to any node and it shows that link list is empy so now let’s see the creation of singly Ling list yeah so let me remove this now I will create a class so creating a ling list so if I want to create a link list I will create a class of Link list so I will write here class class singly Ling list so this is my class and inside this class I will once again write init method inside the singl Ling list I will create an init method so I’ll write def underscore uncore init underscore underscore and then I will write here self and when my link list will be empty so when self dot head is equal to none so this is the simple way to create a single Ling list class now so after creating a class now let’s create a object of this link list so I’ll write here SL single Ling list this object name and now I will write the class name so class name is singly and then Capital LL is there right so on execution always remember whenever you are creating an object and if you are executing it so inside this class in it method will always run I will show you the example if inside this init method let’s suppose if I’m writing here print gorov so I created the object here SL and right now if I’m executing then you can see that gorov is executing here right so always remember whenever I’m creating a object of class and whenever I’m executing it so whatever the statements are inside the init method it will execute so on execution what will happen here I will get here SL do head is equal to none right so SL is my object so instead of self SL will assign here so SL do head is equal to none right so this is my basic concept of creating a node and creating a ling list let’s talk about searching algorithms and the first searching algorithm that we are going to talk about is linear search algorithm so what is linear search it helps us to search an element in a linear data structure now let’s talk about one example wherein we will be searching some element inside the array so let’s suppose this is an array and the elements are 10 20 30 40 and 50 now if we trying to search an element that is 50 inside this array how linear search works is that it checks each and every element that is to be search right that is there in the element array right let’s talk about this example here 50 now 50 will be compared right we’ll check is this 10 equal to 50 no is this 20 equal to 50 know is this 50 equal to 30 is this equal to 40 is this equal to 50 yes so here we were able to do a linear search right we were searching for this element inside this array one by one we compareed first with 10 then 20 then 30 and then 40 and finally then with 50 at the end we were able to find this element in the array in a linear fashion now this is what is termed as linear search now let’s talk about linear search algorithm since it is a very straightforward or you can say a Brute Force algorithm right it’s a Brute Force algorithm of finding the element in the array so this is how it works right we have one for Loop wherein we will be what iterating through all the elements that is from 0 to n and inside that what are we doing we looking for the item that is that element that we want to search right let’s suppose This Is 50 right this 50 will be we were checking if this 50 is equal to the element that is a of I right and then if that is the case if we find out the element in the entire array we will return its Index right that is Index right that I we will we will return this I now there might be the case as well if we are at the end of the array and we have exhausted the last element as well and we were not able to find the 50 right let’s suppose this is 10 20 30 and 40 now the 50 is not present in the entire array at that time what we are going to return is minus1 so we will say that okay we will not able to find this element whenever we are returning this minus1 in this array and this minus1 indicates that we were not able to find that element now we shall see how to implement linear search in Python so linear search will work with the help of an array here so what we are doing is we are searching one single element in throughout an array in sequential manner so this is how linear search will work so here if you could see we have array we have number which one you have to search for and you have the starting position variable so in iterations Array will Move On and On by searching from one place to another place the first place to second second to Third and so on in total we have five different elements in an array that means four different places because array starts from zero 0 1 2 3 4 so index is of four and the elements are of five so we have to first take the key search element and we have to compare that particular element to all the elements inside the array right so if it is not matching the array is not matching with the number you are searching it will throw up an error called element not found if it is found it will show you index value where it is which place of an array it is there so let me quickly run the program for you so I’m trying to search the element one right so the element one is in index position three 0 1 2 and 3 so X is the variable which is used in order to find which number it it will just act as a key X will act as a key you can change this and check if you want to search for eight for example it is not at all there in the array so it will say element not found if you want to search two for example the answer should be zero right let’s check right so index value is zero it is sited in the first place of an array if you want to search for nine it is at the last place so it’s at four right so this is how the value which you want to search is always compared with all the elements sequentially one after the other so for example 9 is compared with two it’s not matching then it will go to the next one N9 is compared with four it is not matching and zero again compared with one not matching it will go to the N ninth place where it is situated right it will compare the elements sequentially so this is about linear search in Python now let’s talk about the time complexity of linear search now if You observe carefully let’s try to understand this best case right so now if you are looking for the element and let’s suppose these are the elements in the array now let’s suppose in best case what can happen you’re looking for 10 and 10 is the first element in the array now how many iteration did you require did it require to find you the 10 none right the constant time right only one single unit operation was done and you were able to find this 10 so this is the best case time complexity where the element that you’re trying to find is the first element that you search right in this case you you looking for 10 and 10 is the first element so this is your best case now what about the average case and the worst case now let’s suppose average case is that you were looking for an element which is at the middle point right let me just 0 1 2 3 4 now or we can put another another and looking for 60 now in this case or you can just skip it okay no need to add one more okay so now you’re looking for an element which is somewhere around in the middle okay in this case you’re looking for 30 okay so now if You observe you are only iterating half of the elements that is 5×2 which is nothing by n by2 since constant doesn’t play do not play any role when you’re talking about time complexity that is why average case still boils down to bigo of n now what what happens in worst case you’re looking for an element that is 50 and which is present at the end of the array or in the worst case you’re looking for something that is not present in the array that is 60 let’s suppose and in that case you will still iterate through the entire area and that is why the worst case time complexity in that case will be biger of n because you are iterating through the entire array and that element was not found you’re looking for 60 and that is not present there so you’re iterating through the entire area that is n operations are done so that is why it boils down to Big of n now let’s talk about the space complexity of linear search when we are trying to find the element in the array that is 10 20 30 and 40 and 50 we were not using any extra memory right we were not using any auxiliary memory that is auxilary memory or extra memory in order to find that element we were just looping around these elements one by one and we were doing it on this particular on the same array that we were given right since we are not using any auxiliary memory that can be in the form of what a stack a link list or an array or a string or a q we are not using these auxiliary memories because they don’t they are not required right we are searching for an element in this particular array that we given to us that was given to us right so the space complexity of linear search is constant right with we were find we were able to find it in a constant amount of space okay we are not using any extra space now let’s try to understand binary search algorithm what is binary search so binary search is one of the searching techniques right like we saw in linear search where in the time complexity of linear search was big of n right we were iterating through all the elements and and now this is a much more efficient algorithm as compared to linear search now again why do we need searching is the thing that let’s suppose if you have a given set of elements and you want to search if that element is present in your array or not that time right we can use either linear search or binary search now binary search is much more efficient and it is used on a sorted array or it can be used on an array wherein some order is maintained because based on that order we will divide our array right it is a searching algorithm which is or which follows the divide and conquer strategy right let’s suppose this is our array and now since it will be divided in such a way that we can neglect one part of it it right we will be dividing and then conquering that means we will be then searching for our element now let’s suppose we are looking for something that is now let’s take an example where in this array is written or the elements contained in this array are in such a way that we if we skip this part or the uh leftand side will be skipped or the right hand sides can be skipped in such a way that they don’t affect our output so every time in linear search our search space is reduced unless and until we find that element or the array is exhausted okay so our search space is redu to half in every iteration so this is what a binary search is we’ll look for an element in such a way that every time we are neglecting half portion of the array and let’s take an example when we have this entire array so first half that means if four elements if there are eight elements four on this side four on this side these four will be neglected then we have two on this side two on this side these two will be neglected then one on this side one on this side then this one will be neglected until unless and until we find that element or the entire array is exhausted right so this is how your binary search works now let’s try to understand B search algorithm so first we are going to understand the iterative approach and then we are going to understand the recursive approach so iterative as the name suggests we are going to use for Loops right we will start with a for Loop and it will iterate and we will iterate unless and until the beginning is less than the end right so because we will be updating our both beginning in some cases and in some cases we’ll update our end now what happens now since we know that in this iterative approach or in this binary search it doesn’t depend whether we are using iterative approach or recursive approach the logic will remain same right so we will be having this array and it will be in some order so that we can neglect some part of it it doesn’t have to be sorted always we can still apply binary search even if the array is not sorted but still some order is there so that we can neglect some part of it because again keeping this thing in mind that it follows the Paradigm of divide and conquer so now we have this beginning and end at place and we uh we will always iterate when beginning is less than end right so now what happens after that now we have this array and now what we will be able what we will do let me take new pointers so this is your big beginning and this is your end so this is your beginning and this is your end now you will be taking a new middle Index right M let’s call it m and now let’s name these things 0 1 2 3 4 so you will do what beginning plus n / by two so that some part of it can be neglected right so it will be two so your mid is at this position now you will see okay the element that I’m looking for is uh let’s suppose is 50 and the element that I am currently at is 30 so obviously it will be never from this side there is no chance that we will be able to find 50 from this side that is the left hand side right first we will check okay is this 30 equal to 50 no so this will never be executed right then we will check is my item that is there is this 30 less than or greater than 50 if it is greater than 50 right if it is if the element that is if item that is 50 is greater than 30 right which is in this case our 50 that is the element that we are looking for the item item is this point is greater than 30 so there is no point that it will be on this side so we will skip or we will neglect this half portion of the array so that is why our new beginning is updated it will be new it will be middle index + one that is middle index was 2 + 1 that is this will be our new beginning so we have smartly skipped the half portion of the array so now let’s rub all of these things and now let’s see what happens in the next iteration now we’ll keep this thing in mind that we are not looping or we are not exceeding this limit that is beginning should be always less than it should be always less than or equal to okay so this this condition should be maintained and similarly we’ll again divide our array and then look for the same things right first we’ll look for the element then we’ll skip some part of it so this is the iterative approach for binary search right now let’s look at the recursive approach or recursive algorithm for the same so again beginning the ground rule will remain same we will always iterate or we will always cursively call binary search unless and until this beginning is less than end done now what happens we’ll again find middle index that is beginning plus end divided by two then we will look for the element these three steps will remain same even if you’re using recursive approaches now what happens in recursive recursion right we again call the function again and again that is what is recursion so in this uh in this entire tutorial we will be covering ing recursion as well but in the later part part of the course here you can get a good intuition or let me give you a brief intuition about how recursion works so let’s suppose this is your activation record every time when a recursion uh is there an activation record is called so let’s suppose you have these three statements let’s suppose in your algorithm you have statement P1 P2 and P3 right and at P2 you are calling the function again right you’re calling this function again so now what happens an activation record is called he will check okay is this statement executed yes so one will be executed is second executed yes so second is executed but at second you calling this function again so at that time again a new activation record is created now this third step is left behind right now this will be covered when we come back or return from this function call that we called here so let’s suppose this function was here now in here you are returning right this function called let’s suppose this is not less than beginning uh beginning is not less than end so this will be some somewhat this case is relatable right this is similar to what we are looking for right let’s Suppose there is some s similar situation where in beginning is not less than and at that time you will be returning from this right now once you have returned you will be then calling this function again but this time around for this and let’s suppose this time around you will you are calling this one is executed Step One is executed now again this activation is record as called this activation report is one and then again this is called right this is executed again this two is called again a new activation record will be created and these three three steps the step third will be still left for execution so now here you return right then it will go back to this step right and then once you are done with this now there are two positions or two possible scenarios where you can return either you are returning from this function just like we have executed this condition and we return right another is that once you are done with this entire activation record at that time you will also return okay so these are two scenarios now you have executed this there is no step to be executed it will return now this left this was left behind this will be executed now nothing is to be executed it will go to the caller which was this and finally it will go to the main method wherein we call this at the first place this function okay so this is how an activation record is created a stack is maintained okay even if uh you might be thinking we are not using any extra space but whenever recursion is there an extra space that is in the form of Stack that stack is maintained so you need to keep this thing in mind while you are playing around with space complexity at the time when you’re using recursion okay so now with that being said let’s clear our screen and let’s see how recursion is called here so again now recursively what we will doing if now we have this mid right and let’s take an example of an array 0 1 2 3 and 4 10 20 30 40 and 50 so middle index will be 0 + 4/ 2 that is 2 so this is our middle Index right so this is zero uh this is our beginning and this is our end right so now we are hit hit right so we again check the 50 that we are looking this is our item that we are looking for okay so is 50 and this is our middle index is 30 greater than 50 no it is not in this case so this will never be executed this is not executed as well right now what about this condition the else part now what we will be doing we’ll be skipping since this 30 is less than we’ll be skipping this part and we will focus on middle index + one which is nothing but this so this will be our new beginning and our process will start moving right so now again then the same thing will happen unless and until this condition is false okay so this is how your binary search works when you’re using recursion so now let’s try to understand binary search and let’s see its demonstration okay so we are looking for 20 and this is our array right 10 11 16 20 and 2 now this array is sorted right so we can apply binary search Okay since we can neglect some part of the array based on some conditions okay so now our beginning in the first iteration what is happening our beginning is zero our end is 4 and our middle is this element now what we be looking for is 16 equal to 20 no it is not but 16 is less than 20 so we will skip this part in the next iteration what happens we’ll be focusing on these three elements right that is 20 uh from we will be focusing on this part rather if we say we’ll focus on this part right focus on this part okay so now in the second iteration what will be happening our beginning is updated now our new beginning is this point our end will remain at its own position now we’ll find the middle index so it will be 4 + 3 that is 3 that is seven right and divided by two it is 3.5 right so since this will be truncated right the truncation will happen and the integer that is there the middle index will be three so this is our middle Index right so you can see middle index is three now is this element that we’re looking for yes so we’ll return the index so we found our element at index 3 and hence we return three because if You observe carefully it is returning if the element is found it is returning the index so this will be returned okay so this is how binary search works after knowing what is binary search we’ll implement the same in Python quickly switching up to the ID so the binary search has four different elements are important the first one is array the second one is which is the element to search for which is stored in X and L low and high why because every array in order to have the binary search will be divided into two parts right it will go accordingly if the key that means whatever the element you are searching is matching the middle element it will exit the binary search immediately if not it will try to proceed with the search of that particular element in halves of the array like it will divide the array into sub arrays the right and left part it it will try to see and search for that element accordingly as per the key element is right so mid is equal to low + High minus Low by 2 so this is the basic formula which will be using in order to split the binary array in order to have the search right so if array of middle that means middle element is equal to equal to that means it is equal to the key element which you’re searching then it will immediately give you the middle element as the searched element so if else what happens if the middle element is lesser than x what it will do it will go to the right side of an array if it is greater than x it will go to the left side of an array right so it will try to search in halves like sub arrays here if you could see the array that is 3 4 5 6 7 and 8 and N9 you have all these elements inside the array what you have to search is four so four is the second element immediately you can see but accordingly you have to search as per the binary search rules what it will do it will first cut this particular array into two halves by using this formula and then it will compare the key element which you are trying to search with the Elements which is already present in an array in order to find so let me quickly run this okay it is telling the element which you are searching is present in index number 1 that means it is having the count of array index not on the element so 0 1 2 3 and so on so four is present in index value one so this is how binary search will work work in Python now let’s talk about the time complexity of binary search now in the best case now what is the best case now let’s take an array and in that array 1 2 3 4 and five these are the elements now the best case is that not that if the element like we saw in linear search this element when we are looking to search for this same element at that time that was the uh best case scenario for linear search right but in this binary search the the best case scenario is when your middle index is at the at this location and you’re looking for you’re searching three in the entire array so at that time this will take a constant amount of time and this is the best case time complexity in that case okay now in average case what happens right if you talk about this algorithm let me just clear out my screen so it follows a paradigm of divide and conquer so let’s suppose you have eight elements first in the array it will be divided into four because these four either it can be on the left side or on the right side will be neglected and then we deal about these then we focus on these things okay these four elements again it will be divided into two and two then we will DCT two elements then one and one then again there will be one of the element can be neglected so there are one and one so we focus on this element so the entire operation will be done or entire searching will be done in three steps right now if you I take an example and if I do a log 8 to the base 2 what should be the value of this obviously when I do this this can be written as 2^ 3 right and this can be written as 3 into log 2 to the base 2 now this is 1 and now you get the answer as three so this three and this three are equal that means if I talk about the worst case time complexity of binary search it will be somewhere around log n as it Al as we saw in three steps we were able to find the element and the log n that means log 8 is the answer of that is also three so you get the point right so the worst case type complexity of binary search is log n and same goes for the average case wherein it will be somewhere around log n / by 2 neglecting log nide by 2 neglecting the constant terms it will be again or it boils down to bigo of login okay now let’s talk about space complexity of binary search now when you talk about space complexity right we only think of auxiliary memories or you can say that or you can say that what any extra memory that you guys have used since we did not use any extra memory that can be in the form of array or it can be in the form of stack or it can be in the form of Q or link list or even strings right since we never use these extra memories in our implementation so the space complexity of binary search is bigger of one that is it takes a constant amount of space what is insertion sort so the question is that what is sorting you might be thinking why do we need these sorting algorithms so if I told you that you have a bunch of students right you have bunch of students and they each have their role number they are not present in what in a numerical order or you can say they are not present in some order I want that order to be maintained let’s suppose you have 1 to 10 students in those bunch of students and each are having role numbers from this range from 1 to 10 now some of them are absent and some of them are some of the role numbers have left the school but the role numbers are not changed yet now what I told you I told you please sort them or arrange them in such a manner so that I can easily understand which role number is after which either in ascending or in descending order suppose one is there two is there then six is there then eight is there then 10 is there so rest of the RO numbers I can easily depict okay these are the ones which either are not there or are absent so in order to do so we have these sorting algorithms in picture and one of those sorting algorithm is insertion sort now it is the simplest easiest and a Brute Force sorting algorithm now what do what you mean by glute Force glute Force means straightforward right in a naive way it means straightforward that means you’re not keeping into uh you’re not considering any efficiency or you don’t cons you don’t care about time complexity or space complexity you just straight away sort it with the most simpler and naive approach okay in this root Force algorithm what happens that let’s suppose let me give you an example right obviously we can sort with the help of this insertion sort algorithm you can obviously sort either in ascending or in descending model right uh let’s take one example we all know about the card game right wherein you have a bunch of Cards Right suppose you have a single card that is in your hand right and you have bunch of cards available on the table now you start picking those cards one by one obviously the one that is in your head is sorted because if I told you to sort a number one obviously there is only one element in the array or anything right in the link list I told you to sort it but if you’re having only one element that is itself sorted right you don’t need to sort that similarly what happens now this card is in your hand right it’s just like playing cars right now you have this one card in your hand and it is obviously sorted now what you will do in the next turn you start picking up one by one from these set of cards that are available on the table now let’s suppose this is zero okay I’m considering these numerical values so that because so that you can understand and you can just connect the dots right so what happens you have the zero and now you start comparing it now we are considering the scenario where you are trying to sort in ascending order okay so now let’s try to erase these things so that it’s easier for you to understand things okay so now you have these two elements right and now we are considering the case wherein you are trying to sort in asset name so you check okay if 0 is less than one yes it is now you swap them okay now you have zero and one now these are the two cards that are present and both of these are sorted so now insertion sort Works in such a manner that you will always have two parts right one is the sorted part obviously which is in your hand and one is the unsorted part which is on the on this deck right so similarly you can you will start picking uh elements or you can start picking these cards one by one and keep sorting them okay now this is one simple scenario wherein you can apply what insertion sort right this is the most simpler way one can explain or one can understand you this insertion sort algorithm now it is simple right now you start picking these elements and you keep sorting them and the at the end when all of these elements are exhausted you will get your sorted areay now let’s try to understand insertion sort algorithm so in this algorithm what happens obviously now we know that we will have two parts right one is the sorted part and another is the unsorted part right so obviously the one element that is present in your hand or the element or the card that is in your hand and there’s only one element there right the one element in your hand obviously that is sorted right so we will not consider that first element and we will start our iteration from the second element right now we understand why we are doing this that we are starting from 2 to n minus one or 2 to n depending upon the array that we are starting from either we can start from zero index or we can start from one Index right so we always start from element number two right and then what we will do we’ll just store this value inside temporary variable and then we will check if that element is less than the element that we have in this sorted part if that is the case then we will shift their positions right and we will get both now we will have two elements in the picture that is 0o and one and both of these will be sorted in ascending order and then what we will do we’ll consider the rest of the cases that is starting from three to so on to n okay now you might be thinking okay how does this thing happen let me take an example and let me show you how let’s consider this array that we have over here that is index zero these are all the indexes that we have and this is our array that is 23 10 16 11 and 20 so in the first step we are making now we are making partitions now this is our sorted part that is the first element and this is our unsorted part now what we will do in the first iteration this is our iteration number one because this is the case wherein we will start moving from second index that is first index if we consider from zero right so we consider from second element and so on to end right so now in the first iteration what we will do we’ll compare these two values okay let me just erase everything so that it’s easier for you guys so now we will compare these two now obviously 10 is less than 23 what we will do we’ll shift their positions now this is your sorted part and this is your unsorted part again we will do the same thing right so in second iteration what we will do here comes 16 now what we will do we’ll compare it first with 23 okay we know now okay 16 is less than 23 so now what we will do we’ll swap their positions so this is 16 and this is 23 now what will happen now 16 will be compared with 10 obviously it is not less than 10 so it will remain as its at its own position that is its new position at index one right so this is the second iteration and after second iteration this will be your sorted part as you can see that I have bolded this text right bolded the borders of these two these two elements and bolded the same for these three elements because this is the sorted part that we have over here and this is the unsorted part now what will happen in the third iteration that it will check for this number that was there it is 11 so for 11 what we will do we’ll compare it with what read this thing now we’ll take 11 into consideration and now we’ll check it we’ll swap them then 11 is here 23 is here we’ll check them we’ll swap them 16 is here 11 is here we check them so since 10 is less than 11 so nothing will happen so in the third iteration what will happen we will have 10 11 16 and 23 these are all sorted and we are only left with one element which is unsorted right now in the final iteration what will happen that 23 now this 20 will be at its original position that is there and rest of the elements will be sorted now since we have exhausted all the elements all the elements have been exhausted and we add the final step that is in iteration four we will have this array that is sorted after learning what is insertion sort let’s quickly implement the same in Python language so I’m using Google collab whether it is easy for everybody to access Google collab so need not install anything it’s right available in the online so let’s quickly switch to that Google collab ID for python so here you can find insertion sort the name for the file in Python extension so with that we already have this particular program which is easy for me to explain to you so here so we are considering a function called insertion sort right so the function is called whenever the data is being passed in order to sort the elements inside the data in ascending order right so in order to do that we have to write a proper function accordingly as inent s will work so how does that work you have already learned about it so in order to implement you have to use a for Loop so for Loop has a range so it will be always checking for the elements in inside the array one by one for comparison with the key element right so whenever it is finding the key element it will which is greater than the key element or which is lesser than it will swap accordingly right so we are using Y Loop in order to do that same work so we are swapping from the current position where it is being found which is greater or which is smaller accordingly we’ll swap it right so then we have the data which is been given here so the data is present that is 52 178 so what happens in this particular data is when it passes through this function every element will be sorted with the help of incision sort function which we have written here so first it will compare the elements and it will try to sort in ascending order say for example if you want to do descending order then you have to change just one single element that is this key should be greater than array element that’s about it nothing else no change so after that incision sort uh is the function is having the data which is present here so all the functions will be completed then we’ll be printing the final output how do you print once the function has completed sorting immediately it will be stored in the variable data itself so that particular data is being printed after sort element will be viewed right so this is just a print statement sorted array in ascending order so if you’re doing for descending you can make it a sorted array in descending order so let’s quickly check how this output look like so here you have sorted array in ascending order so that is 1 2 5 7 8 right from smaller to the higher number so let’s quickly make a small change here so that it will give us the descending in order let’s try to work on it right if you could see here key is greater than array element then you will be getting the descending order that is 875 2 1 so you can change it likewise okay I didn’t change the printing statement so I’m just changing descending order right run the same that’s been declared so this is how insertion sort will work in Python and the code if you could see it is very small and quickly it is eliminating all the variable initializations we make anything and everything you just want to have the function pass the data get it sorted and the output is done so this is all about insertion sort in Python now let’s talk about insertions or time complexity so in the worst case when all the elements are in fard manner and we need to sort them one by one so obviously we are talking about first the outer loop which runs from one to n and then the inner loop which runs backwards and in the last first we consider in the first iteration we only consider the zero element then as we move along it will be running from n to zero element right we will be considering the whole n elements so in that case the time complexity the worst case will be order of n squares because we have two nested Loops that is one is for Loop and inside that for Loop we have that we have that y Loop right so this is the in the worst case and it happens also in the average case where some part or the sorted part is already there and it is let’s suppose we have 5 4 5 6 7 8 and then we have the unsorted part so half of the elements are sorted and half of the elements are not sorted so it will be n² by 2 so we not considering the case where we talk about constants and we are negotiating the constants and in that case the average time complexity will be n² right but the most important thing that is there in this time complexity is the best case that means when your elements that is 5 6 7 8 9 and 10 when the elements in the array are already sorted what happens in this case if You observe the war loop that runs from 1 to n will be always there n is always there the time complexity the Big O notation Big O of n will be always there but in this y Loop wherein we were checking for if J is greater than or equal to zero and if AR R of J is less than 10 right in that case this will never be executed because this AR of G will always be less than will always be greater than 10 why because we talking about this element and we’re checking if this 6 is less than five no it is not if this s is less than six no is it it is not so this condition will always be false for all the elements so in nutshell we are just checking these steps only once in every iteration so that is for the reason that the whole time complexity in the best case will be bigger of N and not Big O of n² in the best case okay now let’s talk about insertion sorts space complexity if you have observed in algorithms and in implementation we never talked about any auxiliary memory right we were not using any extra space either in the form of array link list stack Q or anything right so that is for the reason the space complexity of insertion sort is B of one that is constant amount of space now let’s talk about insertion sort analysis wherein we will be analyzing comparisons number of swaps stable or unstable in place or out place so first let’s talk about number of comparisons required in this we will talk about two scenarios wherein we will talk about worst case and average case in worst case the number of comparisons required is n² by 2 now if you talk about average each case scenario It Is n² by 4 which is twice as much as this right it is two times if you talk about number of swaps that are required in insertion sort in again we will talk about two scenarios average and worst case in average case it is n² by 8 and in worst case it is n² by four these are the number of swaps required and if you want to check those if these statements hold or not if these equations hold or not you can always take an example wherein you will be considering both the cases even as well as odd so take an example and run through it now if you talk about stability of insertion sort it is a stable algorithm what do you mean by stable so if you have an array which contains 1 3 1 d and five in this array the relative position of these two ones that is this one and this one let me change a color and let me show you the relative positions of this one and this one will remain intact what you mean by this thing that whenever you are sorting it you can sort it in two different ways right this is also sorted and this is also sorted that means you can either have one 1 D3 and 5 or you can have 1 d one and 3 and five this is obviously that this this number is repeated but this is the first number this this occurred here the first time and here it is the second occurrence now you want to keep their relative positions intact right so both of these are sorted right but if you talk about stability this is known as stable and this is unstable okay now insertion sort whenever you are trying to implement insertion sort it is stable that means the relative positions of both these ones will be intact okay so if someone asks you if insertion sort is stable or not you will say yes why because the relative positions of the number that are of the numbers that are repeated remains intact now what about this in place or outplaced since we are not using any auxiliary memory right we didn’t use any stack Q Link list or array that is the reason that whenever you are not using any extra memory it is supposed to be in place algorithm so if an algorithm is sorted within the array that was there earlier that means you’re not using any extra space that algorithm is known as in place algorithm which is evident now in insertion sort as we are not using any extra memory so insertion sort is an in place algorithm now let’s look at the example wherein we will implement insertion sort if you can see we have this example over here wherein we have 6 5 3 2 8 10 9 and 11 and we have been given this K what this K signif signifies that the maximum swaps or comparisons needed for this three either on the left side or on the right side right the number of positions that it this three needs to get to its original position is three so this is a question that is known as nearly sorted array or k sorted array we do not need to sort all the elements in the array but we are specifically looking for those Elements which are not at its original position and if we want to get them to their original position the maximum comparisons or swaps that we require is three so if you see this three the original position of this three is this five that means in the sorted array it will be here similarly if you talk about this two the number of swaps that it should do is 1 2 and then it will it will be at its original position or you can say that 1 2 and three so max it can go to three positions okay so similarly it will be the same for all the elements so at most three okay and at least it can be that it will have it doesn’t move need to move at any location that it will have its own original position just like in 11 you see 11 is at its own position in the original array as well as in the swapped array so at most you have three positions let’s try to understand what is sorting and why do we require sorting so sorting is a mechanism wherein we will be sorting or arranging our data either in ascending order or in descending order right so let’s suppose you have a student you have 10 students and all those students have role numbers allocated from 1 to 100 and you want to know which role numbers are present and which are absent and which have left the college or school right so in that scenario you can easily Implement sorting right and you can understand when you have that sorting uh arrangement in place you can easily detect which elements or which students are absent or not right so here in you can use sorting so in this tutorial we are going to understand quck sort algorithm it is one of the most widely used algorithm it follows a paradigm of divide and conquer what do you mean by divide and conquer basically we will be dividing our array in such a way that every time we will be dividing let’s suppose this is an array and now we will be dividing into two then further we will divide it into two then further we will divide it into two and so on right so we’ll see in the algorithm part how we can implement this divide and conquer Paradigm and in this tutorial we will be implementing this quick sort using recursion we’ll see how we will recursively call those functions based on some pivot element now in this recursive call we’ll choose a pivot element let’s suppose you have have this array and we were choosing this element as pivot obviously you can choose any element as pivot right so it can be first element it can be uh last element it can be any random element but once we have chosen those that pivot now what we will do in each iteration right in quick sort what happens in each iteration this pivot will have its original position that means this will be the position in the original array as well let’s suppose this is our pivot now this pivot will have its original position after one iteration after that iteration is over and all the elements that are less than this pivot are on the left hand side and all the elements that are greater than will be on the right hand side now then we will be choosing another pivot now what are those pivots we’ll see in the algorithm uh more extensively what are how we can choose that pivot now let’s suppose we choosen we chose this pivot and this pivot is here and and after the second iteration what happens this pivot this will be our next pivot and this will be our next pivot now we will be having two pivots so this is how we indued that we are implementing divide and conquer approach okay with each step our problem gets reduced to two which leads to Quick sorting quick sort right or quick sorting algorithm okay so now we’ll be dealing with this subar and we’ll be dealing with this sub AR and now we’ll be implementing the same procedure on this subarray that means this is the pivot and this is a pivot right now let’s try to understand the algorithm of Quake sort so now we have this first of the method that is there that is known as Quake sort in which we will be calling this quick sort recursively again and again but first time around what happens we will check okay now we have this array always we will check beginning should be less than end because that way we can keep keep the track of things that okay this is the part that is already sorted and this is the part that is unsorted right and now we will be checking and after checking that we will be calling this method we will see what this method is we’ll see the algorithm and we will see how this partition happens and we will get the index of the let’s suppose we pick this element as pivot and after partition what happens this pivot has its original position at index 3 right and that will be returned and that will will be contained in this pivot Index right and now what happens now we know that this is its original position in the original array wherein we will get the sorted array this will be its original position that means this element let’s suppose is 8 8 will be at index 3 and this will have its original position after each iteration now first time around what happens this partition is called next time around what happens this quick sort algorithm is called again recursively first time on the left left hand side that means this portion now in this portion this will be your pivot okay you see beginning is uh we are sending the arguments as beginning and pivot index minus one that means we are not including this element because this has been already sorted we are not including this element and we are calling this function on this subarray again and this time around this will be our pivit and same thing happens similarly when we are done on the left with the left hand side now we’ll be moving to the right hand side that is we will be implementing it on pivot index + one that means this element from this element that is there to the end of the array and this time around this will be our pivot okay now with that being said this is what happens when we are implementing quick s but now what about this partition method let’s see how that happens so in Partition what happens we will be setting up the PIV PIV element that is setting up the element which is our pivot obviously you can choose any element but in this tutorial what I’m going to use and what you should try first that we should try to pick pivot as the last element obviously you can pick any element and it’s time complexity depends on which pivot you will be choosing we’ll see that in the time complexity part okay now we have set this pivot as the last element and now what we are doing we are saying that okay the pivot Index this uh this step refers to what is this is the index from let’s suppose this is the pivot index and what happens this will be our pivot okay what happens this pivot index maintains that order okay from this index from this index everything on the left hand side is less than the pivate and everything on the right hand side is greater than the pivate so we’ll see when we we will see an example and there in I will show you how this pivit index is very important okay now what we will do obviously at start it is at this position that means we are not we have no such scenario wherein we have some elements that are less than pivot and we have some elements that are greater than pivot okay so now let’s suppose this is our array and this is our pivot right and this is our P index that is the index PIV index and it is minus one right now okay now these two steps are done now what happens in the third step now we will iterate from beginning that is this point and we will check if any element is less than pivot if that is the case then what we will do we will increment this and swap those elements that is the area the first element and the index that is present at that means now if you see this step now we have incremented it first right now let’s suppose if any element that is less than pivot we first increment the pivot index that means that pivot index will be here and we will be swapping with a r of I and a r of I is also at this location so this element will be swapped with itself now you might be thinking okay so why we are doing this right why we are doing why we are swapping this with its own uh with its own position you won’t get the intuition in this step but in the next step you will definitely get the intuition now let’s suppose this is the thing that happens in the for Loop now let’s try to reiterate this now if an element is not less than pivot let’s Suppose there was here we had five and here we had three so it was less than and we swapped it very yourself now let’s suppose we have this element six and it is not less than P right and what happens over here so we will not be we will not execute this if block right and then we’ll have this AR of I now I will be here now I will be incremented and this time around we have two and P index is still here right now this time around it is less than two right and now what we will do we’ll increment first the P index it will be pointing here here and then what we will do we’ll swap swap these two elements right these two elements will be swap so now you have two here and you have six over here right so you see this is the reason why we have this pivot index at in place and why we are swapping them so in the first step it was uh it was that it happened due to the fact that the element was less than pivot and if the element would wouldn’t have been less than the pivot then we have incremented the I pointer and P index would have remained on minus one now finally what happens now when Once the entire iteration is complete and let’s suppose we have eight over here and we have then 10 now once the iteration is completed now what we will do we’ll swap these two elements that means five and six will be swapped and we have five here we have six here we have eight here we have 10 here and we have three here and we have two here so you see after one iteration all the elements that are less than pivot will be on the left hand side and all the elements that are greater than will be on the right hand side and finally we will uh return pivot index uh that is p index + one that means we’ll be returning this index so that this element is not considered or will not participate in any further iterations or any further recursive calls because you see if You observe carefully that we we’re sending pivot index minus one that is without five all the elements on on the left hand side and plus one that means without this index all the elements on the right hand side okay this is how partition works now you might be confused a little bit now let’s try to demonstrate this with the help of example so you see we have an example over here right we have 5 10 9 6 and 7 these are the elements in the array and we have this pivot here the last element we have chosen last element to be the pivot and after that what we are doing we have this end pointer and we have this beginning pointer also we have that pivot index which will be somewhere around here right that pivot index which will be minus one now this seven will be checked okay is 5 less than 7 yes five is less than 7 so it will be swapped with itself and pivot index will be incremented first and then swapped with it itself now pivate index will be here next time around our a our I pointer will be here first it will be here then what it will be incremented now we’ll be again we’ll again check okay S7 is 7 less than 10 no it is not so our I will be incremented I will be now here at this position right now again it will be checked no again it will be checked yes so now what happens 7 and six uh the six will be replaced with what 10 so you have this six in here obviously PIV index will be incremented first and then we have the six over here and it will be swapped with 10 so 10 will be here right done and finally when we are the end once the entire iteration this is the step one once the entire iteration is completed we have 5 six and then seven will be the last swapping that we did the last swap that we did If You observe here carefully this swap that we are doing this is the the one that is responsible for swapping this seven with the pivot index that is Pivot index + one that is this location and we have this seven over here and it will be replaced with nine so that is why we have nine over here and 10 was here and this is the array after first iteration now you might be thinking okay now this element is fixed now we will not never talk about this element because this has its original position in the sorted array as well now what we will be dealing with we’ll be dealing with this left part and we be dealing with this right part so now what happens in this part right and what happens in this part you see now we have new this is our beginning and this is our pivot because this is the last element that we will be picking and this is our end similarly this is our beginning this will be our PIV the last element in the in this sub array and the end will be here now we’ll be again doing the same step and this time around we’ll be checking okay Pate is less than no nothing will happen and then we will be we will be swapping this thing with itself right and now once this entire subar is completed we’ll not go any further because this time around beginning is not less than end both elements are at zero and 0 is not less than zero and now if You observe carefully this is the condition that we were setting at the start of the of the function that is the quick sort function and we be checking we were checking if beginning is less than end right so this is the importance of that similarly the same thing will happen happen over from this this side and again beginning will not be less than index end part and we will not go any further so after two iterations our entire array is sorted right so this is the step one after step two our entire are is sorted after learning what is quick sort let’s quickly implement the same in Python so here we are using python ID that is Google collab one of the ID mean to say and then we’ll implement that particular program there so let’s quickly hop into the ID now so here is the program for quick sort in Python so let’s understand how this program works right the first part we need partition to be made right any array in quick sort to be broken into two halves and we will start sorting in that particular different pieces so partition positioning will be done with the the help of array low and high variables so at the rightmost always we’ll consider the element as pivote element rightmost element of the array is a peot element that is the consideration so in order to do that we’ll use p is equal to a RR of H right so then point of for greater element so whatever the element is greater in order to compare we’ll be using this point in order to Traverse from all the elements inside an array keeping one PE element in consideration with comparing with that particular element we use this for loop system right if smaller than element is present which is smaller than PE we’ll use this IAL to I + 1 and immediately we’ll swap the element in the position which is there in I with J right that will be done with the help of a r of I and J is equal to J and I we’ll exchange change if you could see here I J is being changed to J and I so we’re exchanging the elements if it is smaller than the P element then swap p with I if it’s greater than P right if any element which is greater than po element wherever the I is pointing to that element will be swapped between the element and PE right in order to do that we’ll be using this particular condition then we’ll get back to the initial position where we started the partitioning right where we broke that array into two parts the partitioning is done there we’ll go back and we’ll try to start initial position then the quick sort function will come right so here in quick sort again we need three different elements AR low and high if low is less than high that is smaller element than peot is present it will all go towards the left side if there is greater element than prior is present it will go to right side so partitioning is done accordingly so this is a recursive call which we follow for quick sort right we’ll be having again array low P minus one Pi is p minus one so again for the right of the P we have a recursive call function which is declared here once all these things are done we have to give data in in order to sort something right we are here presently concentrating on sorting the array which is given in the ascending order right so the data set here is mentioned and it is been assigned as d right so the set is been assigned as D 9A 8 7 2 10 20 and 1 so these are the elements which we are trying to sort right we are printing the unsorted array that means however the input is present here that is printed as it is unsorted is array is equal to so and so which is already there which we are not performing any functions then we have print D that means immediately it will print then size is equal to length of D we’ll consider in order to print while we are printing right we have to print element wise so again we have to print it nine first8 next seven next and then two followed by up to one so after that is done we will send this particular data raw data which is unsorted data to the function called quick sort which we have created here right so that is been sent once that is sent it will follow all the procedures which is mentioned here all the functions will be passed with the data and then finally we will print sorted array in ascending order which is uh sorted using quick sort right so let’s quickly run this program and check out out what is the output so it will take some time in order to take the output so let’s quickly see okay so that is what I mentioned unsorted array is nothing but the array which is been given by the user and sorted array is also given after performing all the functions assigned for the quick sort so if you could see it is in ascending order starting from one and ending at 20 so this is all about quick sort in Python now let’s try to understand the time complexity of quick sort algorithm in quick sort algorithm we have now seen that partitioning of elements takes place and we are partitioning all the elements that means all the N elements if there are eight elements all the eight elements will be we iterate through all the eight elements right so partitioning them takes end time that is order of end time and then quick sort problem divides it into the factor by the factor of two right every time we are divid dividing it by two so the entire process or the time complexity of quick sort in best case and in aage case takes order of end time that is bigo of log n and same thing happens when we are talking about the average case as well but why this is n s in worst case that is the question right so let me clear it out so the question is that why this thing happens if you are picking either the smallest element in the array or the largest element in the array as pivot in that case you are traversing through all the elements again that means this n is already there for partitioning them that means you will be iterating through the array but the extra n and that means inside that n you’re again traversing through all the elements and swapping them because you have picked your pivot in worst case you can either pick it is smallest or the largest element in the array in both these cases you are you will be swapping all those elements with itself that this element will be swapped right this is this is the largest element right this is let’s suppose this is eight so nothing will happen right so these are this is smallest then it will be swapped with itself this is smallest this is this will be swapped with itself this will be swapped with itself this will be swapped with itself so all the elements will be swapped and finally this element will have its original position at the end right so this thing will happen if you are picking your pivot as the smallest element or as the largest element in the array okay so in this in these two cases this is not the case you are picking your pivots as random you picking your pivots randomly okay in nutshell when you are picking your element that is your pivot element as smallest or or the largest element in the array in that case that will be your worst case time complexity and it will be B of n² now let’s talk about the space complexity of quak sort now you might be thinking okay we are not using any extra space right we are not using any auxiliary memory like in the form of array stack Q Link list or anything right but for calling this function that is the quick sort function we are using recursion right we are calling this quick sort again and again right to quick sort calls are there for maintaining the call stack we require order of n space that is the time complexity will be big off and when we are using this approach and in the worst case this will be the scenario that all the elements will be on the call stack okay so in worse case the space complexity will be bigger of and but if we modify this approach of of storing the elements and calling the call stack and maintaining the call stack we can reduce it to beo of login now let’s try to analyze quick sort algorithm let’s first try to understand the stability so let’s suppose if you have this array 1 3 1 dash and 4 now an algorithm is said to be stable if both these one and this one both these in the sorted array will maintain their relative positions now you have the sorted array right and both one this one and this one are maintaining their relative positions which were ear in the unsorted area right so if that thing is maintained right if that thing is maintained the algorithm is stable else it is not stable obviously you can have another way with which this is also sorted but this is not a stable this is unstable algorithm and if you are sorting in such a manner and you have these things placed this algorithm is unstable so if you talk about quick sort algorithm quick sort algorithm is an unstable algorithm although so we can do some modifications and we can stabilize it or we can add we can make this algorithm as stable but as of now if you talk about quick sort algorithm it is an unstable algorithm what about in place and out place since we are not using any auxiliary memory right we are not using any extra space explicitly right in the form of array or link list or stack right or even CU we’re not using any extra memory right so this algorithm quick sort algorithm although we are maintaining a call stack wherein we are you maintaining a call stack and we have a space complexity of big of and but since we are not explicitly mentioning this these uh uh these auxiliary memories this algorithm is an in place algorithm and these are the two analysis that can be done on quick sort so in nutshell if you talk about quick sort right it is unstable algorithm what is merge sort if we talk about merge sort let’s try to understand first sorting sorting is a mechanism of giving order to your values right so let’s suppose you have some values random values 10 30 and then you have 5 2 1 and so on right you have these values and now you want to maintain some order so in order to to visualize this data let’s suppose you want to see uh the ascending order of it or the descending order of it that is what you mean by sorting so let’s suppose you have a class and in that class you have several Ro numbers and some of the RO numbers are not present and then you want to sort those role numbers uh in terms of ascending or descending order that is when you require sorting so this is the basic intuition behind sorting trying to give order to some kind of values or some kind of a data set right so in this particular tutorial we are going to talk about M sort so M sort is a classical sorting algorithm in this sorting every time your problem is divided into sub problems so that your problem set is reduced and then you will be focusing on that sub problem similarly every time when you’re dividing your sub problems you will keep on dividing it unless and until there is only one element left right if you compare it with simpler sorting algorithms like bubble is there insertion is there selection is there Quake is there when you talk about its time complexity as compared to these algorithms this is very much efficient now it follows a paradigm of divide and conquer what does this mean this means that first you keep on dividing your sub problems and then you will conquer those problems and then you will combine those things okay so here in we will see when you are trying to divide your sub problems and then when you have your problem set and those problem sets are conquered that means those problems are further when you talk about in this example those sub problems are sorted in this case and then you have conquered them and then you will combine them that is your merge phase wherein you will be combining your problem again and then for forming again a single sub problem so every time you will be dividing that sub problem you will be conquering it and combining it so this is how this divide and conquer Paradigm works so basically when you’re dealing with merge sort you are focusing on two functions that is your merge function and your merge sort function so now let’s talk about this divide that means you’re dividing your sub problems which continues unless and until there is only one element left because one element in itself is sorted right now this is your divide phase what about conquer basically you are conquering those idual sets and then merging those two sub problems into a single problem and finally you will be doing it on each step and finally you have your original array which is sorted now let’s talk about M sortor so first let’s talk about merge sort method so in this method what we are doing we are dividing our array into further sub arrays how we are going to do that we have basically if we have this array right and this array let’s suppose this contains eight elements right this is our array and let’s suppose this is our left pointer and this is our right pointer and now what we are doing we are dividing it so we need some kind of a in iterator wherein we will store the sum of and we try to calculate the mid value how would you do it in simple words we calculate left plus right ID by two that’s it right so we have this Division and then we will divide this part because we are calling this function again right on the left hand side so this is going to call on this side that is we will be talking about now only three elements so this is let’s or let’s take four elements on this side and four elements on this side so our mid will be 3.5 so we’ll be talking about elements from 0 to three so we will be talking about four elements and then further these two steps are remained why because we are implementing this in recursive fashion so now let’s suppose this is our first function call and you have these three steps one let’s name it one 2 and three okay so in the first function call 1 2 and three so this is the first function call and in this we’ll call in again this is the second function call and we are calling again these two remain right and we are calling again 1 2 and three right so in this case again we are calling it on these four elements and it will be divided into further two elements 0 and one right and in this case again this this is called this will be called on this these two elements right here we are talking about only two elements so this is a third function called and again we will be dividing it these two and three steps are still remaining so in the fourth step what we are dealing with only single element right and in this case we’re talking about only this element right and further we will not be able to divide it and in that case our left is not greater than our left will be greater than or equal to right and in this case it will will be equal to so we will return so now it will be returned right and then whatever was the left over right now we talk about this single element the other element that was left behind we’ll talk about that so again that will be divided into one right and again this will the second option I’ll just erase it because it looks a little bit messy so now what happens let me just put it again in red so here we called this fourth time and this time it returned right so in this case now we will be on the second step now again it will be called on that single element and again left is not great will be greater than or equal to in this case it will be equal to and then we return so again we are returning so we have these two elements one and one that means not one and one element but there is only a single element in both these arrays right why I’m saying that in these two arrays we will be we will check when we talk about merge okay we’ll see how that is implemented okay so now these these two function calls are done and then we deal with merge now before going into the merge let me show you a demonstration of how things look so you have these elements and here you have how many elements you have five elements right and now you’re dividing it into three and two now this is your first step the second step will be this so now will you go ahead and create this as your third step that means you will move on to this no because we saw unless and until left is not there is no left left right we will not go to the right so this is your second step then this will be your third step this will be your fourth step now you will move on to your fifth step right and now once you don’t have anything on the left nothing on the right then what happens will this be your sixth step no your sixth step will be merge so let’s move on to merge now so in the merge function if you see the algorithm for that is simple that you create two sub arrays that is the one is your left array and another is your right sub array now in this you have obviously in the last case if you have seen we have a single element here and a single element here now once we have deduced out the length of these aray aray s what should be the length of these sub arrays and we have declared the length or declared these arrays and then we have initialized these arrays once these three steps are done with then what we are going to do we are going to create three iterators i j and k and those iterators deal with I iterator will deal with left array J iterator deal with right array and K with the original array which helps us to insert the elements so once we we have everything in place what we are going to do the next step is comparing the values right if this element that is the element in left array is less than the element in the right array we are going to insert that in the original array so now let suppose you have 10 here and 23 here so 10 is less than so we are going to insert this and we increment the K pointer and now also our I pointer pointer will be incremented it was earlier it was zero and it will go to one right and now what happens now our our I is pointing to one and our length is also one so now that in that case when one of the array is exhausted the next array whichever is the left whichever is Left Right it can be either the left array or the right array those elements will be directly inserted in the original array because we know for the fact that both of these left as well as right arrays will be sorted in itself okay so let’s see what is the next step in the demonstration so here we we had our steps right and this will be the sixth step wherein we are going to merge this thing now will we will this be your seventh step no your seventh step will not be this your seventh step will be here this will be your seventh step now six step is done now you will be dividing it and you will be creating all those arrays now once you have your right array and there is no right because this left is already done and now you had your right left now this is also done now your eighth step will be this that you will be merging it this will be your eighth step then you will be merging it now will this be your ninth step no you have your this array that is your left array in place but what about the right array is this in place no it is not so now let’s try to calculate that now what will be your ninth step this left is done this is your ninth step then what will be your 10th step this is your 10th step will now there there’s no left right now we’ll move on to this right so this is your 11th step because this is the right side of it right and now when you don’t have anything on the right now you will be merging these two steps and this will be your 12th step which is over here so this is your 12th step that means you will be merging these two and the final sorted array is this array and it you will get this array in the 12th step so you see 10 11 16 20 and 30 now if You observe carefully you have these individual arrays one and one so now while you are merging them you are also sorting them so the left array is sorted and same thing happens on the right hand side as well if you see three and four these two elements are sorted in this left array so this is the reason in the right array right not the left array so now when you’re are merging them you will get again an array which is sorted in itself you see 10 16 and 23 so if one of the array is exhausted the next array elements can be directly inserted in your original array let me erase this and you see you have your left array which is sorted and then you’re merging it with the right array which is also sorted now if one of the arrays is exhausted the next array either it can be left array or the right array the elements from that array can be directly inserted in the original array because we know the elements itself if in either of the arrays either the left or the right are sorted okay so this is how you execute your merge function so here is the program for mer sort in Python so how does this mer sort work generally one single array will be broken into two different pieces again those two different sub arrays will be broken into Sub sub arrays so after that whatever the answers we get at the last will be combined together in order to finish the Sorting of that particular array so we are merging all the answers which we got from the sub arrays to make a final result so quickly let’s see what do we do in order to have a merge s in Python so first we want an array which is being passed through this merge sort function so what happens inside this function first the length of the array is been calculated once that is calculated it is been divided by two so it gets left and right parts of an array right so after sorting the array into two different halves we have mer sorting left side of an array M sorting right side of an array right then we’ll perform the V operation um here with the help of the looping systems so we’ll first try to check out whether we have the right array less than the length of an array of the left and then again left array it is less than length of the right so we’ll try to merge and we try to solve the elements then and there itself so later we’ll go back to the left and right parts of while loop here we have length of an array towards the left side we are checking whether it is lesser than or greater than and accordingly we are deciding where we have to merge the answers what we have got from the subar right so then we’ll always have a printing option of this particular arrays we’ll do that in the last before that in order to merge all the answers we have got from all the sub arays we’ll be using for Loop here right so all the array answers will be submerged and we’ll get the final sorted array which is of uh so many elements which is there in the uh input given by the user say for example five different elements were there in an array so after combining all the sub arrays answers we’ll get the five sorted ascending order elements in the array by using M sort so let’s quickly have a look at it how does this particular M sort will work so uh this is set of an array with eight different elements inside that which is not sorted we have to sort that once this array is been passed through the merge sorting function it will perform all the operations finally it will merge all the sorted arrays and it will display in the print list right so let’s quickly run this program and check out even though if if it is we are mentioning the words array but we are using list here in Python in order to store it right so this is the sorted array which we get so here we could see we don’t have a sorted array but here it is sorted in ascending order that is smallest to the highest so so this is all about the M sort next we move to python form machine learning this is where you will learn to manipulate analyze and visualize data using powerful libraries like numai pandas matplot lib and cbon unlocking insights from complex data sets now we’ll start off with this Library called as numpy which stands for numerical Python and as it is stated over here it is the core library for numeric and scientific Computing so whatever numeric or scientific calculations you have to perform numpy should be a go-to language and this Library called as numpy consists of multi-dimensional array objects and a collection of routines for processing these arrays so let’s go ahead and create our first numpy array so you can have a single dimensional numpy array or a multi-dimensional numpy array now we’d have to start off by importing this Library so to import numai we’ll type in import numpy as NP this NP which you see over here is known as the alas so we are importing the library numai with this alas NP now this numpy library has a lot of methods and one method is called the array method and with the help of this we will be able to create the numpy array all we have to do is type in np. Array and inside this I am passing in the list of value starting from 10 going on till 40 and I’ll store it in this object called as N1 and when I print it out I get the result 10 20 30 40 similarly I go ahead and create a multi-dimensional array so here we are passing in a list of lists so here we had a single list here we are passing in a list of list so as you see we have a list over here and inside this we have two more lists the first list comprises of the elements 10 20 30 and 40 and the second list comprises of the elements 40 30 20 and 10 and when I print out this is how I get this multi-dimensional array the first list is present in the first row and the second list is present in the second row now let me go to jupyter notebook and Implement these two let me just add a comment over here I’ll name it as numai now I’d have to import the numai library so I’ll have import numpy as NP and let’s just wait till this library is loaded now now that this is loaded I can go ahead and create the numpy array so for this I’ll have to use np. array and inside this I’ll be passing in a list of values so I’ll pass in 10 20 30 and 40 and I’m storing it in this object called as N1 now let me print out N1 over here and as you guys see I have successfully created this numpy array which over here the values are 10 20 30 and 40 and just to be sure I’ll go ahead and check the the type of this numpy array so I’ll have type inside this I’ll pass in N1 and as you guys see we get the result numpy do ND array so ND array stands for n dimensional array now we’ll go ahead and create a multi-dimensional array over here so to create a multi-dimensional array we’d have to pass in a list of lists inside this np. array method so I’ll have this outer list inside this I will create two lists so the first list let’s say comprises of the elements 1 2 3 and 4 and the second list comprises of the elements 4 3 2 and 1 now I’ll just print out N2 over here and I have created this multi-dimensional array where all of the elements from the first list are present in the first row and all of the elements from the second list are present in the second row now that we have created these numpy arrays we’ll now see how to create or how to initialize a numpy array with different ways so now let’s say if I want to initialize a numpy array with only zeros then we have a method called as zeros it’s very intuitive isn’t it so here we are importing the numpy array then we are using np. Z and it takes in two parameters so these two parameters basically indicate the dimensions of the numpy array so if I want to create a 1 cross2 numpy array where all of the values are zeros then I can just go ahead and type in np. Z and inside this I’ll pass in the dimensions which is 1A 2 and I get a 1 cross two numpy array where the values are only zeros similarly over here I am creating a five cross 5 numpy array where all of the values are zeros so I’ll just use np. Z and inside this I’ll pass in 5 comma 5 now let me go ahead and implement this in jupyter Notebook here I’ll add the comment NP do Z now I’ll go ahead and uh let me just create create this in N1 and inside N1 I’d have to use the np. Z’s method and over here I’d have to pass in the dimensions so the dimensions would be 1 comma 2 and let me go ahead and print out n one over here so as you guys see I have successfully created this numpy array now if I want maybe a numpy array with a different dimension so the method would be the same I’ll have np. Zer over here and inside this let’s say I want to create a 3 cross3 numi array which consists of only zeros and this I’ll go ahead and store it in this object called as N2 now let me print out N2 over here and we have a 3 cross3 numpy array which comprises of only zeros now if I want to initialize a numpy array with the same number then we can go ahead and use the full method so here I am using np. full and this takes in two parameters the first parameter is the DI di menion of the numpy array the second parameter is the value which we want to insert into this numpy array so here we are creating a 2 cross2 numpy array where the value is filled with 10 so as you guys see it’s a 2 cross2 numpy array where we only have 10 so it’s time for np. full I’ll just type in np. full I’m adding a comment over here then let me add NP do full and I’d have to give in two parameters let’s say I want 4 cross 8 numi array and I want the value five inside this now I’ll store this in this object called as N3 and I’ll just print out N3 over here and as you guys see I have created a 4 cross 8 numi array where the value is only five now similarly if I want to initialize a numi array within a particular range then I can go ahead and use the a range method so here as you guys see I am using np. range and this again takes in two parameters the first parameter is the initial value from which the range has to start so here when I give 10 as you guys see the range starts from 10 and when I give 20 so here again you’d have to remember that 20 is exclusive or maybe the second parameter is exclusive and since this is exclusive we’ll only have value starting from 10 and going on till 19 and that is why 20 is not included in this result over here now we can go ahead and add another parameter so here the initial value is 10 the final value is 50 and we have the skip value so the skip value is five which would mean that after 10 we’ll have 15 so 15 + 5 becomes 20 20 + 5 becomes 25 and that is how this keeps on proceeding now when we reach 45 when you add five more to 45 that becomes 50 and since 50 is exclusive over here that is why we end at 45 but on the other hand if we had given the final value as 51 then we would also have The Element 50 over here so let’s go ahead and Implement a range method over here np. AR range and I’ll store this in N4 now I’d have to use np. a range and I’ll go ahead and give in the initial value as let’s say 100 then I’ll give the final value as 200 and I’ll print out N4 over here and as you guys see we have all of the numbers in sequence starting from 100 going on till 199 now if I actually want the value 200 to be included in this as well let me make the final value to be 2011 and as you guys see this time the range starts from 100 and also includes 200 over here and we can also add a skip value now let’s say if I given the skip value of 10 so here after 100 we have 110 then 120 and this goes on till 200 now instead of 2011 if I keep the final value as 200 we see that this numpy array ends at 190 because 200 is exclusive now we can also go ahead and initialize a numpy array with random numbers and to initialize numpy array with random numbers is we can use random. randint so here we are invoking np. random. randint and over here we have three parameters and over here we have three parameters the first parameter is basically and over here we have three parameters the first two parameters basically indicate the range from which we would want the random numbers so we would want the random numbers in this r range of 1 to 100 and this third parameter would tell the python interpreter how many random numbers do we need so in the range of 1 to 100 we would need five random numbers and as you guys see this is the result which you get over here so we have 95 88 26 22 and 76 which are five random numbers generated between the range of 1 and 100 I’ll add this comment random now let’s go ahead and initialize an ire with some random numbers so I’ll have np. random. Rand in because I want a random set of integers and this will take in three parameters let’s say I would need values between 50 and 100 and I would need 10 random values over here and let me store this in N5 let me go ahead and print out N5 over here and and as you guys see I have 10 random values which are generated between the range of 50 and 100 similarly if I go ahead and run this again I’ll get a different set of values as you guys see we have a different set of values again when I click this we again have a different set of values that was all about initializing a numpy array with different methods now you can also go ahead and check the shape of a numpy array and to check the shape of a numpy array we have the shape method which again is very intuitive so here we are creating a numpy array where we are passing in a list of lists so in the first list we have 1 2 and three in the second list we have four five and six so obviously we will have a numi array where we’ll have two rows and three columns and this is what the N1 do shape gives us now if we want to change the shape of this then we can use the same method so here what I’m doing is I’m typing in N1 do shape and I’m changing the shape from two comma 3 to 3 comma 2 that is instead of having two rows and three columns I will have three rows and two columns so this same shape method can be used to check the shape of the numpy array and also reshape the dimensions of the numpy array so let me create a numpy array over here so we would have to create a multi-dimensional numpy array so this will be n6 is equal to I’ll have np. array and inside this I’ll have to create a list of list so in the first list I’ll have values 10 20 and 30 and in the second list I’ll have values 40 50 and 60 and I’m storing this in n6 now once that is done let me just print out n6 over here so you guys can see this numpy array now I’ll also go ahead and check the shape of it so I’ll have n6 do shape and we get the result that this is a numpy array where we have two rows and three columns now I can also go ahead and change the shape of this so I’ll have n6 do shape and over here I am changing the shape to be equal to 3 comma 2 then I’ll go ahead and print out n6 and as you guys see we have converted this from a 2 cross 3 numi array to a 3 cross2 to numi array so you had 10 20 30 in the first row we’ve got 10 20 in the first row here so similarly this is how this has been changed then we have some stacking methods over here we have v stack head stack and column stack so let’s just start with v stack so we are creating a numpy array N1 where we have the values 10 20 and 30 then we are creating the numpy array N2 where we have the values 40 50 and 60 now when we use v stack over here this again takes in two parameters where we’ll just pass in two numai arrays inside this so as you guys see we are vertically stacking over here so when I say vertically stacking I have one numi array on top of another numai array so because I’m using N1 comma N2 N1 comes at the top N2 comes at the bottom so this is how vertical stacking works then we can also go ahead and horizontally stack two numpy arrays so N1 and N2 we’ve got the same numpy arrays over here and instead of using v stack I’m using the head stack method I’m passing in N1 and N2 and as you guys see 40 50 and 60 so N2 has been stagged horizontally to N1 then we have the column stack so if we want to Stack these numpy arrays into separate columns so we have N1 and N2 and when I’m using column stack over here as you guys see N1 goes into the First Column N2 goes into the second column and this is how we can work with these stacking methods so I’ll have to create these two numi arrays over here I’ll have N1 which will be NP do array and inside this I’ll have 1 2 and three then I’ll also go ahead and create N2 so this will be np. array and inside this I’ll have 4 five and six so I have my N1 and N2 ready now I’d have to I’ll start off with vertical stacking so I’ll use np. v stack and inside this I’m passing in N1 and N2 and let’s see what would be the result so we have vertically stagged N1 with N2 N1 is at the top N2 is at the bottom we can also change how these are stacked so instead of giving N1 N2 let’s see if I give N2 and N1 you guys would see that N2 is at the top and N1 is at the bottom now we can similarly work with the head stack method so here I’ll type in np. hstack and inside this again I’ll pass in N1 comma N2 and as you guys see I have stagged N2 at the back end of N1 now if I want N2 first and N1 second I just have to change the sequence so inside NP do hstack I’ll given N2 comma N1 and I have 456 first and N1 is attached at the back end of N2 then we have column stack so I’ll just have np. column stack over here and inside this I’ll pass in N1 comma N2 and as you guys see I have N1 in the First Column N2 in the second column similarly if I given N2 comma N1 you will see that I have N2 in the First Column and N1 in the second column so this is all about stacking the numpy arrays now we’ll also work with intersection and difference methods so here again we have two numpy arrays so in the first numpy array we have the values from 10 to 60 and in the second numpy array we have the values from 50 to 90 and if I want the common elements between these two numpy arrays then I can use the intersect 1D method so here in the intersect 1D method I would just have to pass in these two numpy arrays and as you see in the result we get a new numi array comprising of the common elements in these two numpy arrays then over here I have N1 and ns2 if I want to find out all the elements which are unique to N1 then I can use the set diff 1D method so here in N1 we have the elements starting from 10 going on till 60 in N2 we have elements starting from 50 going on till 90 so here as you guys see 50 and 60 are common in N1 then N2 and if I want the elements which are unique to only N1 then I would have to use set diff 1D and I’ll pass in N1 N2 as you guys see I get only 10 20 30 and 40 because 5050 and 60 are present in both the numpy arrays I can also change the sequence over here so instead of passing in N1 N2 when I pass in N2 N1 then this will give me all of the unique Elements which are present in N2 and since 50 and 60 are common in both the NPI aray the resultant will be 70 80 and 90 because these are the only unique elements in N2 so let’s go ahead and work with intersect 1D and set diff 1D I’ll just add a comment over here intersect 1D and I would have to uh create two new numi arrays I’ll have N1 over here so I’ll have np. array and inside this I’ll pass in 1 2 3 4 5 6 and I’ll have N2 and inside this I’ll go ahead and create a list of elements where the elements start from 5 6 7 8 and and N so I have these two set over here now that my two numpy arrays are ready if I want to find out the common elements which are present in these two numpy arrays i’ have to use intersect 1D so I’ll have NP do intersect 1D and inside this I’m passing in N1 comma N2 and when I hit on run we see that the common elements between N1 and N2 are five and six now if I want only the elements which are common to N1 then I can use the set diff 1D method so here I’ll have NP do set diff 1D and inside this again I’ll be passing in N1 comma N2 and as you guys see I have 1 2 3 and four which are common to only N1 now similarly if I want all of the elements which are only common to N2 then I can have NP do set diff 1D and I’ll just change the sequence over here instead of passing N1 comma N2 I’ll have N2 comma N1 and the only unique Elements which are there in N2 are 7 8 and 9 now we’ll go ahead and perform some simple numpy array mathematics so we’ll see how to add two numpy arrays so again over here we have two numpy arrays in N1 we have 10 and 20 in N2 we have 30 and 40 now if I want the total sum of all of the elements which are present in both of these two arrays I can just directly use the sum method so I’ll have NP do sum and inside this as a list I’ll pass in N1 comma N2 and you will see that the resultant value would be 100 because 40 + 30 + 20 + 10 is equivalent to 100 now if I want to find out the individual sum along the rows and along the columns then I can use the additional parameter called as axis so if I want to sum the values along the column then I’ll set the axis to be equal to zero so when I have the axis value to be equal to zero as you guys see I have 30 + 10 = to 40 and 40 + 20 = to 60 similarly if I want to sum these up along the rows then I’ll set the axis value to be = to 1 and over here I have 10 + 20 = 30 and 30 + 40 = 70 I’ll add a new comment over here addition of numpy arrays and let me create new N1 over here so I’ll have np. array and inside this I’ll have 10 and 20 then I’ll go ahead and create N2 and inside N2 I’ll again have np. array and over here I’ll have 30 and 40 I’d have to pass this on as a list of values so I’ll have 30 and 40 inside a list so I have created N1 and N2 now it’s time to find out the total sum which is present along all of these so I would have to use NP do sum and inside this I’ll just pass in N1 comma N2 and actually I’d have to pass this as a list so I’ll have N1 comma N2 over here and as you guys see the resultant comes out to be 100 if I want to add the values along the column so I’ll have NP do sum then I’ll have this list over here I’ll have N1 comma N2 then I’ll have this new attribute called as axis and I’ll set the axis value to be equal to 0 and I get the resultant 40 and 60 because 30 + 10 is equal to 40 and 40 + 20 is equal to 60 now going ahead if I want to add the values along the horizontal rows so here it will be NP do sum and over here I’ll have N1 comma N2 again and this time I’ll set the axis value to be equal to 1 and I have 30 and 70 because 20 + 10 is equal to 30 and 40 + 30 is equal 70 now we’ll see how to do some scalar operations on these numpy arrays so here we have a num array where we have values 10 20 and 30 and if I want to add the scalar value one to each individual element of the numpy array all I have to do is add this value one to this numpy array and as you guys see N1 + 1 becomes 11 21 and 31 similarly if I want to multiply each individual element of a numpy array with a particular value so here if I want to multiply it with two I’ll just write down N1 into 2 so 10 becomes 20 20 becomes 40 and 30 becomes 60 and if I want to subtract a value all I have to do is perform N1 – 1 so 10 becomes 9 20 becomes 19 and 30 becomes 29 and if I want to divide it I’ll just have N1 divided by 2 so 10 becomes 5 20 becomes 10 and 30 becomes 15 so this was some basic idea about numai now uh let me just see what is there in N1 over here let me actually add some more elements inside this so I’ll have N1 is equal to np. array and inside this I’ll have 10 20 30 and 40 let me also print out N1 over here for your reference so now that we have N1 what I can do is I will just go ahead and add some scalar values to it and let’s say if I want to add five more to each individual element of the Stumpy array so I’ll just write down N1 + 5 and as you guys see 10 becomes 15 20 becomes 25 30 becomes 35 and 40 becomes 45 similarly if I want to subtract a value I’ll just write down N1 – 5 over here and 10 becomes 5 20 becomes 15 30 becomes 25 and 40 becomes 35 we can also go ahead and multiply something to this so I’ll have let’s say N1 into 10 let me print this out and as you guys see we have multiplied these values with 10 similarly I can go ahead and divide this with something so if I have N1 ided 10 so we see 10 20 30 40 becomes 1 2 3 and 4 so this is some basic scaler operation on top of the numpy arrays and we can also go ahead and use some mathematical functions so we have this mean function over here which would give us the mean value of all of the elements which are present so the mean value of all of this elements comes out to be 35 similarly if you want to find out the median then all we have to do is use this median method we have to use np. median will pass in the nampi and we see that the median value comes out to be 55.5 and if you want to find out the standard deviation I’d have to use STD and I’m passing in N1 inside STD and the value becomes 36.5 n so we have N1 over here and if I want to find out the mean value I’ll just have NP do mean and inside this I’ll be passing in N1 and as you guys see the mean or the average value of all of the elements which are present in N1 comes out to be 25 let me go ahead and create another numpy over here so I’ll have np. array and inside this I’ll be passing in some random values so let’s say these are all of the values which are present in N2 and if I want to find out the median of all of the values which are present so I’ll just use np. median method and inside this I’ll be passing in N2 and the median of all of these values comes out to be five similarly if I want to find out the standard deviations so here I’ll have np. STD and if I want to find a standard deviation of this particular numpy array so I’ll pass in N2 and you would see that the standard deviation of all of the elements of N2 would be 2.39 7 so till now we’ve worked with some basic numi array now let’s go ahead and work with a numpy matrix so here we are creating a 3 cross 3 numpy Matrix and to do that you’ll again need a list of lists so over here we’ll have 1 2 3 4 5 6 and 7 8 9 so so this first list goes into the first row second list goes into the second row and third list goes into the third row now that we have created this numpy Matrix let’s see how can we access individual rows and columns from this entire numpy Matrix so here let’s say if we want to access the first row again You’ have to remember that the indexing in Python starts from zero if we want to extract the entire first row we’ll just have N1 and inside parenthesis will pass in zero and as you guys see over here I have successfully extracted the entire first row similarly if I want to extract the entire second row then the index value for second row will be one and I have extracted the second row and if I want to extract a column then I’d have to do something like this so in a column I would want all of the rows so here from this numpy Matrix I would want the second column and all of the rows from the second column so here since I would want all of the rows I’ll just put in a colon over here and since I want the second column I’ll give in the index value as one and as you guys see I have extracted the entire second column over here similarly if I want to extract the entire third column the index value will be two and I have extracted the entire third column let’s perform this in Jupiter notebook so I’ll just write in numpy metrics over here now that this is set I’ll have np. array and over here I’ll have a list of lists so in the first list I will have 10 20 and 30 in the second list I will have 40 50 and 60 in the third list I will have 70 80 and 90 and I will go ahead and store this in N1 again now I’ll go ahead and print out N1 and let’s see what would be the result so this is our numpy array which we have just created now if I want to access individual rows from this I’ll have to give in N1 and inside parenthesis let’s say if I want to extract the third row then the index for the third row will be two I’ll just have two over here and as you guys see I have successfully extracted the entire third row now similarly if I want to extract the entire third column then this time I would have to write N1 and over here since I would want all of the records from the third column so I’ll just have a colon over here then over here so here you’d have to understand whatever is given on the left side of the symbol would indicate rows and whatever is given on the right side of this comma would indicate all of the columns so I want all of the rows and all of these rows need to be from the third column and the index for the third column is two and I have successfully extracted all of the elements which are present in the third column now we’ll see how to transpose a matrix so what is transposing transposing b basically means when you’re interchanging the rows and columns so here as you guys see we have 1 2 3 4 5 6 and 7 8 9 now the rows should be interchanged with the columns so here 1 2 3 which is present in the first row comes into the First Column 4 5 6 which is present in the second row comes into the second column 789 which is present in the third row comes into the third column let’s go ahead and perform transpose as well so all I have to do is use NP do transpose go and inside this I’ll just pass in N1 over here so as you guys see initially I had 10 20 30 which was in row this became in column 40 50 60 was in second row became the second column 70 80 90 was the third row which became the third column over here now we’ll see how to perform two matrices so over here we have N1 where we have the elements starting from 1 going on till 9 then we have N2 where we have elements starting from 9 going on until one now if we perform the dot operator on this which is basically matrix multiplication this is how the multiplication happens so the multiplication is row by column which would basically mean so here we have 1 2 3 here we have 963 so it will be 1 into 9 + 2 into 6 + 3 into 3 which will give you a result of 30 then again we’ll have row by column so here it will be 1 into 8 + 2 into 5 + 3 into 2 which will give you a result of 24 then it will be 1 into 7 + 2 into 4 + 3 into 1 which will give you a result of 18 and this is how this progresses and finally we’ll get this result over here and the dotproduct of N1 into N2 and N2 into N1 will be different so as you guys see this is the dot product of N1 N2 and this is the dot product of N2 N1 both of these will be different so I already have N1 over here let me go ahead and also create N2 so here I’ll write N2 is equal to np. array and over here I’ll have the elements in reverse order so I’ll have 90 80 and then I’ll have 70 going ahead I’ll have 60 50 and 40 after this I’ll have 30 20 N1 and I am storing this in this object called as N2 let me also go ahead and print out N2 for you guys over here so this is what we have now if I want to perform the dot product so I’ll have N1 I’ll actually have if I want to perform the dot product here I’ll have N1 dot dot inside this I’ll pass in N2 and as you guys see this is the dot product of N1 cross N2 but we know that N1 cross N2 and N2 cross N1 is different so when I perform ns2 dot N1 the result will be different from N1 do N2 so this was about metrix multiplication now we’ll go ahead and see how can we actually save a numpy array and then load it from somewhere else so here we are creating this numpy array where we have elements from 10 to 60 then to save this numpy array we just have to use the save method and over here we are saving this numpy array with this name called as mycore numpy so this takes in two parameters first parameter is the name by which we’ want to save this num array second is the array which we’ want to save now once that we save this to load this numpy array we will have to use np. load and over here we’ have to given the name by which we Sav this numi array so we save this numpy array as mycore numi and we’ have to give the extension which is do npy which basically stands for numpy and we go ahead and store this in N2 and we print out N2 we see that we have successfully loaded this numpy array over here now I’ll go ahead and save this so I’ll have NP do save and this as we have seen takes in two parameters the first parameter is by which I save this so I’ll have save N1 and I would want to store N1 so I have saved this now if I want to load this I would have to use np. load and over here I’d have to give the name of the numpy array so it will be savecore N1 do npy let me actually remove this over here and I will store this in let’s say N9 let me click on run over here so we have an error over here we have this error because I’d have to give this inside single codes now if I click on run we’ll get the result now if I print 10 and N over here we finally get the result so Panda stands for panel data and it’s the core library for data manipulation and data analysis so if you want to perform any sort of data analytical task pandas should be your goto library and pandas provides single and multi-dimensional data structures for the purpose of data manipulation so the single dimensional data structure is known as the series object and the multi-dimensional data structure is known as the data frame we’ll start off by understanding about the series object so series object is a onedimensional labeled array so we have already worked with the numpy array so in numai Array we had no labels along with it it was just a simple blank array where we had stored some values but over here in a series object as you guys see we have labels or you can consider them to be index with labels over here for these so first we’ have to start off by importing pandas which is the library and we are giving this alas as PD so import pandas as PD then if we want to create a series object will have PD do series and inside this I am passing in the values 1 2 3 4 and 5 and when I print it out I get this series object so when I check the type of this type of S1 this gives me pandas doc. series. series now over here you’d have to keep in mind that s is capital over here so if you’re given a small s you will get an error so let’s go ahead and create our first series object so I’ll just add the comment pandas now our first task would be to import the pandas Library so I’ll go ahead and type in import pandas aspd let’s just wait wait for this to be loaded properly now that we have loaded the library I can go ahead and create the series object so I’ll type in pd. series where s is capital inside this I’ll pass in the list of values so let’s say I’ll just have 10 20 30 40 and 50 and I’ll go ahead and store it in this object called as S1 let me print out S1 over here and as you guys see I have created this series object let me also check the typee of this so inside the type method when I pass an S1 you guys would see that this is a series object and over here we have the labels so the labels are 0 to 4 so by default the label or the index starts with zero over here so 10 is present at label or index 0 20 is present at index 1 30 is present at index 2 and that is how it proceeds further now since we have labels in a series object we we can change the how the label of the index looks like so over here we just had numbers starting from zero but instead of numbers let’s say if I wanted alphabets over here then I can add a new attribute called as index so over here with this index attribute I am setting the values to be equal to a b c d e so here initially we had index 0 zero has been changed to a then we had one one has been changed to B we have 2 two has been changed to C and that is how it proceeds so now over here let me go ahead and change these index value so it is the same command over here and with this same command all I’m doing is adding a new attribute called as index and I’ll pass in a list of values for the indices so I’ll have a b c d let me have D over here and and I’ll have e now when I click on run and I print out S1 over here you guys would see that I have changed the indices from 0 to 4 to a to e now we can go ahead and see how to create a series object from a dictionary so we have already worked with dictionaries we know that the dictionary is a key value pair so here we’ll just given pd. series and over here we have three key value pairs a B20 C30 so here automatically the keys are taken as the labels and these values are taken as the series values over here let me create a new dictionary so I’ll have D1 and inside D1 let me have four key value pairs maybe I’ll have a and 10 then I’ll have B and 20 after that I’ll have C and 30 going ahead I’ll have D and 40 now I’ll just go ahead and print this out as you guys see I have successfully created this dictionary now I would have to create a series object out of this so I’ll just have PD do series and inside this I’ll pass in D1 and let’s see what would be the result so these four Keys which were present became the labels and these values over here in the dictionary became the series values as well now we can also go ahead and change change the index position so similarly as we had actually changed the index values from numerical to alphabetical so when I given the index values as b c d a this sequence is maintained so I have B and C first so for B I have the value 20 C I have the value 30 and D we had not created any key with this particular index so that is why we have n a n over here and then we have a for which we have the value 10 so this is how we can maybe add a new index position or change the existing index positions so this is what we had over here this was our series object and now what I want to do is so instead of a b c d I would want let’s say C B A and D and if I click on run you guys see that the sequence has changed over here now we also see how to extract individual elements from the series object so here we have all of these elements starting from one going on till 9 and again You’ have to keep in mind that the indexing starts from zero so if I want to extract this particular element over here so the index value for this would be three so 0 1 2 and 3 and when I given the index value as three I am able to extract this particular element and if I want to extract a sequence of elements over here so if I want the first four elements then I’ll have S1 colon 4 this would mean that I am extracting all of the elements starting from index number zero going on till index number four and since four is exclusive so that is why we will only have till index number three so we’ll have index number one going on till index number three and if you want to extract elements from the back side here we’ll have S1 and we’ll type in Min -3 over here so minus 3 basically means third element from the end third element from the end when I given colon this would mean third element from the end going on till the end so this is the third element from the end over here so that is why I’ll have 7 8 and n and this is how I’ll be able to extract a single element a sequence of elements from the beginning and a sequence of elements from the back let me just create a new series object over here so I’ll have S1 is equal Al to PD do series and inside this I’ll pass in a list of elements I’ll have 10 20 30 40 50 60 and 70 now that I have this let me extract this element which is presented index number three so I’ll have S1 I’ll have parenthesis then I’ll just go ahead and give the index value so index value will be three and as you guys see I have successfully extracted this particular element now if I

    want to extract the first four elements then I’ll just give in the colon over here and I’ll have four and as you guys see I have extracted the first four elements if I want the last three elements over here then I’ll have S1 then I’ll have colon and I’ll type in minus 3 which would mean the third element from the last going on until the last element over here and I have 50 60 and 70 which are the last three elements now we can also go ahead and perform some simple operations on top of the series object so if I want to add a scalar value so initially we had the series object where the number started from one went on till 9 and if I just wanted to add the scalar value five to all of the individual Elements which are present in the series object all I have to do is use plus 5 and as you guys see 1 becomes 5 2 becomes 7 3 becomes 8 and so on and we can also go ahead and add two series objects over here I have S1 where the elements are from 1 to 99 and S2 where the elements are from 10 to 90 and when I perform S1 + S2 this would add the elements which are present at the same index position so here we’ll have 10 + 1 11 20 + 2 22 30 + 3 33 and this goes on till the last index position over here so let’s go ahead and perform some basic operations on top of the series object so I I already have S1 over here and these are the original values which are present in S1 now I’d want to add 10 more to these existing values so I’ll just type in S1 + 10 and as you guys see the values all of the values which are present in the series object have been incremented by 10 now also I can add two series objects together so in the series object I have seven elements I go ahead and create S2 where I’ll have seven more elements over here so I would have to type pd. series and inside this let me just have 7 6 5 4 3 2 and 1 let me print out S2 for your sake over here so we have S1 and S2 and when I perform S1 + S2 this is the result which we get so 10 + 7 becomes 17 20 + 6 becomes 26 30 + 5 becomes 35 and this proceeds to the last index value so that was all about the series object which was a single dimensional labeled array now we’ll work with a data frame which forms the major part of all of the machine learning data science projects so what exactly is a data frame it is a two-dimensional label data structure and if you’d have work with SQL or maybe Excel you would have dealt with tabular data and a data frame helps you to deal with tabular data in Python seamlessly so data frame because this is a tabular data consists of rows and columns now let’s see how can we go ahead and create a data frame from a dictionary so to create a data frame we’d have to use this particular method over here we’d have to type in pd. data frame where D is capital and F is also Capital so by any chance if you give maybe D as small or f as small you’ll get an error so both of them have to be in capital case and over here I have two key value pairs so the first key is name and then we have a list of values which are Bob Sam and Annie then we have the next key which is marks then we have the list of values for Marks which are 76 25 and 92 so here as you see the keys become the column names and the values become the records over here so name and marks become the column names and these values over here the list of values op Sam and Annie which are the values for this key become the records of this particular column similarly these values are there for this particular key and these become the records for this particular column so let me go ahead and create a First Data frame over here so I’ll just go ahead and type in data frame Now to create a data frame I’d have to type pd. data frame and D and F both have to be capital and inside this I’ll create a dictionary so to create a dictionary I would need Calli braces so the first key would be name and I’ll go ahead and give in a list of names over here let’s say the first name is Sam then we have Annie going ahead we have Jennifer now once we have the first key value pair I’ll go ahead and also add their marks over here so the second key would be marks and I’ll have a list of values over here let’s say Sam has got 50 marks Mar Annie has got 60 marks and Jennifer has SC 70 marks and I’ll go ahead and store this in DF let me print out DF over here and we have created our first data frame where the column names are name and marks and the values are these over here and let me go ahead and also show you guys the type of this object which I’ve just created so inside this type method I’ll be passing in DF and as you guys see this is p. c.f frame. data frame which basically means this is a data frame object now that we have created our first data frame we’ll perform some basic functions on top of a data frame we’ve got head tail shape and describe so we’ll just Implement all of these now to implement this we will be performing them on a data set called as the iris data set now to read any CSV file we have a method called as pd. read CSV so here I’ll have pd. read CSV and inside this I’ll give single codes and given the name of the file so the name of the file will be iris.csv and I’ll go ahead and store this in a new object called as Iris now let me hit on run let me check the first five records which are present in this Iris data frame so if I want to check the first five records which are present in this Iris data frame I need to use the head method so iris. head as you guys see I have the first fire records so this Iris data frame comprises of five columns which are SLE length seel width petal length petal width and species and we’ll have three different species which would be setosa ver color and virginica so this is how we can work with the head method now similar to the Head method we would also have the tail method which would give us the last five rows which which are present in a data frame so here I’ll type iris. tail and when I click on run you guys would see the index value over here the index value starts from 145 and goes on until 149 because there are 150 records in this Iris data frame so we have extracted the last fire records and we have printed it onto the console then if you want to check the number of rows and number of columns which are present in this Iris data frame we can just use the shape method so here I’ll have iris. shape and as you guys see this gives us a dimension value of 150 comma 5 which means there are 150 records in five columns then we’ll have the described method so here I’ll have IRS do describe and now when I click on run we have all of these numerical quantities over here so let’s say if I want to find out what is the minimum value which is present in the seel length column the minimum value present in this Seer length column will be 4.3 similarly what is the maximum value in Seer length column it will be 7.9 what is the mean value it will be 5.84 so these are some interesting metrics which we can find out with the describe method so now that we know this let’s actually see how can we extract individual records or individual columns from a data frame so for that purpose we can use the do iock and lock methods so let’s start off with the DOT iock method so do iock method with the help of it we can extract rows and columns on the basis of index so here iock basically stands for index location and over here as you see I have a comma and on the left side of the comma that would indicate all of the rows and the right side of the comma that would indicate all of the columns so from this entire Iris data frame I am extracting the first three records so here the rows would be 0 to three and three is exclusive over over here that is why I’ll have the records where the index values are 0 1 and 2 and similarly The Columns would be 0 to2 which would mean the column which is present at index0 which will be SE length and the column which is present at index one which is SLE width two again over here is exclusive so let me go ahead and extract some rows and columns with this iock method so we already have this Iris data frame with us let me again print out out the head for you guys so that will be easier for you to have a glance at this now let’s see from this entire data frame I would want the records from index number 30 going on till index number 40 and I would want the columns which are present at maybe index number three and index number four so index number three will be 0 1 2 and 3 this is index number three this is index number four so here I’ll have index number three going on till the end because this is the last column let me print this out and show you guys the result as you guys see I have extracted all of the records starting from index number 30 going on till index number 39 and the columns which you see starts from index number three which is this particular columns index and goes on till the end over here so this is how we can extract individual rows and columns with the dot iock method now we have the Dot Lock method so instead of giving the column index if I want to extract columns on the basis of their names then I can go ahead and use the Dot Lock method and over here when it comes to rows you see that I have given 0 to three here when it comes to Dot Lock you’d have to keep in mind that three is inclusive this is the only case where maybe you will find that the final value over here is inclusive so when I given 0 to three you will get all of the records starting from index number zero going on till index number three which is also inclusive and over here I’m giving in the column names which are SE length and petal length and that is what I’m extracting over here so I have this Iris data frame then I’ll just go ahead and use this do lock method now from all of these records let’s say I’d want all the records starting from index number 10 going on till index number 20 and the columns which I want to extract are seel length and petal length I’ll just have seel do length over here and the next column which I want would be petal do length let me hit on run and as you guys see I have all the records starting from row number 10 going on till row number 20 and 20 is also inclusive over here and the columns which have extracted are seel length and petal length now we’ll see how to drop a particular column so many of times it would happen that not all columns which are present in a data frame are important so from this entire data frame if we want to drop a particular column then we can just go ahead and use the drop method so here I’ll have iris. drop and I am dropping or removing the SE length column from this entire data frame so here when I set the access value to be equal to 1 this would basically mean that I am dropping a column so if you want to drop a row then you would set the axis value to be equal to zero and if you want to drop a column then you would set the axis value to be equal to 1 so if I if from this entire Iris data sets again I’ll show you guys the head of this so that you guys can have a glance at all of the columns which are present over here so from all of the columns if I want to drop the species column all I have to do is type in iris. drop and inside this I’d have to give in the name of the column which would be species and I’d have to set the axis which will be equal to one because I’m dropping a column and as you guys see I have successfully dro the species column from this entire data frame now similarly if I want to drop some particular rows which are present in this data frame so here as you guys see the index value it starts from zero goes on till four over here but if I want to drop the row indexes of 1 2 and 3 here as you guys see I have two parameters first parameter I’ll given a list of all of the indices that I’d want to drop so I’d want to drop the index value one index value two and index value three and the resultant which you see over here after zero we directly jump on to the index number four so now from this entire dat data frame this what you see over here I’ll just use iris. drop and I would want to drop the index values of 1 2 and 3 and I’ll set the axis to be equal to zero and when I hit run you would see that after zero we are directly jumping onto index number four so this is a very simple example of how to drop some records and how to drop some columns from your data frame now we’ll go ahead and work with some simple pandas fun functions so from the iris data frame if I want to find out the mean values of all of the columns I can just go ahead and use the mean method similarly if I wanted the median values of the records of all of the columns then I’ll just go ahead and use the median method similarly if I wanted to find out the minimum value I’ll use the Min method and if I wanted to find out the maximum value I will use the max method over here so very basic operations so when I use iris. mean this would give me the average values of all of the columns so average SLE length of the entire data frame is 5.8 average SLE width is 3.05 average petal length is 3.75 and average petal width is 1.19 similarly if I want to find out the minimum value of all of the columns so I’ll have iris. mean and this will give me all of the minimum values and if I want to find out the maximum values I’ll just go ahead and type iris. Max and this would give me the maximum value of all of the columns over here so I’ve got the mean value the minimum value the maximum value and I can also find out the median value so I’ll just type in iris. median and when I click on run over here this would give me the median values with respect to all of the columns which are present now we will get on with this Library called as m lip which is mostly used for data visualization and with the help of this Library we can create stunning plots such as bar plots Scatter Plots histograms and a lot lot more so we’ll start off by creating our first plot which will be a line plot so we would require two libraries over here the first Library would be numpy because we would want to create our data with this numai library then we would import this pip plot sub module from this mat plot lip Library so we’d have to type in from matte plot lip import P plot as PLT and the Alias which I’m giving for pi plot is PLT then I’ll create two numpy arrays over here the first numi array will be X and I’m creating this numpy array with the help of this np. a range method and the range will be from 1 to 10 and then I’ll create the next numpy array which is basically 2 * of X so all I have to do is multiply x with two and then I’ll get y so here we have 1 we have two 2 becomes 4 four 3 becomes six and this is how it proceeds now once we create the data all we have to do to create a line plot is use this PLT do plot so we’ll have the plot method in this P plot module so this takes in two parameters which are X and Y so we have already created our data X and Y so X will be plotted on the x- axis y will be plotted on the Y AIS and as you guys see over here x goes from 0 to 10 and Y goes from 1 to 20 over here and we see that there is a linear relationship between X and Y or in other words as the value of X increases the value of y also correspondingly increases so let’s go to jupyter notebook and create our first line plot using M plot LEP so so i’ have to start off by importing the required libraries so I would need numpy here I’ll type import numpy as NP and after this I would also require matplot lib so I’ll type from Matt plot lib import pip plot as PLT let me write those spelling properly over here and once I’ve imported these two libraries I’d have to create the data so first I’ll have X and this I’ll be creating with np. a range and the range will be from 1 to 10 since I want the numbers from 1 to 10 I’d have to give the value 11 because 11 will be exclusive over here then let me just go ahead and print out X for you folks over here as you see we have the number starting from one going on till 10 now if I have to create y y will just be 2 * of X so here I’ll have 2 into X and then let me print out y for you folks over here and as you guys see this is all of the elements are just two times of the elements which are present in X now since I have to create a simple line plot I would have to use PLT dotplot and this would take in two parameters which are X and Y so this data would be plotted onto the xaxis this data would be plotted onto the Y AIS and I’ll just show this as a result so as you guys see we have this object X mapped on the x-axis this object y mapped on the Y AIS and this is the corresponding line plot now that we have created this we can also add the title X label and Y label so we’ have to use this title method so we’ll have PLT do title and inside this we’ll give the title as line plot similarly we can also add X label and Y Lael by using these two methods and as you guys see we have added these two labels over here so let me add the title X Lael and Y label PLT so I’ll copy this entire code over here and then I’ll paste it over here now after this I’d have to add the title so for that I’ll use PLT do title and I’ll just give the title as first line plot then I’ll have X label so here I’ll have PLT do X label and here I’ll give the X label as xaxis then I would have the Y Lael so PLT do y label and inside this I’ll give the Y Lael as y AIS let’s run this and wait for the results so as you guys see initially this was just a bland plot without the title and the X and Y AIS labels now with the help of these three methods we have added the title The the x-axis label and the y- AIS label now we can also go ahead and change some more attributes with respect to this line plots so we have color line style and line width so initially as you see over here the color of this line by default is blue but if I don’t want the blue color and if I want some other color then I can just use this color attribute and assign it a new color since I’m giving it a value of G which basically means green color and as you guys see this is a green color similarly we have this next attribute called as line style so initially we have a solid line but instead of a solid line if I want a dotted line then I can go ahead and use a colon over here and as you guys see we have a dotted line right now and by default also the line width is one so we can go ahead and increase or decrease the line width so here we are setting the line width to be equal to two and this is the final result which we get so let’s go ahead and add some color line plot and line width I have the same code over here now what I’d have to do is add in some color so I’ll have this attribute called as color and I’m setting let’s say I’ll give it orange color to this now I would have to change the line style so I would want a dotted line instead of this solid line so I’ll give in a colon over here and I’ll also change the line width so I’ll give the line width as three so as you guys see initially this was the line which we had but now I have changed it to this so from Blue we have converted it to Orange from a solid line we have converted it to a dotted line and also you see that this is a thin line and we have increased the width of this line by two points now we have only created one line in one plot but we can also have two lines in the same plot so for this purpose I’ll have two y variables so X variable will be the same which will be the number starting from one going on till 10 but I’ll have two y variables y1 and Y2 y1 is 2 * of X Y2 is 3 * of X so now that we have y1 and Y2 ready I’ll have to make two plots because I’d want two line plots in the same graph so first I’ll have PLT dotplot and this line will be between X and y1 so this first line which you’re making it’ll be between X and y1 and for this particular line I’m setting the color to be equal to Green the line style to be equal to so this will be a dotted line then we’ll set the line width to be equal to two then we’ll have have our next line which will be between X and Y2 and the color of this line will be red and this will be a dashed line and we are setting the line width to be equal to three then again we have the title X Lael and Y Lael and we also have this new method called as grid so in the earlier plot as you guys see we don’t have any grid over here but when we set PLT do grid to be equal to True we’ll have a grid as well well and this is the resultant line which we get so here we have the green line over here which is this dash line then we then we also have this next line over here which is between X and Y 2 and this is the line and since I’ve also set the grid to be equal to true we also have a grid over here in this particular graph so I’ll go back we already have X now let me just print out X for you guys over here this is these are all the numbers which are present in X now we I y1 I’ll set it as 2 * of X and then I’ll have Y2 which will be equal to 3 * of X so I have y1 and Y2 ready now after this I would have to make a plot between X and y1 so I’ll have PLT dotplot and onto the x axis I’ll obvious obviously have X then onto the Y AIS I’ll have y1 and the color for the first line I’ll have green and let’s say the line width I’ll set this to be equal to 2 then I’ll have the next line which will be then I’ll have the next line which will be between X and Y 2 so here I’ll just write down X comma Y2 and for this line I’ll set the color to be equal to red and I’ll change the line width over here again so I’ll set the line width to be equal to 5 and I would just have to print it out so it’ll be PLT do show and I would also want a grid over here so before this I’ll set PLT do grid and I will set this to be equal to True let’s hit run and as you guys see I have two lines in the same plot now in the earlier example we had two lines in the same plot but if we actually want two subplots itself that is as you guys see over here this is one subplot this is one subplot and this line is present in the first subplot this line is present in the second subplot so this is also something which we can create so first we have X y1 and Y2 so these would be the same variables once we have our variables ready we we would have to use the subplot method so we’ll have PLT do subplot and inside this I am passing in 1 2 1 so here one two basically means that I would have two plots over here and those two plots would be present in this way so I’ll have one row two columns as you guys see I have one row and two columns so this is column number one column number two which are present in the same row then I will given the index of this subplot so this is index number one and for this first Index this will be the plot which we’ll be creating so for the first index the plot will be between X and y1 color will be green line style will be dotted and line width will be two and as you guys see at index number one we have this green colored line between X and y1 then we’ll have PLT do subplot which is our next sub plot and the first two parameters will be the same the third parameter here will set the index value which is two so this is what we’ll be getting over here and the second index will have the line plot between X and Y2 and the color as you see is Red Line style is dotted and line width is equal to two then we’ll just go ahead and print it out so we already have X y1 and Y2 ready with us now after this we would have to start off by creating a subplot so here I I’ll have PLT do subplot and I’d have to given the and here I’d have to given the dimensions over here so I’ll have 1 2 comma 1 so I’m creating my first subplot over here PT do plot and this plot will be between X and y1 and I’ll set the color to be equal to Yellow then after this I’ll go ahead and create the second subplot and the first two parameters will be one and two because i’ want these two plots along the columns and I’ll set the index to be equal to two then I’ll have PLT do plot and the next plot will be between X and Y2 and over here I am setting the color to be equal to Orange then I can just go ahead and show you guys the result result so as you see I have two subplots over here the first subplot is between X and y1 and the color of this line is yellow the next subplot is between X and Y2 and the color of this line is orange now if I want the subplots along the row and not along the column that is also I can set so all I have to do is make this change over here I’ll set this to be equal to 2 comma 1 and similarly over here here I’ll make this to be 2 comma 1 which means that I will have the plots along the rows I’ll have two rows and only one column when I hit run as you guys see I have two rows and only one column this is the first subplot this is the second subplot so that was a line plot which helped us to understand the relationship between two numerical entities so whatever we mapped onto the xaxis was a numerical entity and whatever we mapped onto the y- axis was also a numerical entity now we’ll go ahead and work with something known as a bar plot which would help us to understand the distribution of a categorical column so for this we are creating a dictionary called as student and it compris of three key value pairs we have Bob 87 Matt 56 and Sam 27 now we’ll go ahead and extract the names and values individually so the names of these students are basically the keys so I’ll have student do Keys which will give me all of these keys and I’ll go ahead and convert these Keys into a list so I’ll pass this into this list method and I’ll store the result in this names object similarly I’ll extract all of the values I’ll convert all of the values into a list or I’ll store all the values into a list and I’ll store that list in this object called as values so I’ve got names I’ve got values and to create a bar plot all I have to do is use PLT dob bar and the takes in two parameters the first parameter will have the categorical values the second parameter will have the numerical values since the first parameter compris of the categorical values I’ll pass in names over here and the second parameter will be the values and as you guys see over here on the x-axis I have the names which are Bob Matt and Sam and on the y- axis I have the corresponding values so VC that Bob has scored the highest marks followed by Matt followed by Sam now since we are creating a bar plot I’ll just add this comment bar plot over here and I’d have to create a dictionary so that we get the data for this bar plot so I’ll name this dictionary as student and we can create a dictionary with these curly braces over here so I’ll have the first student who is Bob let’s say Bob has scored 45 marks then we we have the second student Sam and Sam has scored let’s say 97 marks then we’ll have Matt and let’s say Matts has scored only 23 marks so we’ve got three key value pairs now that this is done I’d have to extract the keys so I’ll type in student. keys and I will convert this into a list so I’ll cut this I’ll put this inside the list and I will store this in a new object called as names now that I have names of all of the students I’ll go ahead and also extract marks of all of the students so I’ll have I’ll store that in this object called as values I’ll have to convert the result into a list and inside this I would basically have to extract all of the values so it’ll be student. values I have names and values ready and to create the bar plot I would just have to use PLT do bar the first parameter will be names and the second parameter will be values then I can just go ahead and show out the result so we have Bob Sam and Matt mapped on the xaxis and their corresponding values and we see that Sam has the highest marks and Matt has the lowest marks and now the plot which we had created earlier was very Bland and we can go ahead and add the title X Lael and Y Lael to it and also assign a grid so we’ll be using the same methods to add the title we’ll have PLT do title and to add the X label and the Y label we’ll be using PLT dox Lael and PLT doy label and we’ll also set the grid to be equal to true I’ll copy these two set of commands over here and I would have to set the title so here I’ll have PLT do title and and I’ll set the title to be equal to marks of students then I’ll have something on the xais PLT dox label and I’ll just have names and the x-axis then I’ll have something on the Y AIS here I’ll just write down PLT doy label and on the Y AIS I’ll just write down marks and I would also have to set the G to be equal to true so it will be PLT do grid and here I’ll set the value to be equal to true and as you guys see I have names on the x-axis marks on the Y AIS and I’ve also set the grid to be true now after this we can also create a horizontal plot so the plot which we had created earlier was a vertical plot so here we are basically doing two things so if we have to create a bar plot we have to use bar hedge instead of using just bar and we are adding a color as well so by default we had the blue color and if I want to change the color from blue to green I’ll use this color attribute and I’ll map the green color to this rest everything will be the same let me add a new comment over here which will be horizontal bar plot now that I have added this comment let me go ahead and copy everything I’ll paste it over here and instead of just having bar I’ll have bar H and I’ll set the color to be red and we have this bar plot over here so it’s just that we have to Interchange the label so on the x axis now we have the marks so let me keep this as marks and on the Y AIS we’ll have names let me change this to names and as you guys see we have successfully created this horizontal bar plot now that we are done with the bar plot we’ll head on to the next geometry which will be a scatter plot a scatter plot again is used to understand the distribution between two numerical entities and these and these entities are represented in the form of data points so we’ll be creating two lists over here the first list will be storing in X which basically comprises of the elements starting from 10 going on till 90 then we’ll have the next list a which comprises of some random elements and here you’d have to keep in mind that both of the lists have same number of elements else there’ll be an error and to create a scatter plot we’ll just use PLT do scatter we’ll pass this over here we’ll pass this over here as a second parameter and then we’ll just show off the result let me go ahead and add a comment over here so this will be a scatter plot Now to create this scatter plot I’d have to create the data so I’d have to store something onto the x axis so in X I’ll just have 1 2 3 4 5 6 7 8 and 9 and then I’ll have y and then y I’ll just have nine Rand ROM numbers over here so let me just store some nine random numbers which is done now to create the scatter plot I’ll have PLT do scatter and I’ll just pass in X comma Y and I would have to show out the result PLT do show and as you guys see I have created this scatter plot let’s start off with this particular point over here this particular point in indicates these two so I have X Y which is basically 1 and 5 so this intersection between 1 and five is where we’ll be getting this point so I have X I have y and this is the point I have then I have 2 comma 2 so the intersection of 2 comma 2 I’ll get this particular point then we have this point over here which is the intersection between 9 and 7 so as you guys see I have 9 and 7 over here now we can also go ahead and add some athetics or change the athetics of the existing points so we had same X and A these are the same list which we have it’s just that we are adding new attributes over here the first attribute as marker initially we just had solid circles so instead of having solid circles if I wanted a star then with the help of this marker attribute I’ll add star over here so similarly to change the color I’ll just have C and I’ll assign green to this attribute C and also I can change the size of this and to change the size of this I’ll be using S let me copy this entire thing I’ll be pasting it over here so these two will be the same I’ll add this new attribute called as marker and I’ll set the marker to b equal to Star and I’ll change the color color will be let’s say I’ll have orange again and I’ll have size to be equal to 200 let me print it out and as you guys see this is the result just to show you guys what happens if we increase the size instead of 200 if I keep it to be 500 you guys see that the size has increased again now instead of 500 what happens if I keep it to be 50 you would see that the size of the Stars has decreased now as we did with the line plot where we had two lines in the same graph we can perform a similar sort of thing over here where we’ll have two different sets of points in the same plot so for this we would need a new list we already have X and A then we’ll create a new list called as B again we have to keep keep in mind that the elements which are present in this list or the number of elements which are present in this list should be equal to the number of elements which are present in a as well as X then we’ll go ahead and create our first scatter plot by using PLT do scatter and the first cat plot will be between X and A and the first cat plot here these dots will be represented with stars then we’ll go ahead and create the second scatter plot which will be between X and B and these will be represented with circles and also we have different colors for both of these cater plots and also the size of the different data points will be different I’ll copy this entire thing over here and I’ll paste it down I’ll change this to be equal to y1 then I’ll have a Y2 as well and then Y2 I would need uh some some bunch of elements over here random nine elements so let me just have some random N9 elements let me just check how many elements do we have so I have 1 2 3 4 5 6 7 8 and 9 so these three lists are ready after this I’d have to go ahead and create the first catter plot which will be between X and Y one then I’ll go ahead and create the second scatter plot which will be between X and Y2 and I’m not adding the marker because we have already added the marker for the first one I just change the color for this so the color for second one let’s just keep it to be blue so I don’t have to add the color as well and I’ll change the size of this so for this I’ll set the size to be equal to 500 so as you guys see I have two sets of points over here the first set of point is being denoted by the small Stars the second set of points is being determined by these solid circles now instead of having those set of points on the same plot we can go ahead and create two subplots as well so we’ll be using the subplot method as we had used during the case of line plots so here we have these three lists then I’ll have PLT do subplot then we’ll have the same three parameters and since I want these plots to be present column wise in not rowwise I’ll have 1 comma 2 which means that I’ll have one row two columns and then I’ll give the index so at index number one we’ll have this scatter plot which will be between X and A so this is the scatter plot between X and A then I’ll go ahead and create the next subplot and the next subplot will be between X and B I’ll copy this entire thing I’ll paste it over here it’s just that I’d have to create a subplot now so I’ll have PLT do subplot and I want these plots column byse so I’ll have 1 comma 2 comma 1 and the first subplot will be this then I’ll go ahead and create the second subplot so I’ll have PLT do subplot and here I’ll be writing 1 comma 2 comma 2 and this is our first subplot and this is our second subplot so that was all about the scatter plot for categorical column but when it comes to histogram we’ll be using that to understand the distribution of a continuous numerical column and we’ll be creating this continuous numerical column or continuous numerical data with just a list over here so this is a very basic example I’m just creating a random list which comprises of all of these numbers and I’m storing it in this object called as as data and to create a histogram all I have to do is use this hist method so inside PLT doist I’ll pass in this list and when I show out this is the result which I get so here let’s actually have a look at this particular bin so in a histogram these are known as bins so here for this bin for the value three we have this value four or for the value three on the x- axis we have this value 4 on the y axis which would mean that this number three is occurring four times similarly if I look at this one over here so for this one on the xaxis we also have the value one on Y which would mean that one is occurring only once similarly we have four so this number four is occurring two times then we have eight which is occurring three times so let’s go ahead and create a histogram in Jupiter notebook I’ll just add a comment over here histogram and let me go ahead and create a list so I’ll store this list in L1 and I’ll have some random numbers over here so I have created my list and now that this is ready I can just go ahead and build out the histogram by using this method called as PLT doist and inside this I’ll be passing in L1 then since I just have to show this out I’ll just have PLT do show and this is the result so as you guys see this number three is occurring four times then we have this number six which is occurring three times and the rest of the numbers are occurring only once now we can also go ahead and change the number of bins which are present or the color of the histogram as well so to change change the color we’ll just use this over here so for the color attribute we are mapping in G which will give us this green color and initially we had 1 2 3 4 5 6 seven bins over here but instead of seven bins let’s say if I want to reduce the number of bins I’ll just use this attribute and set the number of bins to be equal to four and this is the result which I get I’ll copy this entire thing I’ll paste it over here now that I have created this histogram I would want to change the color of this so I’ll set the color to be equal to green and then it off so how many bars do I have 1 2 3 4 5 6 7 8 and 9 instead of having nine bars let’s say I would want only three bars over here or three bins over here I’ll set the bins value to be equal to three and as you guys see I have only three bins now let me set it to be five and I have 1 2 3 4 and five b this was all about histogram now the earlier histogram which we had created was with respect to a single list but if you want to create a histogram on top of a data frame then let’s see how can we do it so here we’ll be building this histogram on top of the iris data set so if you have to load any data frame we’ll have to use reor CSV since this is a CSV file so inside reor CSV I am passing in the name of the file and I’ll store it in this object called as Iris and when I use iris. head this will give me the first five rows which are present in this data frame now after that to create the histogram we’ll just use PLT doest and inside this so here we were passing in the list of numbers but here instead of passing in the list of numbers I’ll pass in the column so we have this SE length column which is present in the iris data frame so I’ll just pass in the seple length column and I’ll set the number of bends and I’ll also set the color to be equal to something and when I show it out this will be the result which I’ll be getting so here I’d have to load the iris data frame first so in the iris object I’ll just have pd. read CSV and inside this I’ll give the name of the file which will be equal to iris. CSV I’ll click on run so I’d have to import the panda data frame as well to use reor CSV method so I’ll have import pandas as PD and we have let’s just wait till this is loaded both the library and also the data frame now in the while it is loaded I’ll go ahead and write in the head method as well now if I click on run we’ll have a glance at the first five records which are present in this data frame and as we see we have seel length seel width petal length petal width and the species column and now I’d want to create a histogram for let’s see this petal length column over here then I’ll just have to type in PLT doist and inside this I’d have to pass in this petal length column so here so i’ given the name of the data frame first and using this parenthesis I’ll give the name of the column so the name of the column let me keep this to be small it’ll be petal length and I’ll set the number of bins to be equal to let’s say 50 and after that I’ll set the color of the bins to be equal to Green again and we can just go ahead and show the result so this should be be color and not C I’ll keep it as c o l o r all right so as you see we have successfully created this histogram for this petal length column now we’ll head on to the next geometry which is a box plot so this box plot basically gives is a five number summary so here in this result what you see this is the minimum value this is the 25% value this is the 50% value this is the 75% value and this is the maximum value so we’ll be understanding more about this as we progress through the session so first what we’ll do is we’ll just go ahead and create three list in the first list we just have numbers from 1 to 9 in the second and the third list we have randomly given some numbers over here and then we’ll create a list out of all of these three lists so inside this list method I am passing in 1 2 and three as a list and I’ll store the resultant list in this object called as data then if I have to create a box plot I’ll just use PLT dobox plot and inside this I’m passing in this data object which I just created and when I show it out this is the result which I get now when I compare these three boxes let’s actually understand the inferences over here so for this plot or this plot this box basically refers to this particular list this box tells us that the median value of the numbers which are present in this list is five the maximum value is N9 the minimum value is 1 similarly if we look at this particular box so this box refers to this particular list and this box tells us that the median value will be three the maximum value will be five and the minimum value will be one then if we have a look at this particular box this would tell us that the median value will be seven for this list the minimum value will be four the maximum value will be 9 so it’s time to create a box plot I’ll add this comment over here box plot and after this I’d have to create three lists so I’ll have L1 and inside L1 I’ll just have all the numbers starting from 1 going on till 9 then I’ll have L2 inside L2 I’ll just randomly given nine numbers and again I’ll have L3 and also in L3 I’ll just randomly given some numbers over here now once we have L1 L2 and L3 I’d have to create a list of lists so inside this this I’ll just be passing in L1 L2 and L3 and I will store this in a new object called as data so now that we have created data I can just go ahead and build out the box plot so I’ll have PLT do boxplot and inside this I’ll just pass in data then I can just show it out to you guys so we have these three box plots over here so the first box plot represents this particular list we see that the median value is five minimum value is one and the maximum value is N9 then we have this second list over here so for this the median value is five the minimum value is also one and the maximum value is 8 so and for this particular list it seems that the median value and the 75% value is same so for this the median value is 8 the minimum value is five and the maximum value is 9 so one another geometry which is analogous to the box plot is the whin plot so the only difference is to create a while in plot we’ll be using Vin plot method instead of box plot method and this is the difference between how these boxes and vience look and we can so normally if we don’t set the show medians to be equal to True will not have these lines or these indicators over here so we also have to set this to be equal to true so now here I’ll just copy this entire thing I’ll paste it over here and instead of having PLT dobox plot I’ll just have PLT dowh in plot and I’m printing out the same data and as you guys see I have created this while in plot and now if I want the median so I’ll have show medians and I’ll set this show medians to be equal to true and as you guys see I have added the medians as well and and after the viin plot we’ll have the pie chart and pie chart again helps us to understand the frequency or percentage of different categorical values so here we have two lists the first list comprises of all of the names of different fruits so we’ve got Apple orange mango and guwa then in the second list we’ve got the quantity of these fruits so we’ve got 67 apples 34 oranges 100 mangoes and 29 guav was and if I want to represent this relationship of the quantity of these fruits in a pie chart this is how I can do it so I’ll be using PLT do PI and here first I’ll be passing in the numerical entity so the numerical entity is this quantity and I’ll be passing that over here then I’ll have the categorical entity over here which is fruit so I’m assigning fruit to labels then I can just go ahead and show out the results and as we see in the result we see that the maximum percentage is of mango and the minimum percentage is of guwa so i’ have to create two lists over here I’ll create the first list I’ll have fruit and the first fruit will be apple the second fruit will be mango the third fruit will be orange and the fourth fruit will be ly now that we have created all of these fruits I’ll also assign the quantity so let’s say I have 53 apples I’ve got 43 mangoes I’ve got only 12 oranges and I’ve got 97 Lees so I’ve got these two ready now after this I’d have to create the pi chart so I’ll have PLT do PI first I’d have to given the new numerical object which will be quantity then I’d have to given the categorical object so I mapping fruit onto the labels then I would just have to show out this pie chart so PLT do show as you guys see this is the resultant pie chart so the maximum portion belongs to lii and the minimum portion belongs to Orange because we have 97 lies and we have only 12 oranges now now we can also go ahead and change the colors of these different sectors and also add the actual percentage in these different sectors to add the percentage we’ll be using Auto PCT so here for this autop PCT attribute I am using 0.1f now what this basically means is the 0.1 basically means that I’ll have the decimal values to one place so if I have 0.1 this will mean I have decimal values to one place if I’ll keep it as 0.2 then I’ll have decimal values to two places and after this I’m just adding this new attribute called as colors and the coloring it starts from the first label which is Apple over here orange then I’ve got blue which is for Mango then I’ve got black which is for guaa I’ll copy this entire thing over here I’ll paste it over here now to add the percentage I’ll be using autop PCT and here I’ll have to use percent 0.1 F let me add percent percent and after this I’ll also have to set the color over here so the colors I’d have to give a list of colors so let’s say for Apple I’d want to given green then for for mango I’d want to give in yellow then for orange i’ obviously want orange and for liy I’d want pink now when I hit on run let’s see what would be the result let me change this to colors instead of color so as you guys see I have the percentage over here because I had used autop PCT attribute and it seems that we have out of all of the fruits 47.3 of them are lies and this is the color indicated similarly out of all of the fruits only 5.9% of them are oranges so we have created the pie chart then something which is very similar to pie chart is the donut chart and to create this donut chart we’ll be using two pie charts over here so the data is same we have fruit and quantity it’s just that first we’ll go ahead and create our first pie chart which comprise of quantity and labels and I am adding a new attribute inside this which is the radius so I am setting the radius of this to be equal to two then I’ll go ahead and create another pie chart here inside this I’ll just pass in so first we have to pass in numerical entities so I’ll just have a list which comprise of only one element or one value which is one and this entire value or this entire list compris of only one color which is white and I’ll set the radius to be exactly half of the original Pi so I’m setting the radius to be equal to one and as you guys see this is the outer pie chart this is the inner pie chart so the outer pie chart has a radius of two the inner pie chart has a radius of one and since I’ve given a color of white this is what I have over here so you can give any random number over here that doesn’t really matter so you can give 1 10 5 it is all the same it’s just that keep the color as W because since a donut it just basically looks like a donut we have to give in the white color I’ll copy this entire thing I’ll paste it over here I’ll set the radius for this to be equal to let’s say four then I’ll have a new pie chart over here I’ll just give a random value let’s say I’ll give five over here and after this I’d have to set in a color and since there is only one value I’ll just give in white color over here and after this the only thing which I have to set is radius and I’ll set the radius for this to be equal to two let’s hit on run and this is the donut chart which we get so as you guys see the radius for the outer pie chart is four the radius for the inner pie chart is two let me reduce this let me keep this to be two actually and let me keep this as one and this is the resultant donut chart so cbor is another visualization Library which is built on top of M plot lip so if you want to work with cbon then we’d have to import matplot lip as well so to import cbon we have to type in import cbor as SNS and since this is built on top of mat plot lip we also have to import mat plot lip so we’ll have from mat plot lip import P plot as p LT and inside cbon we have this method called as load data set and we have some built-in data sets inside the seor library and one such built-in data set is the fmri data set and I’m storing this this new object called as fmri and then I’ll have a glance at this first five columns of this data set so we have these columns we’ve got subject time Point event region and Signal now out of all of these columns I’d want to make make a line plot between the time Point column and the signal column so to make a line plot with the help of the cbor library since I’ve given the alas for the cbor library as SNS I’ll type in SNS do lineplot and onto the xaxis I am mapping the time Point column and onto the Y AIS I am mapping the signal column and then I’ll have a new attribute called as data so basically I am building this line plot on on top of this fmri data set that I just go ahead and show out this line plot so let’s understand this properly so if you look at this line plot closely you would see that till the time point of 5 Seconds so let’s say if this time point is in seconds so till the time point of 5 Seconds the signal value is increasing but from time point of 5 Seconds to 10 seconds you have the signal value to be increasing and after 10 seconds this sort of stabilizes and only increases two so here if the value is min – 0.05 so from – 0.05 it goes up to close to zero so now that we are done with mt plot lip let me go ahead and create a new notebook over here and I’ll name this new notebook to be equal to cbon let me rename it I’ll delete this I’ll name this as cbon demo and we’d have to load the required libraries the first library is obviously cbon so I’ll have import cbon as SNS then i’ also need pip plot so I’ll have from Matt plot lib import pip plot as PLT let’s just wait for these two libraries to load and once we have cbon with us we’ll be working with the fmri data set so to load the fmri data set we have the load data set method meod which is part of the SNS Library so I’ll have SNS do load data set and inside this I’ll be passing in the name of the data set which is fmri and I will store it in this object called as fmri and let me have a glance at the first five records of it so I’ll just type in fmri do head and these are the different columns which are present and I’d want to make a line PL between the time Point column and the signal column and for this purpose I’d have to map the time Point column onto the x-axis and the signal column onto the Y AIS SNS do line plot and onto the xaxis I am mapping time point and onto the Y AIS I am mapping signal and the data is obviously fmr right then I would just have to show out the result so I’ll have SNS i’ actually have to give in PLT do show over here let’s hit run so we have successfully created this line plot and as we had already seen so till 5 Seconds there’s an increase in the signal value from 5 to 10 seconds there’s a drop and then it sort of stabilizes now we can also add a new attribute or new athetic called as Hue so here we had only one line and this one line arbitrarily the color of this was blue but if I want the color of the lines to be actually determined by a column what I can do is I can map a column onto the Hue athetic so we have the event column and we are mapping the event column onto the Hue athetic so now the color of the lines would be dependent on this event column and since we have two events over here we have the stim event and we have the Q event this blue color line represents the stem event and this orange color line represents the Q event and if we look at this blue color line over here you would see that till time point of 5 Seconds the signal value it goes up till maybe 20 and then it drops down to a Min – 0.1 and similarly if we look at this Q event you see that the peak is not so high so for the stem event it was almost 0.2 and when it came to Q it is only 0.05 but you’d also notice that the drop is not so steep so for the drop of the stem event it came from 0.2 and it’ll drop down to Min – 0.10 but for this particular signal Q the drop is very small it dropped from 0.05 to only minus 0.05 and also if you see the increase of it so once it dropped the increase of Q event is much higher when compared to the increase of this stim event so this is the same set of commands it’s just that I am adding a new attribute called as Hue and I’m determining the color of the lines on the basis of this attribute and I’ll be mapping the event column on top of this so as you guys see I have this event column and this is the same column which I’m mapping onto this Q ech event we see that we don’t have the event column so what I’ll do over here is I will cut this out I’ll paste it over here I’ll put in a comma and since this is a column I’d have to put this in double quotes now when I hit run so seems like we have an error again over here I have two commas let me go ahead and delete this comma and we have successfully produced this two line plots over here now we can also go ahead and change the style of how these lines look so now if I want these lines again or the style of these lines again to be dependent on a column I can just go ahead and add a column onto the style athetic so the color is also being determined by the event column and also the style is being determined by the event column so it’ll be the same command and I’ll be adding a new attribute to this I’ll have style and to this I am mapping the event column and you see that the Q event is being represented with this dotted line and the stem event is being represented with this solid line so now that we have created that we can also add markers on top of it so all we have to do is set the markers to be equal to True here in this command I’ll have this new attribute called as markers and when I set this to be equal to true you will see that so I have markers now when it comes to the stem event the markers are solid circles and when it comes to the Q event the markers are crosses so that was all about line plot with the help of the cbor library now we’ll go ahead and create a bar plot with the cabor library so to create this bar plot we’ll be actually needing the Pokemon data set so we’ll have to start off by loading the Pokemon data set so we’ll have pd. read CSV and we’ll store this pokemon. CSV file in this Pokemon object and once we store it in this object we can go ahead and create a bar plot for this is legendary column this is legendary column is a categorical column and that is why we are creating a bar plot and this is legendary column we have two categories 0 and one so zero indicates that the Pokemon is not legendary and one indicates that the Pokémon is legendary and onto the Y AIS I am mapping the speed column and from this bar plot it is very evident that legendary Pokémons or the speed of the legendary Pokémons is high higher when compared to the speed of non- legendary Pokémons so now I’d have to go ahead and load of the required data set so to load the data set I would need pandas so I’ll just type in import pandas as PD now once I have this I need to load the CSV file so I’ll Type in pd. read CSV and inside this I’ll give the name of the CSV file which is will be pokemon. CSV and I will store it in this new object called as Pokemon and once I’ve stored this let me have a glance at this so I’ll just type in pokemon. head and I’ll show you all of these columns so these are the different columns which are present over here so against Bug against dark against dragon all of these columns basically tell us how does a Pokemon perform against these types of Pokémons then let me scroll it to the last so here we have this s legendary column which would tell us if the Pokémon is legendary or not then we have this generation column which would uh tell us the to which generation does this Pokemon actually belong to then this column tells us what is the weight of this Pokémon in kg then this type one tells us what is the primary type of the Pokémon type two tells us what is the secondary type of the Pokémon and then we’ve got other columns as well so now for this bar plot we’ll be only working with this s legendary column and then the speed column so I’ll be using SNS do barplot and onto the xaxis I would have to map s legendary and then onto the Y AIS I’ll be mapping the speed column and the data onto which I’d want to build this bar plot is the Pokemon data set then I can just go ahead and show this out and when I hit on run you would see that I have successfully created this bar plot and again it is very evident that the legendary Pokémons the speed of the legendary Pokémons is higher when compared to the speed of non- legendary Pokémons so now we’ll create a bar plot between s legendary column and weight in kg column so s legendary column is again mapped on to the x-axis it’s just that here for the y- axis we are mapping weight kg column and this time it is it’s very very obvious that legendary Pokémons their weight is much much higher when compared to non- legendary Pokémons I’ll cut this out I’ll paste it over here and instead of mapping speed I have the weight kg column and when I hit on run you would see that the weight in kg of a legendary Pokémon is much higher when compared to the weight in kg of a non- legendary po Pokémon now we can also go ahead and determine the color of these bars on the basis of a column and we already know to do that we’ll be using the Hue etic or the Hue attribute and I want the color to be determined by the generation column so this time I’ll be mapping the generation column onto the Hue athetic and as you guys see we have seven generations over here starting from generation one going on until Generation 1 and since we have two different legendary status so zero indicates that the Pokémon is not legendary one indicates that the Pokémon is legendary for these two categories I’ll have seven bars each so for those Pokémons which are not legendary I’ll have these bars these seven bars indicating to which generation does the Pokémon belong to similarly for all of the Pokémons which are legendary I’ll have these bars indicating to which generation does the Pokémon again belong to and again on the y- axis since we have mapped speed we have the speed values corresponding to whether the Pokémon is legendary or not legendary so the same set of command I would have to use the Hue esthetic and onto this I’ll be mapping the generation column and as you guys see so this denotes all of those Pokémons which are not legendary this denotes all of those Pokémons which are legendary and it is very clear that legendary Pokémons they have much much higher weight when compared to non- legendary Pokémons and we have the distribution of Pokémons which belong to the different generations with respect to both legendary Pokémons and non- legendary Pokémons now going ahead we can also change how the different pallet look for these bars so we will use the pallet attribute so we’ve got these three different palletes over here so again the bar plotters between is legendary column and weight column and it’s just that instead of using a column to map it onto the Hue athetic we are using a new athetic called as pallet and we can directly use different predefined palettes so first we have the blues D palette with a capital B this is how it looks like then we have the rocket pallet and this is the resultant and then we have the VL pallet let me delete this Hue attribute over here and instead of that I’ll have pallet attribute and the first palette which I’ll be using is blues D and as you guys see this is the blues D palette similarly if I want maybe a more of red color then I I’ll be using the rocket palette then if I want maybe a light shade of bluish gray I’ll be using V lag and this is what I’ll be getting now instead of maybe using a palette or maybe mapping a color onto the Hue athetic I can just go ahead and use the color attribute and assign one single color for all of the bars which are present so I’m using the color attribute and I’m mapping the orange color to both these bars I’ll remove pallet and instead of pallet I’ll have the color attribute and I will set the color of these two bars to be equal to Orange and this is the result so we are done with bar plot as well now we’ll go ahead with the next type of plot which is scatter plot and we have already learned that a scatter plot is used to understand the relationship between two numerical entities and over here we are building the scatter plot on top of the Iris data set so we’ll load this data set up then we’ll be using SNS do scatterplot and onto the xaxis I am mapping the seple length column and onto the y- AIS I am mapping The Petal length column and the data onto which I’m building this scatter plot is the iris data set and again it’s very clear that as the seple length of the iris FL increases the petal length of the iris PL also increases linearly so here I’d have to load a the iris data set first so I’ll have pd. read CSV I’ll give it the name of the file which will be iris.csv now that I have loaded this let me show you guys the first five rows of all of the columns and this is the resultant and to create the scatter plot all I have to do is use PLT do scatterplot and since I want the scatter plot between seel length and petal length and I want seel length to be onto the xaxis so to X I’ll be using seel do length and on the Y AIS I would need petal length so let me give the name of the column over here which will be petal length and the data which I’m using is obviously Iris then I can go ahead and show out the result so let me just keep it as scatter over here and again this has to be equal to small D and not capital D let me hit on run over here and this is the resultant value now as you see over here we can go ahead and add in color and also change the style of this so initially we just had a simple plot between seel length and petal length but now I want these dots to be determined or the color of these dots to be determined by the speed species column so that is why I am mapping the species column onto the Hue athetic and after that similarly I am mapping the species column onto the style etic as well so here as you see we’ve got three different colors blue orange and green the blue color is being determined with the Sosa species then we’ve got this orange color which is for the wory color speci then we’ve got this green color which is for the vinica spey similarly we’ve got three different styles over here for setosa we have solid circles for ver color we have crosses and for vinica we have solid squares the same command which I’ve copied I’ve pasted over here I’ll add two more attributes the first attribute will be Hue and onto Hue I’ll be mapping the species column similarly onto style as well I’ll be mapping species Colum column and when I hit on run so I’ll have it as hu now when I hit on run seems like we have an error over here let me check it properly and this over here has to be just H now when I hit on run this is the resultant scatter plot which I get and now let’s say instead of having the colors to be determined by a categorical column if I actually want the color to be determined by numerical column I can also do that so here since petal length is mapped on the Y AIS and I want the color to be with respect to the petal length I’ll go ahead and map The Petal length onto the Hue athetic and as you guys see over here as the value of petal length is increasing the intensity of these points is also increasing so here on this lower left side over here we have all of this very light shaded circles and at the top right you have this high intensity or high intensity colored circles over here I’ll copy this I’ll paste it over here now I’ll want the Hue or the color to be actually determined by petal length itself let me keep the L to be capital and when I hit on run you would see that as The Petal length value increases the intensity of the color also increases let me just go ahead and also add the style over here so this time the style will be determined by the species column and you would see that we have three different styles for setosa this is setosa you have solid circles for wory color you have crosses and for vinica you have solid squares so this was about a scatter plot now we’ll go ahead and make a histogram or a distribution plot so a distribution plot you can consider this to be a combination of a frequency curve and a histogram and we have already worked with histogram where it came to matte plot lip we know that a histogram is used to understand the distribution of a continuous numerical value so for this we’ll be using the diamonds data frame so we’ll load up this diamonds data frame we’ll store it in this diamonds object and then we’ll have a glance at it after that will to create this distribution plot we’ll use disc plot and inside this I if I want to understand the distribution of the price column I’ll just pass it over here so I’ll have diamonds of price and as you guys see this would show us the distribution plot and as I’ve told you the distribution plot is a combination of a histogram and the frequency curve over here I’ll just add this comment and I’ll add distribution plot now over here to create this distribution plot I would need to load up the diamonds data set so I’ll have pd. read unor CSV and inside this I’ll be passing in the diamonds. CSV file and I will store it in this new object called as diamond now that I have loaded this data set let me have a glance at the first five records of this so diamond. head and these are the different columns which are present so I’ve got carrot which obviously tells us about the carrot of the diamond then we’ve got the cut type of the diamond we’ve got color Clarity depth table price so this is price of the diamond in US dollars so the price would mostly range from around $300 to around $188,000 then we’ve got x y and z X over here denotes the length of the diamond in millimet y denotes the width of the diamond in millimet and Zed denotes the depth of the diamond in millimet so once this is clear i’ have to make a distribution plot and since distribution plot is used for continuous numerical values I want to make a distribution plot for this particular column so I’ll have SNS dot dis plot and inside this I’ll be passing in Diamond I’ll have square braces over here inside this I’d have to pass in the colum which is price and I would just show this out I’ll have PLT do show and you would see that I have created this distribution plot over here now in the distribution plot let’s say if I want only the frequency curve without the histogram that also can be done it’s just that in the same command I would have to set hist to be equal to false and when I set his to be equal to false I’ll only get the frequency curve I’ll copy it I’ll paste it over here and I’ll add a new attribute called as H and I’ll set this to be equal to false and when that is done you would see the difference so this was a distribution plot which had both histogram and the frequency curve now this is a distribution plot which comprise of only the frequency curve now similarly we can go ahead and add a new color to this and to add a new color we’ll just use this color attribute and add this so this was the distribution plot which we had created and to this if I want to add color I’ll use this color attribute I’ll assign it R and you you would see that I have assigned it the red color now if I want a distribution plot without the frequency curve which would mean I want only the histogram then here I will set KDE equal to false so in the distribution plot either we can have both the histogram as well as the frequency curve or we can just have the histogram or we can just have the frequency curve to just get the frequency curve we’ll set this to be false to just get the histogram we’ll set KDE to be equal to false and we can also go ahead and Vary the number of bins which are present to vary the number of bins I’ll use this attribute called as bins and over here I’m setting the number of bins to be equal to 10 and I’m just setting the color to be equal to Green I’ll select this over here I’ll paste it and I’ll set KDE to be equal to false and when I do this you would see that I have only the histogram without the frequency curve if I want to change the number of bins which are present so since there are 150 records I’ll have 150 bins but instead of uh having all of this so let’s say if I want only 50 odd bins over here I’ll set 50 and as you guys see I have only 50 bins now let’s say instead of 50 maybe if I want only 10 bins so you will see that I have only 10 bins now let’s say if I want only five that also something which can be done I’ll set the value to be equal to five and we have only five bins over here and after this let’s say if I want to plot it on a different axis so till now we’ve been creating this distribution plot where on the x-axis or basically this was based on the x-axis but instead of having it to be based on the x- axis if I want to map it vertically then I would just have to set vertical to be equal to true I’ll have the same command over here and here I’ll set vertical to be equal to true I’ll remove this KDE equal to false from this I’ll also remove this particular retribute from this now if I hit on run you would see that I have mapped this distribution plot onto the Y AIS next we have a new geometry called as a joint plot plot so this joint plot is a combination of a scatter plot and a histogram so as you guys see over here I have a scatter plot in the center and I have a histogram at the top side and the right side and I’ll be creating this joint plot on top of this Iris data frame so once I’ve loaded this Iris data frame I want to create a joint plot between seel length and petal length so I just created a scatter plot so for scatter plot we are just use SC scatter plot method for joint plot it’s just that we have to use this particular method we are passing in the same columns now when it came to scatter plot we had only this particular part but when it comes to Joint plot here what you see for seple length you would have the histogram of the seple length column as well similarly for petal length you will have the histogram for petal length column as well so this is an interesting point about joint plot we already have loaded the iris data frame now I’ll have to use SNS do joint plot and onto the xaxis I’ll be mapping seel do length and onto the Y AIS I’d have to map something so onto the Y AIS I’ll be mapping petal. length and that is pretty much it I actually have to give the data as well so the data on which I’m making this is the iris data set then here I’ll have PLT do show and when I hit on run so seems like we have an error over here so Seance so L has to be Capital let me make it capital L and you would see that I have successfully created this joint plot where I have this scatter plot in the center and I have corresponding histogram for seple length on the top corresponding histogram for petal length on the right side and over here if I want to change the color that is also something which can be done and we’ve already seen this throughout so all I have to do is use this color attribute and I have to give in a color for this and if I like the olive color that is what I’ll be going ahead and mapping it onto this attribute I add this color attribute and I’ll have Olive and as you guys see I have mapped the olive color for this joint plot now for this if I want a regression line through the scatter plot and also through the histogram I’d have to use this new attribute called as kind and for this new attribute kind I am assigning this value rig so as you guys see I have this regression line which is passing through the length values and The Petal length values and also it is passing through both of this histograms so here I’ll have kind and I’ll have the value reg set for this kind attribute let’s wait for the result and you would see that I have added a regression line which goes through the histogram and also goes through the scatter plot once I have done this let’s go ahead to the next geometry which is a box plot and to create a box plot we’ll just be using this box plot method and we’ll be creating this box plot on top of the churn data frame so we’ have to load this data frame first so this data frame tells us about the different features of a telecom company and on the basis of this features we have to find out if the customer will churn out or will stick to the same company so here we have the churn column and the tenure column the Chon column I’m mapping onto the x-axis the tenure column I’m mapping onto the Y AIS and obviously I’m building this box plot on top of the churn data frame uh one interesting attribute about a box plot is that box plot can be mostly used to understand how does a categorical value change along with a numerical value so that is why here we have mapped this categorical column churn onto the x-axis and this numerical column tenure onto the Y AIS and we see that so this what you see is the median value which we have already seen so when it comes to people who do not churn out it seems that those people who do not CH out their median tenure or their tenure in general is longer than those people who actually churn out so I would have to load this data frame first I would have to store it in the ch object so Chan is equal to pd. read CSV and inside this I’ll have churn do CSV and then let me have a glance at the first five records of all of the columns and these are all of the columns and for all of these columns I’d have to make a box plot between this tenure column which would go on the y axis and the Shone column which would go on the x-axis SNS do boxplot and onto the xaxis side have to map obviously the tenure column onto the y- axis I am mapping the churn column then I’d have to use the data which is Chun and I’d have to show it out so I’ll have PLT do show so I actually made a mistake over here so tenure will go onto the Y AIS and Chon will go onto the X access now we get this box plot and we’ have already seen the inference it seems that those people who do not shown out this their tenure seems to be longer than those people who actually Chown out and now this time we’ll be creating a box plot between the internet service column and the monthly charges column so we have the monthly charges column onto the Y AIS and the internet service column onto the x-axis and we’ve got these three different categories in this internet service column so the internet service can either be DSL fiber optic so this no means that the people don’t have or people haven’t subscribe to internet service and it is very clear that those people whose internet services fiber optic they would have the maximum monthly charges similarly those people who do not have internet service their monthly charges is minimum so when you compare this box to these two boxes it is very evident that people who don’t have internet service their monthly charges are very very low I’ll copy the same command over here but on the yis I’ll have monthly charges and on the X access I’ll have internet service and this is the resultant box plot which we’ll be getting now we’ll go ahead and make another box plot between the contract column in the tenure column tenure column would go onto the y- AIS contract column would go onto the x-axis and we can have three different types of contracts month-to-month contract one-ear contract and a 2-year contract and if we look at the tenure of it so let’s actually look at the median values of the tenur so it seems that if the contract is of month to month then the median tenure is the lowest similarly if the contract is of 2 years then then the median tenur is the maximum and we are setting a pallet over here so again we can have different pallet so the pallet which I’m using is equal to set one onto the Y AIS I’ll be mapping the tenure column onto the x axis I’ll have the contract column let me write in contract column over here and uh the data will obviously be the churn data set and what I’d have to do is I’d have to use a pallet and the pallet which I am using is equal to set one and this is the resultant box plot now you see these boundary lines over here if we want to change the thickness of these boundary lines we can do that with the help of this line width attribute so here I am setting the line width to be equal to three if you compare this particular box plot with the earlier Bo plot it is very clear that the thickness has increased the same code I’ll actually have tenure and contract over here onto the x-axis I’ll be needing contract and I will use this line width and I’ll set this to be equal to 3 and you would see that the line width has increased substantially and after this let’s say if I want to change the order of how these boxes are present so here initially the boxes were present in the order of month to month one year 2 year but instead of this order let’s say if I want 2 year first followed by month to month then after that if I want one year then I can use this attribute called as order and inside this I’ll pass in the list which will comprise of the order in which I would want these boxes to be present so here I’ll remove the line width and instead of line width I’ll use this attribute called as order and first I’ll have two year after that I’ll have month to month then finally I’ll have the last box which will be one year and you would see that I have changed the sequence now if you want to add colors on the basis of a column which we’ve been doing throughout that can be done with the help of this Hue attribute and I want the color of all of these boxes to be determined by this payment method column so here I am mapping this payment method column onto this Hue athetic and as you guys see I have these four different payment methods I have electronic check mail check bank transfer and credit card so electronic check so this particular box or where all of these boxes where the color of the box is purple or dark blue that denotes electronic check then we have the box where the color is orange that would denote mail check and if the color of the box is green that would denote bank transfer and if the color of the box is readed that would denote credit card so here I’ll add this attribute called as Hue and I want the Hue to be determined with the help of this payment method column and you would see that I have four of these over here so I have four boxes with respect to these three different categories ready to explore the Forefront of Technology generative AI is our next STP we will demystify how AI can create new content and show you how to implement these Advanced models using python think of a magical box that could materialize everything you could imagine a box that can create a new video write you a story draw a lovely picture or even record a song it sounds like something from a story book isn’t it well it’s generative AI not magic hello and welcome everyone to this video where we are going to examine how this incredible technology functions how it is changing the world today are you prepared to discover ai’s magic let’s get started [Music] now so let’s start with quickly understanding the evolution of computers when the computers were created they were created as calculating machines for mathematicians and bookkeepers then then it evolved to understanding programming languages so that it can understand instructions human instructions but now it has evolved too incorporating humanlike intelligence as well as creativity mimicking humanlike intelligence is nothing but artificial intelligence and artificial intelligence combined with creativity is nothing but generative AI so let me make you understand with a very simple example what is generative AI transport yourself back to your childhood you had a lot of lot of toys to play with you would keep that toys in one box now also imagine that if you wanted some toy which is different you would not get in the market but what if I tell you that this box is a magical box and if you input your under understanding of what you want in your new toy with instructions it can create a new toy for you which is not available in the market now this toy can be a beer with unicorn features and wings what if it generates for you this magical box generates a toy which is very unique for you this magical box is nothing but generative AI generative AI actually is not a magic it’s a fast and rapidly evolving artificial intelligence system which creates generates transforms content that can be text video audio image Etc based on your input so if you want to understand it technically generative AI or gen aai functions by employing a neural network to analyze data patterns and generates new content based on those patterns neural networks are nothing but a mimicry or a replication of your biological neuron based on how it gets from brain the activity from brain and you do your work it’s nothing but a mimicry of that based on that mimicry it analyzes data patterns and generates new content for you let’s Now quickly see what is the difference between discriminative and generative AI suppose you have a data set of different images of dogs cats you provide this as a input to your discriminative AI which acts like a judge and it classifies all this into set of images between cats and dogs this is discriminative AI it classifies now let’s understand what is generative AI you have the similar set of cats and dogs but now your generative AI is acting like an artist it creates a new species of dogs for you that’s why generative AI is nothing but AI system that transform creates generates your own content based on your instructions like an artist now that you have UND OD what is discriminative AI and what is generative Ai and what is the difference between the two let’s understand why is generative AI or gen AI trending gen AI has impacted various Fields be it text audio video any input and those inputs in various domains like data management Tech Healthcare and entertainment it has creative applications such as as di chat GPT where you can input what you want and get output from it for example if you want to create an image what you think or perceive as a concept and you want it you give a prompt for your generative AI model and it’ll create that image for you so your input is a text but your output is an image that’s why it’s trending it does not depend how traditional AI is dependent on what form of input you give the same form would be your output however gen AI works on your inputs on your instructions that’s why it’s trending it is impacting a lot of fields be it creative field be it research field be it business professionals are using tools like chat G to create or generate code so that they can create something new the researchers are actually developing new and new large language models based on which we can create new generative models and can do new and new task each and every day that’s why generative AI is evolving rapidly and that’s why is close to Magic for everyone now that you have understood why it is trending now let’s understand how it it works we give an input to generative models gen AI works on generative models we give an input it can be text audio video any format those generative models are then preened on the data and they are fine tuned to do the task that you want it can be teex summarization it can be sentiment analysis it can be image generation it can be audio generation for your YouTube channel or analyzing your customer feedback if you are a brand or a marketing firm it can create codes whatever you want you give a prompt what you want explaining it that what you want and it fine tunes and gives you that task for you so this is how in nutshell generative AI model works so now let’s see what are the different types of generative AI first one is generative adversarial Network Gans it’s a type of AI where two models one generating the content and one judging it work together to produce realistic new data second is variational autoencoders this AI learns to recreate and generate new similar data third is Transformers Transformers is an a a i which learns to produce sequences using context fourth is diffusion model which generates data by refining noisy starting until it looks realistic now that you have understood what are the different types of generative AI let’s quickly walk through different applications of generative AI first one is content generation it creates it generates whatever textual or any code that you want customer support and engagement if you are brand firm it helps you with that data analysis and data science it helps with visualization it helps with analyzing any data it be it any data you want you are a brand firm or you are a technology firm it will help you analyze your data and create new automated task for you or it would create new perceptions for you to take over then it is code generation and software development we have research and information retrieval as well where it helps different researchers it helps different professionals to grow and retrieve extract information required from different or various data sources then we have machine translation if you are a person who do not understand a language and you’re watching something or reading something which is in different language which you can use generative models to translate text or audio or anything into the language that you require then we have sentiment analysis which actually takes feedbacks or any text that you have to give you is it a positive negative or neutral sentiment and so that you can analyze and take decisive decisions other domains here include Health Care transport everywhere it helps generative models generative AI is helping each and every domain in their perspective how they are applying this technology change in their domain so let’s Now quickly conclude what we have learned in this video we learned AI is a super set we have a subset called machine learning which trains your machines to do what you want but there the machines need your for input deep learning is a subset of machine learning which incorporates neural networks which mimics your neurons so that it can imitate human intelligence then comes generative AI which involves creativity introduces creativity in artificial intelligence system then comes large language models large language models are basic bits that you will learn in our upcoming videos so stay tuned just before we conclude let me tell you different generative AI tools which are in the market and which you can explore some of it are charity by open AI clae by anthropic AI co-pilot by GitHub Gemini by Google you can go and explore the world however stay tuned to our channel so that you can learn more about generative AI large language models prompt engineering and several different buzzwords that are there in the system let’s start with the first topic overview of python when you hear the name python you know the various applications of it first and foremost thing it is a high level programming language which is very unique compared to other high level programming language why almost it will use English like statements in order to execute the code it’s very easy to learn as a beginner this particular Python language now why do we use python in generative AI it’s not about generative AI it’s about python is already having a well supported set of libraries which is already in use since years with respect to domains like data science machine learning natural language processing deep learning Etc now artificial intelligence and generative AI is grabbing the libraries which we have already in Python other programming languages are also used but I could say python is a versatile programming language which makes life easy for the people working in this technological domain after understanding a overview of python let’s quickly hop on to the next topic introduction to generative AI applications which is the core concept which we have to learn generative AI refers to algorithms which enables machines to produce content that is not only new and original but also includes a reflective data and it will be always trained according to the requirement right generative AI deals with a lot of models what do these models include G that is generative adverse networks vaes variational autoencoders and Transformer based models such as chat GPT right what do we do with this generative AI applications it’s very important in order to train the algorithm or the machine in order to keep it updated the more you interact with this the more it gets trained that’s how simple it will work and generative AI helps you to generate your own models how you want to train that particular model you can train it accordingly just like simple example how does the scientist train the robots each robot will do its own different work right hope you would have seen the requirements are different the catering of requirements is different hence the models will be trained accordingly with the help of generative AI yes it includes lot of other Technologies deep learning neural networks Etc but still generative AI is also a base of it what is the significance creativity boost it creates enhances processes by providing very good content ideas new content ideas the new way to approach the problem efficiency it is giving a helping hand to human beings in order to be more efficient the more good you use the more productive you’ll be automates the content creation or saving time is very much important it’s a important resource now it aids to this particular Saving Time resource then personalization it generates particular personalized content as per your requirement as per the prompts you give to chat GPT that’s how it works right so it will cater various applications for the same this is the overall picture of generative AI applications now let’s talk about the next concept development environment setup how do we do this what is it all about you have to have a platform in order to work with you need to have a basement in order to build a building right so let’s learn how to to we build this particular basement so what does this thing consist it consists of few steps in order to set up a particular environment it is not dealing with much higher softwares or something from moon and stars it’s very simple you have to go to python official website and download the latest version for now it is 3.12 you can download that python into your local system system and you can execute this via command prompt right first step we have to open command prompt which we have in our local system and then we’ll have to navigate to the location where the python is installed hope everyone are having a clear idea of how do you work with Linux and Unix at least basic commands like CD change directory MK make directory so only these two commands are mostly used in this complete session I’m not going deep into advanced level of Unix Linux and all if you want to work with a command prompt you have to just use CD and MK command and you can make directory or change directory simple as that if you’re using Windows you can use command prompt or Powershell for Mac OS or Linux you can use terminal this is the platform you need in order to work with after navigating to the location where the python has been installed you can install all the libraries using pip Command right so pip install is a basic command and you can change the libraries you want accordingly first we will talk about numai numai is very well known amongst the domain called data science why the first thing is numai will always cater in order order to help the mathematical calculations also working with high level data structures and give you the complete access to the functionalities and arthema and Logics that is why data science is dealt with lot of data numbers and other elements we use numpy for the same then we talk about plask when you hear the word flask it is a library which is related to python where it is web based framework you can create web application using this particular flask framework that is the major help of using flask the next one is stream lit or stream liit this particular Library deals with visualizing the models created then you have torch torch vision and torch audio basically this Library cats computer vision models you can work with the model creation you can view the model and also you can add certain multimedia to the model created right you have this torch library in order to cater computer vision projects models Etc you have Transformers next Transformers will always help you in classification text summarization many other aspects again dealing with data and majorly we use all these liaries in machine learning artificial intelligence NLP natural language processing and deep learning also computer vision this is the applications of where this particular Library will be used using pip install we are always installing all this Library single-handedly not in Mass Library installation every Library will be installed along with the execution output command stating it has been installed it it will show you it is installed now still you don’t trust how do you check it verification of the installation is very important because since we are working with machine sometimes it might help you to have a better Vision when you verify if you don’t verify if the installation is crashed you never know it will affect your project so better verify once you install it’s very simple in order to verify as well you can open command prompt and type python double hyphen version it will ensure it Returns the installed python version what is this particular version you’re working with next you verify the installation of the libraries for that you have to just go open python interactive shell type Python and then import every Library which you have already installed if it is imported properly without any error then it is installed properly right so this is the overall development environment setup idea which you have to have and which you have to create in order to do coding in order to create certain applications or work with the project now we are in the command prompt in theoretical aspect we have known about various libraries in Python that is numai flask streamlet T Transformers let’s install the same libraries with the help of command prompt first if you could see it’s in a general path it’s in my personal path but yeah it is in C drive now in my personal laptop the location of the Python is being fetched for that I have to use CD command change directory paste the location where your python has been installed and then press enter when you do this the command prompt goes to this particular folder let’s start with the First Command pip install numile now since I’ve already been working with python a lot many times for many projects you will get a output just wait and watch I’ll click on enter it might take some time it will try to analyze what’s happening what they’re trying to install and requirement already satisfied this is what you’ll get the output that means numai is already installed in your particular system because we were already working and there is a warning message you could notice if you want to upgrade the particular Library which you’re using you can go for the version mentioned I am currently using 21.2 point3 it is suggesting upgrade for 24.1 point2 then what is the command for the same is also being mentioned here you can use that command we have now installed numai which was already existing it is given the message if in case it’s a new installation of Library how it will display let’s try it other libraries as well pip install flask and I’m giving enter let’s wait for the results again if you could see it states flask is already present that is satisfied again you have a warning regards to the version I have almost installed all the libraries but let me check for the next one stream lit if you could see how it is done downloading the streamlit library if you’re trying to install the library which is not in the current local system in your python this is how it will start loading if it is already existing this is the message which you got for numai and plk when you try to install streamlet Library which is not present in your python this is how it starts downloading and it takes 5 to 10 minutes at least to complete the download depending upon your system configuration likewise you can install all the libraries required for you into your system right so I have given two examples one how it will download the library which is not in your system if you already have downloaded the library how the message will pop up that is requirement is already satisfied that means it is already installed right so this is how you import your libraries in Python now in order to verify is your particular library is installed or not first it will try to prompt you that it is already existing if it is not it will start downloading as mentioned now again in order to verify that you have to go to python interpreter so I’ll click onto the same particular location type python here when you click enter it will go to the python interface where you can execute your code now what you do is you try to import numpy when you try to give this particular instruction to the python prompt inside the command prompt which we have logged in it will try to enter or import this numpy Library which is already existing when you type the statement import numpy if your numpy is present it will not throw up any error it will look just like this this indicates your numpy is there in the python Library folder this is how you verify the libraries which is already installed before using it or else if you mention in your code as well it will throw up an error if it is not installed before make sure you install the libraries then use it in your code this was a simple demonstration how you install and verify if the library is present in your python with the help of command prompt now let’s understand introduction to open AI GPT API how this particular thing works and what is open AI first of all what is open AI it’s a company where it will cater in order to work with chat Bots generative AI applications different kinds of models llms Etc basically it is dealing complete artificial intelligence domain which is booming nowadays open AI has a platform where you can generate the API keys and you can integrate those into your applications API features what are the features it will cater for text generation completion and conversation capabilities so talking about text generation it is always dealing with providing a new text which is not in your imagination with one small question say I want a poetry on so and so it will give you a complete poetry where it is not plagiarized it has been trained in that level it can think about writing poetry it has lots and lots of data behind how it is dealing with with that what is to be categorized there comes classification summarization and many other machine learning and data science models artificial intelligence models which is giving you the answer pre next completion if you give a prompt in a incomplete way it will try to complete that if you give with a spelling mistake it will correct your spelling and ask you back was this your IDE media do you want to search so and so thing it will question you back in a interactive conversational way what we do with chat GPT it’s the conversation how it will answer us with the help of already available data it has been trained on and it is updated every time you talk to it that’s how the model works with so these are the few features we have next comes to fine tuning and customization for specific task say you are building certain module which has been integrated to your application you’re using open AI platform you can

    generate your own model it can cater to your own set of questions say for example chat bots in some or the other shopping websites or juary shop websites it will try to ask you what you want the lots of chat Bots which will address and also will help certain percentage of customer care services without human Intervention which can be done with the help of machine 100% it will be solved other aspects it cannot a very good example for this is swiggy right you can give a set of questions which is already present where is my order delivery guy is not moving so when you put this my order is getting delayed it will give a set of answer which is already there what is the current status still if you’re not convinced by the bot answer you can go for a agent talk you can talk to a human being where they’ll interact they’ll call the delivery guy and ask what is the situation and update you something like that might happen before introducing your particular chat to directly to the agent they’ll try to solve with the help of Bot that means we are trying to reduce the work which is put upon humans we are using the technology in order to address the same this is a best example for the Fe feat which is currently in use in the apps which we use in our day-to-day life how do we get start with this API we have to just log on to open AI website create your account sign up or if you already have an account sign in login generate a API key and keep it why you have to generate a API key I’ll let you after $5 of content you have to pay in order to improvise your API key in order to improvise your API key usage right you want to know more about what is open AI how does it help for GPT API everything you can just go to the official API documentation and understand more about this now let’s understand how do we generate a open AI AP a key for that you have to go to Google type open AI login once you click on login if you have already logged in you will get two options one is to go to chat GPD another one is to for API you click on API once you click on the API this is how your open API platform look like you could see a menu here towards your left stating API keys if you click on that it will launch API keys before that I would like to tell you I was talking about the GPT models right so these are the models available for now GPT 3.5 turbo 0125 d106 and 16k these are the models you can select the model and you can work on let’s come back to API keys I’ll click on the API keys this is how the API Keys generation look like and if you want to create a new API key click click on create new secret key and you can name that particular one I’m naming it as demo you can also give the restrictions if you have to control certain things it can be a readon restricted or all just like the share option you have in your Google Drive for your Google content right so create a secret key and it will generate and display the secret key there you can copy and paste it in one particular notepad so that you can use it again and again it is taking certain time to generate the key once it is done it will display and you will also have an option called copy for it here we are it states API key is generated and you can copy the key you can press as done see you have to save the secret key somewhere because it won’t be viewed again due to security reasons that’s why you have to keep it discrete and noted in a notepad separately you cannot get it back again if you want to again you have to create a new API you cannot copy this complete API key again the created API key is listed in the list here again you have the options to edit the key you can just change the name and permission nothing else you don’t have access to again copy the complete key and you can also delete the existing key this is how your API key Page look like in open AI platform hope you are clear how to generate these and save it in a place and use it for your coding now let’s talk about flask chat gbt app we are integrating open AI source to our application that is the main agenda of it let’s understand more about this application how do we work with this and also look at the demo for the same what is the basic setup we need is as simple as that which is mentioned before you have to have python installed in your system and all the libraries mentioned to be installed in your system that’s the basic ideology for all the demonstration which is carried in the session Hereafter the components we need is flask for web framework as I mentioned we use flask of python library for web framework and then open AI GPT API for generating responses a simple logic we are taking a API key of open API putting that in your python code and then we are trying to execute the same first we will check how this particular code look like and what are the in detail step in our Google collab note I’m not executing this in Google collab I’m executing this in command prompt but for a better Clarity I’m using the online coding platform that is Google collab in order to have a good interactive and bifurcation between the text and the code right Google collab is a very good place in order to work in order to have a good python content on let’s check out the code and understand what all does it do in order to create chat GPT app using flask library in Python now here we are on the Google collab first step we have to is set up the environment as I told we will activate the virtual environment of python what is this python M V and V Let’s understand one by one python invokes the python interpreter which is already installed in your system then MV and V this option always tells python to run VV module as a script this module is used in order to create virtual environments on that that is why we try to invoke this next again you have V EnV this is the name of the directory where the virtual environment will be created and it is not mandatory that you have to keep the second V en EnV as it is you can change this to be ABCD also or you can also put it as virtual environment it is not mandatory that you have to use the same name but with M you have to use V andv this is mandatory and the second V andv is optional you can change the name accordingly naming convention can be changed according to the requirements next after doing that setup we create the flask application as I told you we are using only two commands of Unix since we are working in command prompt first is make directory M KD r that is we are creating a folder with the help of command prompt that’s it there is nothing great that’s happening creating a new folder the folder name is GPT chat app and you are trying to change the path change directory CD to that particular ular location and remember wherever you have installed your python software that folder itself these things to be created we have to first navigate to that particular python location then only we can create a new folder else there will be a execution problem and path issues after doing the folder creation we will have to create code file first is a python code file which which I would like to name it as app.py application.py again this is not mandatory you have to have AP you can name it accordingly but you have to remember what you have named while you’re executing this you have to remember the exact python file name including the cases it is case sensitive okay first we will import the flask elements first is flas library next request Json and render template then we will import the requests and also import time these are the libraries we’ll try to import which is available in Python to our particular code we will try to use request and render template also the timing in order to have the conversation between the system that is Char gbt which we are trying to create and our questions then we will initialize the flask application this is the flask application initialization syntax we will try to give a open API key this is a secured key which you should not share with anybody else or else they can utilize and you have to pay the bill for the same better you keep the API Keys very discret this is a random API key it’s a sample API key or else you can just put in your code enter your API key here this is far better rather than giving people your original API once you put this API key you will next Define the root of the homepage where it has to interact from obviously you cannot show this backend code to the user you have to have a front end you have a front end that is called index.htm there comes the second core file first one is having ap. py core python file next it has to be integrated to the front end that is index.html right we will render the particular HTML template that is why we’ll be using render template Library okay we have usage of these libraries everywhere then we’ll Define the root for chat end point which accepts the post request post request is nothing but what message you put to the GPT and what it has to respond back and this complete thing will happen with the help of Json then you get the response from gpt3 and remember there’s lots of GPT models which one you’re using you have to have the knowledge about it you have GPT 3.5 turbo 16 K you also have just GPT 3.5 turbo you have many kinds of model the current model which we use you have to mention it here and you also have to carry the input given by the user from the front end to the back end with the help of this messages the data should be transferred from the front end to back end what is the maximum limit of the response is 150 letters characters it’s not words okay it is very minimal if you want to make it more obviously you can make it 300 again it is according to the requirement you are curing for then you have to attempt to get a response from API which tries in case if it fails now comes the word of error handling the code which is not having error handling capacity is not a worthy code simple as that if something goes wrong first you have to let the system give you the message that something is wrong not directly land to a page it should be interactive and it should tell the user whatever you have entered is wrong or something has happened what has happened this particular responses should always be there for example I’m giving you possibilities it’s not that every coder will be knowing everything what they have to do right but still there are few standard error handling techniques when you work you have status code 200 when when this particular 200 status code comes 44 error comes 429 comes right how do you handle that what is the error what is the particular response you give for example if it is for 200 we can return the message to the user rather than going to a random wrong page you have to give a message an error occurred while processing the response from open API that means if your GPT is not connected prop it is not able to give response then you have to just not push that particular code to a error page you have to send an error message you have to tell this next you have 429 here we are trying to request open AI if fail status again we are trying to reattempt how many times back off retrying attempts are two we’ll try to do two time attempts and then we will go for sleep that means we are putting this particular system into sleep that it is not able to solve the more you work with it the more limit exceeding will happen and 429 also deals with if your particular open AI is out of limits it is not having any um limits left it is exceeded you have to buy new you have to put your building again it will say you have exceeded your current quota please check your plan and building details so that’s how you have to try to give error message to the user so that they understand something is happening we have to go and address because nobody will go to back end and debug what is the error right in the front end itself you have to show what is happening so this is sample example of error handling then if any other error comes more than this there are two errors which have listed if anything else comes up you have to just give the status code directly 4 not4 error or Internet disconnectivity error anything might come an error occurred while communicating with open AI is a standard default error message you can send if you don’t know what you have to do just put there is an error please decode then comes run the flask application this is the main method which we create for this code and the code execution starts from the main method here now comes the second part of it the front end which we had discussed already there and what are the complete content of that we’ll have a quick overview that is index.html here you can see people who know HTML will always know this doc type HTML you have head you have HTML Lang English and meta character set is always there you have style for your particular page and you also have the body here you have a chat box you have a text box you want a button it’s a simple thing you have to have a text box where the user will put their input click on send button so that it will interact the chat gbt in order to display the chat GPT message you have to have a label or again a text box so that’s how it will work it’s a simple JavaScript which is been used in order to have this interactivity that is fetching the information from the input and putting that to GPD and taking the response from the GPT and putting back on the front end to view for user so this is the simple fundamental function that happens in this script section how do you run this just you have to be in the location where you have created the folder that is GPT chat app right I’ll just go back and just give you overview GPT chat app that is the location where the command prom should be pointing out then you can execute python ap. py when you do this you will be able to access a browser where it is loading in this particular address what is this address why only 5,000 why not 4,000 you might question as you all know HTTP 127.0.0.1 will always deal with local hosting when you do this local hosting you have separate ports for every library or every kind of execution you do 5,000 is the port number which is allocated in every local system for flask library of python any flask web framework code execution you do it will launch on the Chrome with this particular address hope you had a complete detailed view of how this particular application will work a quick cap you have to install Python and necessary libraries then you have to create a main python code file that is app.py then client side that is frontend interface you have to make it index.html again this is as per your requirement this is a common name which we keep that’s why I’ve used the same you can create a simple HTML interface to interact with the chat GPT then you can run the application and check for the output right so now that we have understood what is the code at the back end front end and every aspect let’s execute this code and check for the output before going to the demonstration of flask chat GPT app let’s understand the folder structure I am here in the location where my python is been installed since we’ve already worked on you could see many folders here we are trying to create GPT chat app right according to our steps we’ve already done it so if you go to this particular folder you can find two different elements one is templates another one is app what is template template is actually the index file which we had discussed the HTML file app is a main program once you execute this the back file will be created if the execution is successful or not successful doesn’t matter once you run this through interpretor it will generate automatically that’s why it is present if you’re executing for the first time this will not be there okay now let’s hop on to the command prompt and check how does we work with this here we are in the command prompt and in the location where our file is am I right no I’m actually wrong we are in the location where python is now we have to enter to the folder created what is the folder we created we have to change directory to that particular folder GPT uncore chatore app this is the folder name which we generated right let me enter to that see now we are in that folder how do we execute the steps which I mentioned we have to type Python and we have to mention the app.py or the name which you have given to your main python file you have to mention that and click on enter once you click enter after executing this app.py file this is how the output looks like are we in the right output screen no it is just indicating that it is been executing it is running the location is we have to go to http 127.0.0.1 5000 the port number let’s quickly hop on to that location on our search engine any browser you can use you can go to this particular port number let’s hop on to that once you go click on HTTP the same ID where it has been launched across you will find the interface now what you have to do you have to communicate with the GPT so I’ll press hi and click on send button it will say hello how can I assist you today the next question which I ask is how are you when you do this when you send this and just a computer program so I don’t have any feedings but thanks for asking how can I help you so this is how it is trying to interact with the human being if you try to give something which is not existing still your chat GPT is not trained to that level it is a normal basic model I’ll say where do you leave I click on the send button you have exceeded your current Kota please check your plan and billing details it will not throw up this error really if your limits are exceeded right that is when it will show this error it will try to do that error handling which I’ve already mentioned so for the third conversation itself how did we get this message you might be having this particular doubt the thing is open API API key is not very much free to everything you only have access for five worth of conversation that can happen API key that can generate that is how you can converse after it exceeds $5 it will try to ask you to fill up and select the plan and do the billing right the payment should be done for the same so this is just a simple example you can enhance create you can buy a paid version and start building the projects and help your small scale business if you own any in order to have a private chat bot so customers can interact without any actual agent service required customer service you need not take it you can use the Bots there on your website right this is a simple idea this is how the execution looks like by now we have understood how does chat GPT while using flask how we can execute what are the code required and how the outputs look like now that we have understood and also saw the demonstration how how does a chat GPT app work when you create with the help of flask Library using python now let’s check out the next topic using the same flask how do you use text to image application here the simple idea is text to image generation involves creating images for textual description using AI models you will give a simple description here we are not focusing on description we are trying to get a image for the word which we give as I told cat dog any animal or what you want to fetch for significance of this particular application enhances creativity and design processes useful in various Fields like advertising entertainment and virtual environment say you want to uh get an image you can give a description cat which is sitting on a mat or dog which is sitting on a bed you can certain description you will get images in certain way or sketched cat image drawing of a cow so you can give a certain description to AI it will generate back the output for you how do you implement this particular text to image app first is we build a web application that converts text description into images again if you want to build a web framework it is about flask then you use open AI again HTML CS is for the front end that is very much mandatory and basic what are the prerequisites you want for this first is python to be installed in your system next you have to have a required library that is flas and open API and you have to have a API key from open AI this is the basic requirements it should have in order to start off with the development of this application now let’s understand what is the code for this particular app what is that purpose and what all we use here then later we will execute this hope we are clear now let’s quickly hop on to Google collab understand more about this application here we are on the Google collab first step if your python is not installed install your python if already exist ignore simple as that again create virtual environment we already had the description about each every element of this particular code statement then we activate the virtual environment by using this particular code here next comes installation of flask and open AI it’s very important to install the libraries which is necessary for your coding first place we’ll be using pip command to install flask open AI it’s a simple statement here the code line you can just execute the same then we have to create the project directory again nothing but the new folder it is named as flascore textor 2core image if you want to put some other name it’s left to you you have to go to the folder which you have created then only you can start creating your python code file and HTML code file first thing is main python application code file which is again named as app.py it gives you a proper signification it will not mix with the previous one because the folder is different so again we have to import the necessary libraries we initializing the flask application you have to have a open API key you can replace this your open API key into your original open API key how do we do that then you have rooting which has to go that is index HTML in this HTML file you have all the designs related front and related that has been fetched and you will be rooted with the help of function call generate image as a post method we’ll be using Json post method means the response which you get from chat GPT right either it might be your user input also access a post and also the response will be also post use open API to generate image based according to the prompt which is been received the size should be only this much and the number of images generated at on should be one only then the prompt which is given by the user will be pushed to open API it will get a response and then that particular image will be displayed if you want a detailed explanation of what is every line means I have it for you you can just read it what are the different elements we use and why do we use right next you have to create this HTML interface that is the front end again you have to have a text box a button and where you print your prompt and then you will put that inside the GPT it will fetch the output on the same screen right you have to have a simple text box and a button that’s it if you want to do more styling you can more welcome use CSS files and you can do it this is a general basic setup or the front end which you need and you have a script again your function call generate image here what happens it will fetch the information the prompt from the user and then it will put that particular prompt to open API once you get the response from open API it will push back the response on the front end this is the code for the sing right it’s just an interaction code between the front end and back end we’ll be using JavaScript this is how about the HTML file we’ll be using again if you want to run this code you have to type python AP . py and you have to be on the same folder where you have created at the start if you go somewhere navigate to some other location on your command prompt and if you try to give it will not execute let’s have a quick recap here first is we’ll be installing python next library is called flask and open AI later we will create a flask application that is app.py then we will also try to include the functionality of converting text to image that whatever the text we have given related image will be provided so we have to root for that and you have to have a simple HTML interface in order to have the connection between the user and the system then you have to access and run the code start the flag server and again you have to go to the same location that is the same IP address which ends with the port number 5,000 so this will be your particular location address it will run there you can execute the same now let’s quickly check how does this work in our demo now here we are in the python location of the local system we are trying to execute flask text to image app if you try to go to that particular folder you could find the same folder structure it is having a main python code and then you also have index in the template right once it is executed back file has been created so that is why they are here this is the structure now what we have to do go to command prompt type this particular location and try to execute with the help of python app.py command so I’m copying this location completely going to command prompt and changing the directory to the copied location now we are in the folder flask text to image application which has been generated we straight away try to execute this with the help of python app.py command once we do that we will click on enter this is where the flask server is been running it is active now we have to go to the location which is mentioned right here with 5,000 port number let’s hop on to that particular location once you come to this location you could see the basic HTML design which we have made and it’s our time now to give certain description regarding the image and try to generate the image I’ll give just one line of description if you want you can in detail description so that the GPT will give you a right perfect required image as per the command I’ll try to give mountain with skylight okay so let’s mention color also that is that will be good so mountain with green Skylight this is my description of a image which I need I’ll try to generate okay this is how we got the image from the GPT it has given the lights which is in green color on the sky and mountains are right here so this is how the descriptions will be taken care of the more precise description you give the more precise image you will get as an output so this is how text to image application will work with the help of flask open AI in your python which also help to generate the images for digital content creators or any kind of creative people who work in that particular Feld let’s understand how does Lang chain apps work what is Lang chain in Python overview of Lang chain Lang chain always streamlines the development process of the application and utilize the llms by offering a extensible architecture generally simple words langin is a library of python just like numpy and others okay it supports wide range of use cases generally we use Lang chain in order to create assistants chat Bots and many complex NLP tasks and data analysis aspect this is the application of using Lang chain then the framework is built with highly customizable Interiors of the code and then we also develop to tailor specific needs and we also integrate the same tailored code or module to the external data sources using API keys this is the simple work which we do with the help of L chain app it is just that we are using this library in order to create good model which acts to be a chatbot or personal assistant or any other requirement will be catered with the help of L chain application now in order to understand more about this we will try to know the case study for this Lang chain app let’s Explore More again I’m going towards Google collab let’s understand the code and later part we execute that in the command front here you have to note one thing we are not going to the Google Chrome where the IP address ends with 5,000 we are executing this in the command prompt itself this is one of the differentiation between what we have already seen and what we’re going to see let’s let’s hop on to Google collab now here we are on the Google collab what we are trying to understand what is the case study first thing personalized story generator that means it will try to take certain inputs from the user and try to generate the story for the user this project will take inputs might be the character names settings and theme of the story it will generate unique story every time you try to communicate with chat GPT 3.5 why I’m struck with 3.5 there is four and 40 that’s coming right but when you go to open API it’s still at the 3.5 version itself it is having 16k 1105 there is some other codes that’s going on it’s just a turbo GPT 3.5 you have many kinds of models but for now it is 3.5 in open API platform not talking about the chat gbt 4 or 4.0 okay don’t get confused with that steps in order to create this project very simple set up the environment collect the user inputs generate story using AI model and display the generated story simple as that first when we talk about the installing of libraries here we have to install open AI Lang chain it is related to open AI also related to python so pip install open Ai and L chain both of these libraries we have to install then in order to collect the input from the user you have to have two different python files here so that is the differentiation previous demonstration we had only one python file one front end file we used to work with the code here you have two files what does this do first one says user input. py that means we are trying to welcome the user and take the input from the user here you could see welcome to the personalized story generator you have entered the main character’s name please enter that then enter the setting of the story and enter the theme of the story for example Adventure mystery horror anything as such return the character setting theme to the particular file called story generator. py you are taking input with the help of one python file and you are trying to give that particular collected input to another python file that is story generator P from Lang chain import chain prompt text model then use user input as I told you user input file you have to take all the user input get user inputs what is collected character name settings and team this is collected you have to take this as a input and import that into this particular story generator python file this is the function where you can just create certain story according to the inputs given by the particular user then you will have a prompt you will have to work with a text model as I told you this is GPT 3.5 turbo here and Here Comes Your open API key you have to put your secret key here and then you have to execute this particular main block it will try to give you the story generated here in the print statement generated story is so and so a paragraph of a story will be displayed for you so this is this is how the main block will get executed and these are the commands or the codes which we use every code is having a self-explanatory comment that you can read and understand once again if you don’t follow it here okay this particular learning material or code is always provided no worries you can go back rework on this again then what do you do in order to display the story you have to execute the file how do you execute story generator. py here why are we not using python we have to use Python right it should be python story generator. py that’s how it will execute simple as that you will have a quick recap here first is environment setup that is you are having python in your system you have two libraries that is open Ai and L chain then you have to have your own API key which is discrete you have to create main script that is story generat data and you also have to create a subscript that is user inputs then you have to generate the story functionality that is open as chat GPT you have to use that and you have to give them the character name setting theme Etc it will develop the story and if you execute it will give back the story which is already developed as simple as that hope this is very clear for you now let’s see the demonstration what is the output and how it will work we are trying to execute personal personized story generator which we have already discussed that we are using the library called Lang chain here it is you have two different python files one is story generator one is user input it is already explained user input is used to take the input from the user and story generator is the main app you should not execute python user input. py you have to execute story unor generator. py that’s how you will get the output screen this is kind of special execution that every output is seen on the command prompt itself we need not navigate between any other locations for output what is this py cache if you click on this folder after you compile your code this is actually generated compiled python file will be generated so that is why it is here now let’s quickly hop on to our Command Prompt and try to execute this particular code file in order to do that first what we need is we have to copy this location where it is actually situated the folder of your app now we are on the command prompt we are changing the directory and pasting the location which we copied and clicking on enter we are in the folder called personalized story generator what we have to do we’ll try to execute python story uncore generator dopy once you click on enter this is how it starts executing welcome to the personalized story generator and I’ll type a name of the main character as Alise and it will ask setting of the story where it has to happen I can say Enchanted Forest I’ll give the location visualization idea for the GPT I click on enter it should be a mystery one or Adventure one or horror one whatever you can mention that I’ll mention as adventure story I’ll click on enter see the story is generated in this form you can read the story pausing the screen but yeah it will include the main character the setting of The Story also what kind of story what is the theme of the story it will try to give you the complete paragraph which you can use it for your requirement this is how a story generator will work using Lang chain you can create much more applications this is of one basic example hope this is clear for you we have executed the code we saw the output how does the story will be generated with the help of GPT which we have connected with the help of the API key let’s make life easier with python for automation you will learn to automate rep repeative tasks and even building user friendly guis what actually testing is let me take you to that right here okay so from the one simple word which we have here testing okay let’s first of all not go too much into the uh into the technical definitions or something like that if I just simply talk about that what testing is in simple General language right what do we say testing is basically to test out something right so testing means that let’s say you are having any idea or any app or something you have developed onto your own right now you just want to test that out that okay is this a thing which is ready to go in the market is this a thing that I can give to the people or something like that right so in the same procedure in the same way when we talk about testing in software development field what we see that whenever you are developing out any software any product any component let take it as a uh website take it as a application anything you are developing any product I’m just talking about here right what we have to do we have to analyze that right we need to see that okay what are the features I have added into that right after that we need to evaluate that okay what are the components in which basically we are having the errors or the bugs that are faced out why is that necessary to do that is necessary to do so that whenever your product goes into the market it is delivered into the market it is totally free of the errors or the bugs we all are familiar with that if there okay let’s say you made out a login page let me just quickly take an example here let’s say you made out a login page right in that login page basically let’s say everything is totally and clearly mentioned and you had just attached out some data base to that as well fine now whenever you are just running that out let’s say whatever the US username or whatever the password a person is saving onto that login page that is not getting saved again and again that is showing the error and you have already sent that in the market what is that that is a type of error which is coming into your product which you have already sent into the market right so that doesn’t uh go in a right way so this is the use for testing that why you new uh used to and why why basically you just need out to do out the testing and if you have done out the testing at your end for first of all you have just removed out all the errors you have removed out all the bugs which you were having into that after that now when you were just figuring out and giving it a test in that case what you just figured out that okay when I’m entering the username and when I’m entering the password so that is not getting out saved so I just need to figure this thing error figure this error or figure this bug whatever is there into that so that whenever it just gets delivered into the market whenever a person buys out this application or whenever someone logins onto this particular page so that particular person does not faces out any error right this is what we actually want what we want is that whatever the things which we are making that are absolutely correct and if a person is using those things a person does not should not actually face any type of difficulties or any types of error in that so this is the use this is the point where you need out a testing right right now here we are just generally talking about the testing thing we are not going that you are testing for a software or you’re testing for app or you’re testing for anything we just not going into that particular thing right so when whenever we just develop out a software component or you just develop out any project we need to analyze that we need to inspect its features we need to go through the features which you have added we need to evaluate whatever the what are the components you have put onto that particular application we need to analyze we need to evaluate that are these components are these features which you have added into this application added into this product are that errors or bug free and if yes so whenever and why why basically we just need to check out that is that error or bug free so that whenever you just get whenever this product of yours get delivered into the market so whenever the user uses that product product actually so they do not face any types of errors or bugs it is totally free of any error or any bug right so now this is the point where we actually need out the extensive testing of the software if I just talk about the software or if I talk about product so this is a place where you actually need out the soft testing of the software right now when is testing done I just explained you that what testing is what’s the use of testing now when is that actually done so testing is done whenever your application is built out right whenever you have built out your application after that you just test out give it different test cases give it different databases that all we’ll be discussing in um a little while so I would just give you an idea that you just give out different test cases you just def like give it out different databases and all those things so whenever your application is actually ready okay whenever your application is completely built out and that is ready to uh ready to be get tested so in that case we just do out the testing and we just deploy that into the different test servers or the test environments which we are having so that whatever the testing is to be done with that particular application we could just perform that out right let me just again quickly go over that what testing is and when is that done and why do we need that so once you develop out a software component or a product so we have to analyze and inspect its features and also evaluate the component for potential errors and bugs so that when it gets delivered in the market it is free of any bugs and errors it is the point where we need extensive testing of the software right and when it’s that done so testing is done when the application is built is ready to test and deployed in the test servers or the environment right this is what we uh I could just let see about the testing that testing is basically to test out its features that do you have any errors or bugs if yes then to clear that out and if no then it is absolutely ready to go into the market and it’s totally free of bucks and errors right hope you first of all just got the idea regarding what is testing now we’ll be discussing out that what manual testing is so we discussed already we had seen that what is testing now there are two types of testing which we have here in the selenium first of all is the manual one and second one is the automation so here we’ll be discussing about the manual testing let’s get started it let me just move on to the second one fine now um again I would see you that let’s not go to much into the technical things right here let’s simply understand that what is a meaning of word that is manual if I talk about talking manual in a simple English language so I would say manual means that anything which is done manually right anything which is done by you done by manually that simply talks about the manual and if I talk about testing so this is one thing which we have already discussed that we just imp Implement out the different test we just Implement out the different features we just do all of these things to make our product error and bug free right so here if I just say if I just combine the simple manual and simple testing things so I could just say without any technical definition or without any further like that things I could simply say that the testing which is done manually is called a manual testing isn’t that simple right yes that is so I would just request you not directly go into the technical definitions first of all try to analyze that okay what is the name of the topic simply the name of the TP topic is manual testing manual means anything to do that is manually testing you already know to test out your software to test out your products whichever you had made so that whenever they just get delivered into the market they are totally bug free right so this is where uh this man testing definition comes now if I just talk about the things in a very detail so I would say um that manual testing means that uh the application which you had made out the application which is actually developed by you the product which is developed by you so here will be particularly talking about the application okay so now from here onwards i’ be taking the word which is application so manual testing means that the application which is basically the application which is made that is tested manually by the testers this is simply what is there in the manual testing right so whenever you had made out any application and you just test that application manually right so that is actually called as manual testing now when you are doing out the manual testing so in that case what are the things that are to be performed so the test which are there actually they need to be performed manually in each and every environment using different different data sets in the starting as I mentioned about the data sets right that we take at different different data sets and even we just give out some test cases and then try to implement out the and test out our software manually test out the product test out the application actually manually right so whatever the test you are performing manually that is done under the manual testing whatever the test you are performing they need to be performed manually in every environment which you are having right now in every you’ll be giving out different different data sets after giving out that different data sets you will even note down the rate of success and the failure okay whatever the transactions you are giving whatever the data sets you are giving for each of the data set you will be noting down the success and the failure rate that all will be recorded right this is what happens in actually manual testing let’s say you develop out an application right let’s let’s that you just developed out any application in that application if you are if you just want to test that out so if you are going to go through the manual testing procedure so first of all you need to test that particular application onto every environment which will be having different different data sets for every environment and even you will be noting down what is the success rate and whatever the what is a failure rate for each of the transactions for each of the data sets on which you are performing out the things this is what is actually done in manual testing right all of the things are recorded but this is all about the manual testing first of all that what it is and how we just do out that particular thing next when I talk about manual testing so I would say that it is absolutely mandatory means it is very important it is important for uh every new developed software being before automated testing so now whenever we are going on and we just let’s see just developed out any new application you just developed out in new new software in that case it’s mandatory to go for first of all for the manual testing then go for the automated testing I would like it is mandatory for every new developed software to go under manual testing before the automated testing what is this automated testing that we are going to discuss in some few minutes right so let’s not go that too much into detail onto this automated testing but the way which I had told you that is uh breaking out the vs which is so you just break out the word automated testing into two parts first one would be automated and second one would be testing so if you are breaking out both of these and figuring out that what’s the meaning then absolutely you are right the definition which you are thinking for the automated testing that is absolutely correct right I’ll be proving this thing in within a some time right first of all let’s discuss about manual testing in detail now what happens in manual testing when you are doing everything manually you are uh testing in every environment you are testing on different data sets you are giving it different cases you are noting the success rate you are noting the failure rate all of these things when you are doing so that will absolutely require a lot of time and even a lot of efforts are required but when you are doing anything or manually when you are doing anything onto your own when something is tested manually by the testers so yeah it absolutely gives you the short of a bug free software because the machines are not too much that much automated that okay they give you the shorty of a bug free software but if you are doing anything onto your own so yes that gives you a complete short of a bug free software so if I talk once again about the manual testing so in that manual testing means the application the web application whichever is made by you or any application is tested manually by the QA testers so the test which you are performing that needs to be performed manually in every environment using a different data sets and the rate for the success and the failure transactions should be recorded as well why is manual testing so manual testing is mandatory for every newly developed software before automated testing this testing actually requires a great effort and time as well but it gives you the bug free software shity of a bug free software right this is about the manual testing now if I talk about the challenges that what are the challenges that manual testing is faced now there must be some uh challenges some limitations in the manual testing right that is the why we just in we were introduced to the an automated tool which was selenium right there should be some there must be some challenges in this particular testing and this was only the reason that why any automation testing was actually introduced used right let’s see that what are the challenges in the manual testing first it requires more time and more resources absolutely right thing so when you are doing anything manually right when you are doing anything manually that will absolutely require more time within if anything is done using any automation tool right so this was one of the challenges which was uh faced in the manual testing that it was actually requiring a more time and even the more resources as well right gy object size difference and color combinations Etc are not easy to find in manual testing so whenever you performing manual testing so in that whatever the GUI objects you have made out whatever the color combinations you had put on whatever the size differences you are facing what are the different color combinations you were trying to figure out all of these things are actually not easy to find in the manual testing right these are the things which are not really easy to find out in the manual testing right after that executing the same test again and again it is time taking process as well as tedious absolutely right so um let’s whenever you are just do out the things onto a manual testing so what we had seen there we saw that in manual testing what was happening first of all whatever the whatever the application you want to build out that was actually built after that when the test test were performed so in that case what was happening in that particular case whatever the test was done that first of all they were done in all the environments after that different different data sets were given off all that and after that different data sets you were needed to put down the success rate you were needed to record down the failure rate and all these things were actually done so these things were done manually so it was a time a very much time-taking process to do out the same test again and again same test again and again execute the same test so yeah it actually takes a lot of time and yeah that’s as well a little difficult and a little hard process as well so these were the three challenges which were faced in the manual testing so first of all it requires more time and more resources second the GUI object size difference and the color combinations are not easy to find in the manual testing and third executing the same test again and again is time taking process as well as TS right so here we discussed about the manual testing and the challenges now i’ be introducing you to that what is automation testing what do we mean from this term now again I just I would just not want you to quickly read out the slide no I do not want you to do out this thing first of all uh according to in simple English language think about what is actually automation automation means to automate any anything us using any machine right automating means to automate something and testing this testing we already are familiar with that what testing is so as basically we have that autom in automation testing we already have a framework we already have a tool set according to that only the test whichever are to be performed on whatever the applications they get automatically performed so in that you do not need to put down the rate of success the rate of failure you do not need to manually test on each and every data sets you do not need to manually give it on all the environments no these are not the cases which happen in automation testing automation actually on its own means that anything which is done automatically right so in this automation testing whatever the test you carry out all of them are actually done automatically right so let’s read out that as the name for the suggest automation testing takes the software testing app activities and executes them via an automation tool set or framework as I mentioned in the starting as well that in automation testing what happens in automation testing we just you just take out a software whatever software testing activities whatever you just want to do and we simply execute them uh through a automation tool set or a framework we already have so we just put out the things onto that automation tool set or framework and whatever are the test which you want want to perform for any software or any application whatever is done by that you could just simply perform those test onto that now if I just talk about in very simple words that what automation testing actually meant so we can say that it is a type of testing in which a tool which you have right that executes a set of task in a defined pattern automatically automatically is a essential word to add in the automation testing definition right right now this this is a type of a testing in which uh a tool automatically executes a set of tasks in a defined pattern which is automatically defined and it automatically performs and executes the set of task which are given to that right this is what comes in the automation testing now where is this method actually used out this automation testing method uses scripted sequences that are executed by test in tools already we have many scripted things written out here we have already scripted programs written out for this automation testing method we just simply use them out and they are executed by the testing tools which we have here right this tool execute examinations of the software report outcomes and compare the results with the earlier test runs now what are the things that automating testing tools can do so in that case it can execute the execute examinations of the software it can basically whatever the outcomes are there it can report that particular outcomes and even it can compare the result with the earlier test runs which were actually made out it can compare out that test and we can just see the comparison in the results for whatever the earlier test runs which you have carried out right this is what uh is here in this automation testing thing that what it what it does actually does so it executes the examinations of the software it reports the outcomes and even it Compares out the results with the earlier test runs right this is about the automation testing if I give you an overview for the automation testing so we can say that as the name suggest automation testing takes software testing activities and executes them via an automation tool set or framework so we have have a tool set of framework through which this automation testing actually takes place if I talk about this thing in much simpler words so I could say that it is a type of testing in which a tool executes a set of task in a defined pattern automatically so this automation testing method basically in this we use the scripted sequence that are executed by the testing tools and these testing tools what they do they help us to execute uh the examinations of the software the report outcomes and even compare the results with the earlier test runs right so hope you just got out the idea first of all regarding that what is manual testing what are the what were the challenges faced in manual testing that why we need to introduce the automation testing right after that the challenges we simply learned about that what automation testing is now in the next part of the video we’ll be discussing about the selenium in detail we’ll be going through the introduction to selenium so now we’ll be discussing about and I’ll be taking you through the introduction to selenium now this is the place where actually we start the selenium thing so let’s get started here let me just take you to the new slide and here we go uh first of all we’ll be going through that uh who introduced selenium that basically who is the founder or you can just say that uh who developed selenium after that we’ll be seeing that how that things are done and what is actually this selenium right so the selenium was introduced by Json Huggins in 2004 right so uh we can just say here that selenium was introduced by Jon hins in 2004 so he was an engineer at thought works so basically how does this idea coming for introducing something some automated tool so what he was actually doing he was doing his work on some web applications right he was just test making out some web application doing some work on his web applications suddenly he just required out some testing technique right he just suddenly required that okay I just need to go ahead with the testing on this particular web application which I am making now doing out the manual testing absolutely takes a lot of time a lot of efforts as well which we had already seen in the previous slides that manual testing takes first of all a lot of time and even a lot of efforts why because there which are the test which are actually there they are carried out manually first of all after that the test are performed on all the environments you need to put different different test cases for that after that whatever the rate are of the success or whatever the failure rates are there you just need to note them down and then just come to an output this is the thing which happens in manual testing and this is absolutely a long procedure a hard procedure and a lot of time-taking procedure so then basically just on how thought that there must be some tool in which we in which some automated things should be there so as to do out the testing in a easier and in a faster way so this is where Jon Huggins introduced selenium as an automated tool for the testing Frameworks right so if I just quickly talk about that who was who introduced selenium so name for that person is Jan Hagins he was an engineer at thought works so some one day he just thought of working on some applications and he required testing so at that case only he just developed out and introduced the selenium and automated testing framework or you can say as a tool right now whatever testing we do with the help of a Cel with the help of selenium or using selenium that are called a selenium testing again from the word it actually states that particular thing what is about the selenium testing so the testing which is done using the selenium right whatever the test which we perform using the selenium tool that are referred as selenium testing now what selenium actually is so it is an open-source tool first of all where you first thing that it is an open- Source tool a portable framework which is used for automating out the test administered on web web browsers see selenium is one of the first of all open source tool that is absolutely okay a portable framework that you could just use it at any place that is as well okay this is particularly used for automating out the test which are administered on the web browsers actually senum works on different different web browsers it has that capability to work upon different web browsers right whatever the test we have so basically it is actually used for automating out the test which are administered on the web browsers what are the testing uh web applications on which you can perform selenium on which you can just use out this uh framework which is selenium so that testing web applications are a shopping carts you can email programs like Gmail Yahoo all all these cases in all these places actually you could use out the selenium framework so first of all it is very open source tool so basically it means that you could just simply download that it is it does doesn’t ask you for giving out any paid work version or something that it’s totally available free of cost after that it’s a portable framework so you could just use that at any time at any case and this is used for automating out the test administered on the web browsers the testing app web applications which can be performed using selenium our shopping carts or email programs like Gmail yah these are the things which are actually performed using the selenium so hope you got the idea first of called that who introduced selenium so Jon hins was the person who introduced selenium in 2004 so who was he he was an engineer at the thought works why and how did he got out the idea for developing and introducing this selenium so he was doing some work on some web applications and suddenly he required some testing technique manual testing was a very uh long a very time-taking task and it actually requires a lot of time to do out that particular thing so this was a place there was a requirement and when Json Huggins developed selenium and automated testing tool so whatever the testing you do with the selenium these are termed as selenium testing and what is that selenium actually so it is an open- Source tool a portable framework which is used for automating out the test which are administered on web browsers it is only used for testing out the web applications such as shopping carts or email programs like Gmail Yahoo shopping carts you all are familiar with and nowadays everyone just prefer out shopping online and all those things so yeah these are the applications where you could just use out the cenum now why we should use selenium with python in the starting as well I told you that selenium is one of the tools which can be performed with the help of Python programming language and you could as well go ahead with the selenium tool when with the JavaScript as well so now what’s the use and what’s the advantages more which why and we should use cenum with python so let’s go and see that first of all we are all familiar with the Python programming language and there is no such doubt in saying that this is one of the important features of python that it is very faster and even easy to learn as well right it is a very simple language so this is the first reason that why we should prefer selenium with python so py python runs very faster absolutely right it is a very faster language it makes the use of indentation to initiate and end block so the indentation which we have in Python that is a very systematic thing even you just need to follow out as well very strictly so what what basically let’s say you just applied out some condition so when you just apply out that first of all conditions and whatever the block of code you want to uh apply basically inside that condition so first of all your condition comes on the first line and when you come to the next line so there is some space left in the starting after that you start putting out your code of block which you want to put inside that condition this is what indentation is and it actually helps us to see that okay where this particular code of block is ending where this particular is starting so it make us easy to analyze all of these things and this is why uh the use of indentation we be see right next it is very simple absolutely right the syntax which we have in Python is very much simple as well as compact yes the start simply and as well as very much compact compared to other programming languages hope you all are very much familiar with python for now so you must be very much familiar even with the features which I just told you it is very much fast to the indentation which we have here it is very simple to use as well as compact other if I just compare this with the other programming languages so these is the first reason that why we use the selenium with python second thing we have a tool which is called as web driver in actually selenium we have this tool right web driver this is a very important tool in selenium we’ll be discussing uh about this in the further videos right now for this particular thing you could understand that okay web driver is a important tool in selenium so this tool which I was telling you about web driver that has a very strong bindings of Python programming language actually right so uh this is the important tool for easy user interfaces that is web driver and it really has a strong bindings for Python programming language so this is one another reason that why we prefer selenium with python moving towards the third it runs rapidly while making a comparison of another programming languages so that is true that python actually runs rapid while making out a comparison of any other programming languages right the programming language is as well free and available as open source absolutely true so python is as well an open- Source language right whosoever needs that you could some just simply download that and use it freely in any of the environments yes this is as the case it’s not the case that you just particularly need this only environment to work for python no you could download any of the environments of your choice and there you could just download the Python programming language and simply you could just use that out so it’s we can say that it is as well free available as open source and you could simply download and use freely in any of the environments according to your choice and the last one it is easy to code and easy to read that is one of the important points one of the important features as well of the Python programming language that it is very much e easy to code out and even easy to read out right so hope you now just got out the idea regarding these Five Points these five reasons that why selenium with python let me just quickly give you an overview so python runs very faster and makes use of indentation to initiate and end blocks it is very simple as well as compact as compared to other programming languages right we have a very important tool which is web driver in selenium and that has the strong bindings for Python programming language Python programming language runs rapidly while if you just compare this with any other programming language so it runs rapidly this language is as well free and available as open source so if you just need out you could just quickly download that and freely you could just use that on any of the environments and at last it is very easy to code and the the syntaxes the programs which you write in Python program language that are easy to read as well so these were the five reasons that why we prefer selenium with Pyon now here basically we’ll be we have discussed about that what uh selenium is and why we should prefer selenium with the Python programming language in the next set of video we’ll be seeing about the advantages and the limitations for the selenium testing now we’ll be seeing that what are the advantages for the selenium testing let let’s go ahead with that first of all uh the very first Advantage for the selenium testing is that it supports the various programming languages to write the test scripts as mentioned by me in the previous video I had already told you where we discussed out the topic that why selenium with python there I mentioned that selenium is even um you can just do out the selenium testing with the other programming languages as well I took out the example for the JavaScript right so the same advantage is mentioned here that uh for writing out the test scripts there are many programming languages which are supported so whatever you are whichever language you are familiar with you could absolutely choose out that language and go ahead with that for writing out the test scripts another very important advantage and even I could just say a very good feature for selum is that it is supported on the various web browsers as well you could take M Firefox you can just go on to the Google Chrome whatever web browser you are actually using out the selenium is selenium actually supports out many of the and various of the web browsers right let’s say you take uh Firefox you take Google Chrome or any other whatever you just want to take out you can just as well go ahead with that same next it supports the pal test execution now what P test execution is in detail I’ll be discussing further for now we could just understand that uh selenium as well supports out the parallel test execution it means I could just give you an overview that parall you could perform many test onto a particular application uh this is I could just say a simple um definition regarding the parallel test execution right so selenium actually supports out that particular thing one another thing which is as well mention into the definition for the selenium as well that it is an open- Source software so you could just use that accordingly whenever you just wish out you could just download that and use it accordingly and it it basically it’s a totally open source software right next selenium as well supports out the different operating systems we mentioned I mentioned and told you that it supports out the various browsers with the supporting of the various browsers it as well supports and works on different operating system you take Windows you take Linux you take Mac whatever you just take out it supports all of these operating system right so these are some advantages of the selenium testing now what are the limitations as well I mentioned the starting that if something is having advantages it will absolutely have some of the either limitations so let’s see what are the limitations of selenium testing so I mentioned that it works on the web browsers right I mention out this particular thing so this is one of the limitation of the selenium that it only and only supports out the web based applications right whatever the application you are making it only and only supports out the application which are web based which are which basically work upon either Google or MOA Firefox it just simply supports out those web based applications only now whatever the new features are getting introduced into the cenum testing whatever new features are getting introduced they do not have aurity that they will work or not work right they may work out sometime they may not work out sometime so this is one of another limitations which is right now right right now these spacing for the selenium testing right and here are some important uh last three limitations about the selenium testing you can see that there are some used cases where the selenium doesn’t works out the selenium testing actually doesn’t works so first of the selenium cannot perform testing on the images the very first thing that it cannot perform out any of the testing onto the images the the code which is written behind this testing and all the things so that is not supports the testing on the images you you cannot automate out the captures using the selenium captur right now in today’s world right now everywhere we see out the captas whenever you just log in onto any of the web browser so you just any of the website they ask for the captas to fill out that right so selenium cannot automate that so capts are not at all automated using the selenium and at last that barcodes cannot be automated using selenium neither the Capt nor the barcodes NE neither of these are supported and can be automated using the selenium right these are some limitations for the selenium testing hope you got that but once again let me go over them so selenium supports the web- based applications only so whatever the applications you are having selenium only only supports out the web based applications it doesn’t supports out the applications which you have made onto your any of the environment or something like that it doesn’t touch that thing okay second the new features which are getting introduced so they are a little bit of ir responsible in that case we just have a doubt sometime that either they work or they may not work we are not too much or that much confirm about them so this is what we can say the irresponsibility of the new features now whatever the the selenium whatever basically selenium cannot perform out the testing on the images so if you just want to perform any test on the images so in that case selenium cannot do out that particular thing right the captures which you have these are not automated using the selenium and the barcodes are as well not automated using the selenium right so these are some of the limitations of the selenium tools finally we will cover GUI development you will learn how how to create interactive desktop applications using libraries like TK inter we will guide you through building your own GUI applications from scratch making your programs more userfriendly and Visually appealing so let’s start with graphical user interface so as I already told you about graphical user interface it allows the user to communicate with electronic devices through graphical representation when I’m talking about graphical representation stag means buttons and icons so the example of GUI is micro moft Windows as well as Mac OS and we are having several other examples also so basically what happens here here you can do the communications by interconnecting with the icons so this is the basic idea about graphical user interface now let’s see different types of graphical user interface libraries that are present in Python so we are having several libraries that are used in Python for the GUI we are having DK inter we are having KV Pi qt5 WX Python and Pi GUI so now let’s get some idea about TK inter so python TK inter is nothing but a standard GUI Library so basically when python is used in conjunction with TK inter it creates graphical user interface that is quick and simple also it gives the TK GUI toolkit a sophisticated object oriented interface so this is the basic idea of TK enter you just need to know that it’s a python GUI library and then we will see how to create a TK enter programming so now if you want to create a simple GUI application with python in TK inter so there are some certain steps that has to be followed first you have to import the module of TK inter right so you can just simply write from TK enter import srick and then you can import the TK enter module Second Step that we have to follow we have to create a main window then how to create a main window we will basically create a object of python TK in next after creating the main window now we can add multiple vets in a main window and after adding vets now we can enter into the main event Loop to perform action so now there are two primary approaches that user has to follow right so first as I already told you that you have to import the DK inter module and the module name is from TK enter import as so after importing the TK enter module now what we have to do we have to create a main window so how to create a main window I will just simply write here main window that is nothing but a variable so for creating a object I will just write here TK and parenthesis make sure that your T is capital and then in order to run the application I will just right here main window. main Loop so basically main Loop is nothing but an infinite Loop right that will run your application and then it also waits for an event and process it as soon as the window is open so this is the basic idea about how to create a basic python application with GUI now let’s see into the Practical example so what I will do now I will just write here from TK into import a so this is the basically TK inter module that I will import here and then after that I will create a main window so let me write here variable window and I will create here the object so for creating the object make sure that he is capital and now we’ll just simply write window. meain Loop so we know that main Loop is infinite Loop that will run the application so if I’m executing it you can see that we have created a simple GUI application right so this is the basic idea about python T so now you have seen that how to create a GUI app now let me here change the title so if you’re executing it now so on execution you can see that I am getting here TK right and if I want to give the title instead of TK great learning so I will just simply write here window do title and I will write here welcome to cre learning so now let me execute this and on

    execution you can see that on top we are getting welcome to create learning as a title so after this let me change the window size so I’ll just write here window do Min size and I will just write here let’s suppose bit as 100 and height is equal to 200 so if I’m executing it now you can see that this is the minimum size of this window and if I’m clicking on this button maximize then you can see that this is the maximum size so let me change the maximum size also so for that I’ll just write here window so I will just write here window do Max size and once again let me give your width is equal to Let’s suppose 3 00 and let’s take the height as 800 so on execution if you see this is the minimum size of the GUI app and this is the maximum size right so this is the basic idea about python TK inter so after creating first GUI app now it’s time to know about widgets so what are widgets so talking about widgets in general this is basically an element of GUI and in TK inter widgets are considered as a objects which represent buttons frames Etc so basically TK offers many controls and these controls are nothing but known as vets which we will be using GUI applications right so as I already told you that it represent buttons labels and text boxes so we are having different types of wigets that are available in DK enter that is label button entry check button canvas frame and many more so this is the basic idea about wigets so now let’s understand the geometric configuration of wigets so we have already got the idea about vget but if you want to organize the Vets so we need a geometry manager classes so primarily we are having three types of geometry manager classes that is pack grid and place so after adding viset I have to organize the widget so I will be using these three geometric manager classes so the first one is pack so when you are using pack functions it means that you are placing a visit on a top right coming to the grid it is used to organize the visit in the table like strcture so when I’m talking about table like structure that means row and column next we are having place so it is used to organize the visit at specific positions so I just write here X and Y so we if you are writing let’s suppose X is equal to 20 and Y is equal to 40 so that means from left to right you are placing a particular viget and now coming to the Y that means from top to bottom you are placing any viget so this is the basic idea about the geometric configuration of wigets so now it’s time to discuss about the different types of vets that are present in Python TK inter so first vet that we are having is label so when you are talking about label basically it is used to represent display box in which image or text is added so what’s the syntax of label so I will just write here simple label and in parenthesis I will write here Master comma options is equal to Value coming to the master master is nothing but the main window that you have created and here we can provide several options as an or so we can write in options BG command font image width and height when I’m talking about BG that means it’s a background right and also we are having FG also FG means foreground color so when you are writing FG is equal to Blue so your text will be of blue color right so this is the basic idea about the label widget now let’s see it into the Practical example so what I will do here right now once again I will just import the TK inter module so I’ll just write here from TK inter import as trick and then after that I have to create my main window so let me write here the variable name window and I will create the object s DK now I will just simply add widget here so I have to add here label widget right and we know that after creating the main window only we can add widget here so let me write here Elvin is equal to label so this is my label vidget right so in label here I have write here Master what’s my master master is nothing but the main window so I’ll just write here window and then in options I can leave several options so let me write here options let’s suppose I’ll just write here text and I will write here great learning [Music] so this is the label right and also if I want to organize the visit then I have to use the geometrical configuration right so let me use use here first el. pack and if you want to run the main application then I have to write here window do main Loop so if I’m executing it now so on execution you can see that create learning has been printed on the top of this window right in middle so this is about the pack geometry class now after pack if I’m just using here let’s suppose grid so we know that grid contains rows and columns right so what I will do here I’ll just write here row is equal to Z and column is equal to Let’s suppose one now if I’m executing it so on execution you can see that great learning has been printed here so as of now we have just started doing the coding so as soon as you will write more code then we can change the row and column also and then we are having one more geometry class that is place right so I’ll just write here place so basically in place if we want to organize the widget at any particular place so that we can give here X and Y and let’s suppose if I’m writing here x = 5 and Y is equal 10 so basically this is the position when I’m writing x equal to 5 that means from left to right you are placing your visit similarly when I’m writing your y equal to 10 that means from top to bottom you’re placing your visit let me execute this so on execution you can see that date learning has been printed if you want to place at any other position so you can just write here xal to 50 and Y is equal to Let’s suppose 100 and if you are executing it you can see that we are getting the output like this so this is the basic idea about the label widget so now let’s suppose we have already created a label widget of text grade learning right let me execute this so if you see this is a create learning here now if I want to add here the background color along with the foreground color then how to add it so I will just simply go on here options and I will just write here let’s suppose background color I want in blue so I just write here blue and and for foreground color I’ll just write here Simply Red let me put this blue under double quotes So now if I’m executing it you can see that on execution this great learning so foreground color will be in red color and the background color is of blue color also if you want to increase its width so you’ll just write width is equal to Let’s suppose 40 and now if I’m executing it so on execution you can see that its width has been increased so this is the basic idea so in label viget you can add more options in the form of background foreground image font many more yeah so after knowing label now if I want to add any image on my GUI app so what can I do so let me execute once again this so if you see here let’s suppose if I want to add any image here so what shall I do so first what we’ll be doing let me just remove this let me write here the variable name as I and I will just use here photo image so you can also see that is showing the photo image option right so inside this photo image what I will do here I’ll just write here file and if you see here so let me take a file from the desktop so if you see here this is the file basically and it’s in the and it’s a image file right so I’ll just go on properties and if you see this is the location so I’ll just copy this and the file name is python right so the image file is having the name python so what I will do here I just simply first put double quotes and inside that I have just copied it and pasted the location and the file name is python right so I’ll just write here python Dot and it’s in the PNG file so I’ll just write here python. PNG now so now instead of this back slash we have to just replace it with the forward slash so I will just write here here like this so now after this what I will do I will create a label so I’ll just write here El is equal to label and inside this label I have to first put Master right so my master will be here the main window so I’ll just write here window and then I will write here option so in option I will just write here image and what’s the image here so image is equal to i1 so now if I’m doing execution so on execution you can see that I am getting nothing why because I have to use here geometrical classes right so for that I will just write here let’s suppose el. pack so now you can see that in output we are getting the TK enter image here so this is the basic idea about the label wiget so the next widget that we going to discuss is button so basically button is used to display button in an application and it’s also having a very simple syntax we have to just write button make sure that b is in capital and then instead of Master our main window will be there and in options we can pass several arguments such as BG command font image width and height so here we can also use command so when you are writing command so basically when we are creating any function we will just assign that function name into the command we will understand better while doing the coding part so now let’s see the practical implementation how to create a button so for creating button I just simply write here let’s suppose B1 is the variable name I’ll write here button and I will write here window so window is my main window right and after that let me write here text so if I’m writing here text is equal to into and again I have to write here B dot I can use here pack I can use here place I can also use here GD but let me write here back now if I’m executing it you can see that this is my enter button so let me give here again the color so uh in background let’s suppose if I’m taking it as a green color and for foreground I will just take as yellow and now in execution you can see that this enter button is having foreground color as yellow and background is green so now we have seen that how to create a button widget now let’s see how to create an entry so what is entry so in entry let’s suppose if I have created a widget that is label widget and it name is username right and I want to give the entry through the user right so that’s why I will create an entry where I can write the value in the form form of a string as well as integer values too so let’s create entry here so I’ll just write here even variable and for entry I’ll just write here entry and in entry I’ll just write here window and then let me give here the width also so let’s suppose the width of this entry is 20 so I’ll just write here even do back and now I’m executing it so you can see that on execution I am getting this entry right so here I can write here string value as well as integer also so how we can use this entry so let’s suppose if you are making any website right and for that particular website uh if you want to access it you need username and password then we can use entry there and we have to create button also for that so let’s suppose that if you want to change the font style here so what I will do here I just simply write here font is equal to and uh let me write here Cali and let’s suppose that font size I want 20 so I’ll just write here 20 and now if I’m executing it you can see that the size has been increased so now if I’m writing here G it’s in Cali right now what can I do here if I’m writing here BD is equal to 5 so what is BD here so BD is nothing but it is used to represent the size of the border so when I’m writing your BD is equal to 5 then you can see that we are getting the entry button like this right so this is the basic idea about the entry so let’s make a simple GUI here so what we going to do first we going to create a label and after that entry and then we will create a button so in label I will be taking the name as employee name and entry I will just give any string values and when I’m clicking on submit button so what will happen whatever the string value that I have given in entry will be displayed so basically I will be using two labels here the first one will be having the name as employee name and another label will be having the name as nothing so whatever the string value that I’m giving to entry and if I’m clicking on submit so instead of nothing that value will be shown to us so this this is the basic idea so let me create a simple GUI now I’ll just once again write here from TK into import asck and now I will just create a main window let me give you the title also so once again I will just write here window. title and I will just write here welcome to Great learning and then and let me just uh write here window minimum size so I just write here width as let’s suppose 200 and then height I will just write here 400 so for the maximum size what I will do here here I will give the width as 400 let’s take the double of the minimum size and then height also I will write 800 and let me write here window. mean Loop because if you want to run the application then you have to write it right so so you can see that this is my output and this is the minimum size and the maximum size is this one and here on the title I’m getting welcome to create learning so these are the things that we already know right so let me create a label view so for label I will just write here L1 is equal to label and L1 is my variable right so inside this label let me write here master so Master will be here my main window and now in options uh let me write here text so in text uh let me give here let’s suppose employee name and then uh let me also give here foreground as well as background color too so foreground color let’s take here blue and background color as let’s suppose I will take as red and since this is a label basically it’s a widget so I have to organize this widget so for that I will just write here elen dot I can use also your pack but let me use this time place so in place I can place my vet at any specific position so uh let me take here x is equal to 0 and then Y is equal to 10 and on execution you can see that this is my label which name is employee name right now let me create an entry button here so for entry button I will just simply write here even is equal to entry where even is my variable and once again I will just write here window and uh let me give the and let me give here the font so I’ll just write here font so in font I will just change the font style so let me change the font style to Corbell and uh let me give the size as 18 and let’s use bd2 so why we are using BD so as I already told you that BD is used to represent the size of the borders right of an ENT so if I’m writing here BD is equal to 5 so let me write here even do entry so now what I will do now I have to place this entry right so I once again I will write here even dot let’s use here place and let me use here x is equal to 40 this time and Y is equal to 10 and if I’m executing it just now you can see that I’m getting this output right so it’s not coming perfectly so let me just adjust the size here so instead of 40 if let’s suppose if I’m writing here 80 and now if I’m executing you can see that I am getting here employee name as label and this is the entry right where I can write any name okay so let’s create a button also so for button I will just simply write here B1 is equal to button and let me give here the master as window and an option I will give here once again the text is equal to Let’s suppose enter let me give here the colors also for this button so for foreground I will use yellow and for background let me use green here so now we have to to organize this button wiet also so for that I will just write here B1 do place and let me write here x is equal to let’s take here 100 and Y is = to 40 I’m just taking random values here now if I’m executing it you can see that I’m getting like this one right so let me just rearrange it if I’m writing here x is equal to 120 okay now it’s coming in between and let’s take the Y value as 60 now it’s coming perfect right now if I’m writing here let’s suppose gorov and if I’m clicking on this enter you can see that nothing has been happening right so what I will do now I just create another label and this label will be here and I will just write here nothing now after that whatever the string values I’m writing here in this entry and if I am clicking on this enter then this instead of nothing the value must be the same that I have given so for that what I will do let me create another label so I’ll just write here L2 is equal to label and I will just write here window and after this I will just write here text is equal to nothing and let me give you a foreground as let’s suppose uh black and background let’s take background as brown and let me place this visit so I think X will be 120 here I will be taking and Y let’s take here 90 or let’s take 100 and now if I’m executing it you can see that label is not defined because L has to be Capital here now it’s good to go so on execution you can see that I’m having the another label as nothing now I have to do something that if I’m writing here gorov and clicking on this enter button then it should work right and instead of nothing I want here the value as cor up so for that what I will do here let me create a variable so now after this what I will do here uh I will just create a string where so let me create a variable V is equ Al to string where so when I’m writing here string where so basically that means we are dealing with the string values right so after creating here string where one so now what I will do here inside this entry in options I will just write here text variable and it will be equal to V because we are dealing with the string values right now I want that my button should work so for that I will create a function so whatever the function you are creating let’s suppose a function name is attech then I can use the binding functions and I will write here in button command is equal to attech attech now how to use this atte so I will create a function basically so I’ll just write here DF at Tech and now after this I will just simply write let’s suppose my variable is V right so if I want to get any value I will just write here V dog so let me create another variable X is equal to V dog right and now after this I’ll just simply write here so now what I will do here uh I just want to print this value so I have to write here print X now here as I told you that I have created two label the first label name was Employee name and another label it was written nothing so I told you that what whatever the value that I am putting into the entry it should be changed in the label whose name is nothing right so I’ll just write here L2 and I will use here config function and inside this config I will just write here text is equal to X now what will be your x value here so I have WR here x is equal to V do get right and V don’t V is equal to string where so basically we are dealing with the string values so now what I will do here I’ll just execute this and let me write here let’s suppose gorov and if I’m clicking on this enter button you can see that I am getting gorov here right and also if you see the output I’m also getting gorov in the output why because I have written here print X so now let’s make some few more changes here the name has been changed from nothing to G of and let’s change the color also so how you can change the color so in this config function itself I I will just write here background as let’s suppose um yellow and then foreground as let’s suppose blue now if I’m executing it so let me stop and rerun this and this time once again if I’m writing your gab and if I’m clicking on this enter you can see that the name has been changed along with the background color as yellow and for forr as blue so this is the basic idea about the label widget entry and the button right so this is a very simple GUI application so the next visit that we are having is check button the check button is used to show a selection of choices as check boxes let’s take an example let’s take an example of male and female we can use them as a check button now let’s see the syntax so the syntax is simple you have to just write the check button and inside the parenthesis your master will be the main window and then there are SE several options that can be passed through as an argument we can have title background as well as active background so this is the basic idea about check button now let’s see the Practical implementation so now you can see that this is the basic TK inter programming now what I will do here I will just create a variable here let’s take CV and I will just write here check button and inside this I will just write here window and then I will just write here text so as I was explaining about we can take the example of male and female so just let me write here male and then I’ll just write here CB dot let’s use your pack and now if I’m executing it on execution you can see that I’m getting mail as check button right so this is my check button so the next visit that we are having is frame so basically frame serves as a container and it is used to organize the visits now what is the syntax of frame it’s again simple you have to just write frame and and then master and then options so here as a argument we can pass several options such as BG BD cursor width and height right now let’s see the Practical implementation of this Frame so now once again I came back to py charm I just simply write here F1 variable let me create here frame and inside this I didn’t pass any Master neither options so I’ll just write here f1. back FS2 is equal to frame and I will just write here f2. pack now if you’re executing this then nothing will be executed right so what I will do now I will just create here let’s take an L1 that is label I will create here and inside this I will pass F1 as a master and then uh let me take your text so I’ll just write here text is equal to Great learning and if I’m writing here L1 do pack now so let me execute this so on execution you can see that I’m getting great learning now I will just create another label let’s take L2 is equal to label so I will just write once again here F2 and then let me write here text is equal to B and I will just simply write here L2 do pack so now if I so on execution you can see that I’m getting bottom so here you can see that basically I’m having two frame right dat learning and bottom but I want the bottom to be printed on the bottom side so for that what I will do here uh you can see this I have written here f2. back right so I’ll just write here side is equal to and I will just write here bottom and bottom will be in capital so now if I am doing the execution so on execution you can see that create learning is on the top of the window whereas whereas bottom is on the bottom side of the window right so the next visit that we are having is list box so list box is used to give a user with a list of options so basically in a simple word you can say that list box contains a list of options and as we know that list can contain different types of data values so so list box will contain a different list of options so next we are having syntax so what’s the syntax of list box once again we’ll write just list box and inside that Masters and the options that we can pass as an argument so what are the options that we can pass through an argument it’s like BG BG is background BD BD is used to represent the size of the water then we can also use Font as a option image width as well as height so now let’s see the Practical implementation of list box so in the list box practical example we will see how to remove the element from the list box and also how to insert any element or you can say items in the list box so now what I will do here I’ll just write here lb is equal to let me create a list box so this is my list box and I will just write here window and let me give the width so if I’m writing a width is equal to 20 and let me just write here lb. pack so here L should be Capital so this is my list box and if I’m executing it you can see that I got an utty list box now it’s time to insert the options in the list box so for that I will just create a list so let me give here the list as Elin and uh let’s insert several values so how to add several values in a list box let me write the name here so let me write here Tony I will write here Adin let’s take some few more names uh let me write here kga and let’s take one more name as it so these are the four values right and I want to insert in my list box so for that what I will be using uh we can use Loop right for Loop so I’ll just write here for I in my list name is Elvin right so so what’s the name of my list box so list box is having a variable name as lb so I just write here lb Dot and then I will just write here insert and let me write here end and I will just write here I now if I’m executing it so on execution you can see that I’m getting Tony admin ktia IA so what can I do now if I want to remove let’s suppose IA from here so let me create a button we have to create the button right so for button I just write here B1 is equal to button and I will just write here window and text is equal to Let’s suppose if I want to remove e so I’ll just write here remove and let me give the color also so I’ll just trite here let’s check the background color as red now for button also I have to write here B1 do back now if I’m executing it so you can see that this is the remove button but if I’m just clicking on this IA and then clicking on this remove button so it’s not removing so we know that it will not remove until and unless we are not using a command right so what is command command is nothing but a binding function so in button I will just write here command and let’s take that I will write here attech so here you can see that I have assigned at Tech in command so what does it mean it means that I have created a function whose name is edtech right so what I will do here okay let me just create a function here Def atte and inside this function what I will do here so I just simply write here lb so what is my lb lb is nothing but a list box variable and if I want to remove the element then I will use here delete function and inside this delete I will just write here anle so what do you mean by anle so that means so that means if you want want to select an item single item and if you want to remove one by one then we can use anchor here so if I executing it now so if I want to remove let’s suppose kka and if I am clicking on this remove button then you can see that it has been removed from the list box similarly for IA we can do it right so this is the basic idea about the list box so now after understanding label wiget buten widget and many other wigets it’s time to discuss about some other wigets so we are having different types of other vets available in Python DK starting from menu button menu message radio button scale scroll bar text top level spin box and pan window we’ll see some of the wigets in the Practical exam so let’s start so now let’s discuss about the radio button visit first so for creating radio button let me write here RP one and R has to be Capital so this is my radio but and as a master I will just write here window and after this I will just write here text is equal to yes and let me write here rb1 do back so on execution you can see that this is the radio button that has been created yes right let me create uh one more radio button so I will just write here rb2 is equal to radio button and once again as a master I will write here window and text is equal to no and obviously we have to place the visit right we have to organize the visit so for that once again I have to write here rb2 do pack so now you can see that I’m having two radio buttons that is yes or no but you can see that these both have been selected right so for that what I will do here I will just write here value is equal to Let’s suppose for S I’m giving the value one and value is equal to Z now if I’m executing it you can see that only one has been selecting at a time so now here if you see that these are the radio buttons right but uh let me create a button so that whenever I’m clicking on yes I want the value to be printed on my output so for that I will create a button so let me create a button so I’ll just write here B1 is equ Al to button and then I will just write here window and in button I will just give your text is equal to intoo and once again just let me write here b1. back now if I’m executing it then you can see that I got the button but if I’m clicking on this enter button you can see that nothing has been printed in my output so for that what can I do here uh let me create here a interval so I’ll just write here let’s suppose I’ll just write here V is equal to Inver so that means basically we going to deal with the integer values and after this I will just write here variable and we know that our variable is equal to V here so I just simply write here V variable is equal to V and inside the button when I’m writing command so that means we are using a binding function so so command once again I will give the name here attech and I will create the function name as attech right we know that whatever the function we are creating so let’s suppose we are creating Tech function so in the command we will assign the te here so let me just write here Dev Tech and inside this uh let me just write here simple print and V is my variable so I just write here V dog so we know that in yes we have a assign the value as one and for no the value is zero so now if I’m executing it so on execution if I’m clicking on yes and clicking on this enter so now this button will work so on execution you can see that I’m getting the yes value as one right that we have already assigned the yes value as one similarly if I’m clicking on no and then clicking on this enter button will give you the value zero so this is the basic idea about radio button so the next visit that we going to discuss about is the message box so not talking about the message box it is used to display the message box on the python applications right so what I can do here let’s create a message box so for creating a message box you have to import message box so I’ll just write here from TK into import I’ll just write your message box now my message box has been imported now what I will do here I will just simply first let me create an entry so I’ll just write here even is equal to entry and in this entry I will just write your window and let me also give you the font so in font I will just change the font style so font style is’s take as Cali and then font size as 180 right and let me give the width also so I’ll just write here width is equal to 20 and after this let me just organize this visit so I will be using even. back and now if I’m executing you can see that this is my entry box right now what I will do here let me create a button also so I will just write here V1 is equal to button and inside this button I will just write here window simple and then in this button I will just write here text is equal to let’s take into right and I will be just writing here v. pack okay so now what I want to display here in this message box so let’s suppose if I’m not writing anything and if I’m pressing on into so then it shows some message box or you can say some warning message right in the form of message box and let’s suppose that if I’m writing any string values then it shows that yeah it’s successful and it should print that part value so for that what I will do here I will just create here a in word so I’ll just write here simple V is equal to inware or instead of intw I’ll just create a string where right let me write here string value so I’ll just write here string we and uh so here what I have to write I’ll just write here text variable is equal to V right now we know that we have to write here command which is a binding function basically so command here once again I will create a function so I have to write the function name here and assign it to the command so what I will do now here I’ll just create a function here Dev at Tech and let me give the condition here so let’s suppose if I’m writing here if V Dot get so we know that V dog will give me the value is equal to equal to if I’m writing here empy so I will just write here message box now I will be using the message box here dot uh python provides several functions here for this so I just write here show warning so I will be using here so warning and here you can see that we are having the title message so in title I will just write here cin and after that I will write it’s empathy it’s simple right when you are not writing anything in the entry and if you are clicking on the enter button or the submit button then it should show something right please enter something it’s empathy so I just written here the instruction it’s empathy next I will give here the else condition else message box dot now um I can use here one more function that has been provided by python I just right here so info and then title I will just give here successful and then uh let’s suppose display I want to display here v.g so I just write here V dog so whatever the value is there I’ll get here right so now if I’m executing it now so on executing this is my entry right and if I’m not writing anything entry and clicking on this enter you can see that I’m getting caen in my title and it’s showing its empathy right so this is the message box similarly if I’m writing let’s suppose G VI now you can see that I have given here gorov in Cali 18 right so this is a Cali font style and if I’m clicking on this enter it’s showing successful gorov right so this is the basic idea about the message box let’s quickly recap what all did we learn in the session first we started with python fundamentals here we discussed regarding what python its variables data types operators tokens control statements and also basic data structures of python like tles sets lists Etc in next module that is Advanced python Concepts we focused on objectoriented programming Concepts like classes objects Etc and also we learned how inheritance works and how to handle the errors in exception handling also file handling in the next module that is data structures and algorithms we learned about arrays Stacks cues Etc and also few sorting algorithms and searching algorithms like binary search insertion sort Etc then in the next module that is python for machine learning we explore the libraries we use in Python for machine learning that is numai pandas matplot lip and seon then in in generative AI of python we also provided a overview of generative AI Concepts and python applications in this field python for automation dealt with selenium web Automation in GUI development we used python library that is TK inter in order to develop a web page so we learned all these Concepts from the basic version to the advanced version in Python hope this tutorial was helpful for you thank you happy learning

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Al Riyadh Newspaper 21 May 2025: Political Affairs, Economy, Infrastructure Development, Cultural and Historical Preservation

    Al Riyadh Newspaper 21 May 2025: Political Affairs, Economy, Infrastructure Development, Cultural and Historical Preservation

    These texts, seemingly excerpts from a Saudi Arabian newspaper, cover a range of topics including political affairs, specifically mentioning a visit by a US President and bilateral agreements, economic matters like investment opportunities and the gold market, infrastructure development with calls for metro systems and advancements in oil and gas inspection technology, cultural and historical preservation, sports news, and social issues such as inflation and healthcare regulations. They also touch upon regional conflicts and international relations.

    Saudi Arabia Hajj Preparations and Regulations

    Based on the sources, the Kingdom of Saudi Arabia undertakes significant preparations for Hajj, emphasizing the provision of services and care for millions of pilgrims and Umrah performers.

    Key aspects of Hajj preparations highlighted in the sources include:

    • Extensive Efforts and Infrastructure: The Kingdom increases efforts and invests billions in development projects to build advanced infrastructure to serve the pilgrims.
    • Security and Safety Priority: The security and safety of pilgrims are considered a top priority.
    • “No Hajj Without a Permit” Campaign: A system called “No Hajj Without a Permit” has been launched to establish regulations for everyone, including citizens, residents, and visitors. The sources state that opposition to this system is seen as an aggression against the pilgrims by instigators.
    • Continuous Operations at Entry Points: Government, private, and volunteer entities work around the clock to receive pilgrims at border crossings, such as the Al-Wadiah crossing for those arriving from the Republic of Yemen.
    • Facilitating Procedures: These entities work to facilitate the entry procedures into the Kingdom for Hajj, enabling pilgrims to perform their rituals with ease and reassurance.
    • Enforcement of Regulations: The Ministry of Interior has announced administrative decisions regarding violators of Hajj regulations and instructions . This includes penalties for those who transport individuals who do not have Hajj permits . Penalties for transporters and contributors can include a financial fine of up to 100,000 . For the person without a permit, the penalty can be a financial fine of up to 20,000 . Additional penalties may include prison sentences, deportation for residents with a 10-year entry ban into the Kingdom, and confiscation of vehicles used for transportation . The penalties are multiplied based on the number of violations and the number of individuals transported . The sources report that security forces recently apprehended 60 violators who were transporting 12 residents and 8 citizens who did not possess Hajj permits .

    The sources emphasize the ongoing commitment and extensive measures taken by the Kingdom to ensure that pilgrims can perform the great ritual with care, attention, ease, and reassurance.

    Elevating US-Saudi Relations and Economic Integration

    Based on the provided sources, the discussion of US-Saudi relations centers around a visit by the President of the United States of America, Donald J. Trump, to the Kingdom of Saudi Arabia.

    During a cabinet session chaired by the King, His Majesty expressed thanks and appreciation to President Trump for accepting the invitation to visit the Kingdom. The sources highlight discussions held with President Trump during this visit.

    The outcomes of these discussions were lauded by the Crown Prince and President of the Council of Ministers. He praised the results as contributing to elevating bilateral relations to an unprecedented historical level in numerous vital sectors. Furthermore, these outcomes are expected to enhance economic integration for both countries.

    Saudi Vision 2030 Overview

    Based on the provided sources, the Saudi Vision 2030 is discussed as a significant national initiative with ambitious goals.

    Key aspects of Vision 2030 highlighted in the sources include:

    • Ambitious and Comprehensive Nature: The ambitious Saudi Vision 2030 was launched from the Kingdom’s position, centered on all Islamic and historical fields, as well as economic ones.
    • Progress and Achievements: Most of the targets of Vision 2030 have been achieved before their scheduled time. This achievement has driven the building of a system.
    • Economic Transformation: The Vision presents an opportunity for economic transformation. Factors contributing to this context include a local product of one trillion dollars and 70% of the population being young people.
    • Focus on Key Sectors:Media: The media sector is seen as having an opportunity for economic transformation and repositioning in a rapidly accelerating digital market, supporting innovation and knowledge advancement. A national program specifically for media is part of the third phase of Vision 2030.
    • Culture: Cultural efforts align with the targets of Vision 2030 in enhancing cultural and intellectual activity and supporting national identity. An initiative like “Enriching Arabic Content” falls within the framework of Vision 2030 targets.
    • Sustainability: A study by Stanford University’s Center for Sustainable Development and Competitiveness in August 2024 discussed Vision 2030’s transformation from a development model to a sustainability model.
    • Role of the Public Investment Fund: The Stanford study also highlighted the role of the Public Investment Fund in achieving Vision 2030’s targets.
    • Soft Power: Vision 2030’s projects and programs have become a successful global model for soft power. Examples of this include utilizing sports to attract international players, showcasing Saudi sports excellence, as well as humanitarian and medical efforts like separating conjoined twins, and relief work through the King Salman Humanitarian Aid and Relief Centre regionally and internationally.
    • International Narrative: There is a need for an external media capable of telling Saudi Arabia’s story and successes in a way that resonates globally and enhances international understanding of the Vision’s goals and messages.
    • Leadership: The Vision is attributed to the thinking and follow-up of the Crown Prince.

    Overall, the sources portray Vision 2030 as a driving force behind significant developments and transformations in Saudi Arabia, impacting various sectors and contributing to the Kingdom’s global standing.

    Saudi Media Transformation and Vision 2030

    Based on the provided sources and our conversation history, the discussion about the media industry in Saudi Arabia highlights several key aspects and transformations:

    Saudi Vision 2030 presents an opportunity for the media sector’s economic transformation and repositioning in a rapidly accelerating digital market, supporting innovation and knowledge advancement [S8]. A national program specifically for media is part of the third phase of Vision 2030 [S8]. There is also a need for external media capable of telling Saudi Arabia’s story and successes in a way that resonates globally and enhances international understanding of the Vision’s goals and messages [S8].

    Recent discussions at a seminar have explored the state of the media sector, including opportunities for investment, challenges faced, ways to enhance national competencies, and the role of governance and regulation. A report on the sector was discussed, and its indicators and data are considered an important reference for decision-makers, investors, and media professionals.

    The nature of content that gains traction has changed, with “lifestyle” topics such as health, food, and psychological health becoming more attractive to the public and receiving high viewership, surpassing local news. Even breaking news is less attractive as it reaches audiences instantly through messaging applications like “X” or “WhatsApp”. This means that electronic newspapers are now primarily browsed by a segment of people looking for specific content. The concept of “the industry of meaning” was also discussed.

    While news remains a primary journalistic form, the media landscape has significantly shifted. The experience of Al-Eqtisadiah newspaper during the Corona pandemic showed that many people turned to known newspapers and official sources for accurate information. Al-Eqtisadiah has transformed from a print to an electronic newspaper. The local audience, particularly the youth majority, tends towards electronic sources. The mobile phone has become the primary source for reading news even before traditional newspapers. The electronic transformation has helped Al-Eqtisadiah gain a new audience segment and enhance its digital products.

    A challenge identified is the prevailing belief in the local community that Saudi newspapers are government-affiliated and their content should be free. There is a need to educate the public that these newspapers are not government entities and that archived materials are not provided free of charge. Some global newspapers offer specialized economic data only available on global platforms, and there are examples, like Al-Qabas newspaper in Kuwait, that have successfully implemented paid subscription systems.

    The way media is consumed has fundamentally changed. Previously, tuning into radio programs like “Here is Riyadh,” “Here is Jeddah,” “Holy Quran Radio,” and “Thursday Night Gathering” was a source of pleasure and routine. Interview programs were conducted with dignity, giving information its due importance. Today, media constantly chases new content, with news flowing instantly via phone notifications rather than waiting for morning or evening newspapers. Saudis spend a significant amount of time online, with a report by “We Are Social” indicating nearly 9 hours and 5 minutes daily on the internet, including 3 full hours on social networks, leading to what is described as media saturation for the recipient.

    Oil Market Dynamics and Energy Infrastructure

    Based on the provided sources, the discussion regarding the oil market touches upon price fluctuations, potential market impacts, and aspects of the energy sector infrastructure:

    The sources indicate that the oil market has experienced fluctuations. Specifically, the price of oil has seen fluctuations amidst fears that ongoing talks might collapse.

    The success of a potential deal could lead to a lifting of sanctions and an increase in Iranian oil exports. This outcome is expected to affect energy markets.

    Regarding the shipping side of the oil market, the sources mention improvements in the prices for spot shipping of crude oil tankers on a monthly basis in April. This improvement was supported by an expected rise in demand for loads from the Middle East. Prices for spot shipping of large tankers on Middle East routes saw a 2% monthly increase. However, prices for spot shipping of crude oil tankers from the Middle East to the West decreased by 3% on a monthly basis. Conversely, prices for Suezmax tankers on West Africa – US Gulf Coast routes increased by 15% on a monthly basis, supported by rising activity in the Atlantic basin.

    In the context of the energy sector, the sources highlight the importance of the reliability of assets in energy facilities. Ensuring this reliability contributes to attracting investments. It is considered a top priority to ensure the continuity of production and attract investors. Advanced non-destructive testing technologies are mentioned as contributing to this by increasing operational readiness through continuous condition monitoring, which reduces the chance of sudden failure.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Global Power Dynamics Under Trump by Rohan Khanna India

    Global Power Dynamics Under Trump by Rohan Khanna India

    The text analyzes the foreign policy of the Trump administration, focusing on its relationships with China, Russia, and several Middle Eastern countries. The author examines Trump’s strategies to counter China’s growing influence, including the Quad alliance and economic pressure on Chinese companies. The text also discusses Trump’s dealings with Russia, highlighting efforts to negotiate with Putin while simultaneously addressing the conflict in Ukraine. Finally, the author explores the complexities of US relations with Saudi Arabia, suggesting Pakistan should align more closely with the US through Saudi Arabia to avoid negative consequences. The overall tone expresses concern about the global power dynamics under Trump’s leadership.

    Global Power Dynamics: A Study Guide

    Quiz

    1. According to the author, what is one major concern of the United States in the current global landscape?
    2. What is the Quad Alliance, and what is its primary aim, according to the text?
    3. How does the author describe the relationship between Saudi Arabia and the United States, and what has strained this relationship?
    4. What is BRICS, and why is the U.S. concerned about it, according to the author?
    5. What does the author mean by “stick and carrot” tactics with respect to China?
    6. What specific actions does the author suggest that Pakistan should consider in its foreign policy, and why?
    7. What is the significance of the meeting of quad foreign ministers held in Washington after Marco Rubio was appointed Secretary of State?
    8. How does the author characterize the relationship between the Israeli Prime Minister and leaders of other countries mentioned in the text?
    9. According to the text, what is Donald Trump’s position on the global dominance of the U.S. dollar?
    10. How does the author describe the current global situation with respect to peace and conflict?

    Quiz Answer Key

    1. The author states that the U.S. is concerned about the rise of other great powers, specifically China, and seeks to prevent challenges to its superpower status.
    2. The Quad Alliance is a strategic grouping of the United States, Australia, Japan, and India with the goal of supporting an open, stable, and prosperous Indo-Pacific region, primarily as a means to curb China’s growing influence.
    3. The relationship between Saudi Arabia and the United States is described as historically deep, but has been strained by the Biden administration’s concerns about Jamal Khashoggi’s murder.
    4. BRICS is a group of powerful countries that the U.S. is concerned about because of the possibility that they might challenge the global dominance of the American dollar.
    5. The “stick and carrot” tactic refers to the U.S. strategy of pressuring companies to leave China, while offering incentives to relocate elsewhere, like India.
    6. The author suggests that Pakistan should balance its foreign policy, maintain strong ties with the U.S. through Saudi Arabia, and avoid leaning too heavily toward China to avoid negative consequences.
    7. The meeting shows a renewed U.S. focus on encircling China and sends a message about the commitment of the four nations to counter China’s growing influence.
    8. The author notes that the Israeli Prime Minister maintains close relationships with leaders from various countries, including those with whom the U.S. has complex relationships, suggesting a level of strategic maneuvering.
    9. The author suggests that Trump would move to stop any threat to the dollar’s dominance and has actively worked to prevent any move to supplant it.
    10. The author states that “peace is probably in the grave,” implying a pessimistic view of current global affairs and suggesting widespread conflict and instability.

    Essay Questions

    1. Analyze the author’s perspective on the role of the United States in the current global order, and explain the evidence they use to support their assertions. How does the author’s viewpoint align with or diverge from traditional geopolitical analyses of American power?
    2. Discuss the significance of the Quad Alliance and how its formation reflects the changing dynamics of the Indo-Pacific region. Consider the implications of this alliance on China’s regional influence.
    3. Assess the author’s claims about the evolving relationship between Saudi Arabia and the United States. What factors have contributed to the changing dynamics, and what are the potential consequences for both nations?
    4. Explore the author’s depiction of the global economic landscape. Evaluate their analysis of the competition between the U.S. and BRICS, and consider the broader implications of these economic rivalries.
    5. Using specific examples from the text, analyze the author’s use of rhetorical devices to convey his message, and assess the effectiveness of their argument.

    Glossary

    • BRICS: An acronym for Brazil, Russia, India, China, and South Africa, which are considered leading emerging economies.
    • Indo-Pacific Region: A geopolitical term referring to the region encompassing the Indian and Pacific Oceans, which has become a focus of global strategic competition.
    • Quad Alliance: A strategic grouping composed of the United States, Australia, Japan, and India, designed to promote cooperation and counter Chinese influence in the Indo-Pacific.
    • Global Village: A metaphor describing the interconnectedness of the world through technology and communication, allowing for easy exchange of information and ideas.
    • Super Power: A nation with the economic, political, and military strength to exert influence on a global scale.
    • Stick and Carrot Tactics: A strategy involving a combination of punishment or threat (the “stick”) and incentive or reward (the “carrot”) to influence behavior.
    • Bilateral Trade: Commerce between two countries or economic entities.
    • Diplomatic Relations: The formal political interactions between two nations, often managed by ambassadors and embassies.
    • Unilateral: An action taken by a single entity (such as a nation) without agreement from another party.
    • Geopolitical: Relating to politics and how they are influenced by geographical factors.

    Trump’s Impact on Global Power Dynamics

    Okay, here’s a briefing document summarizing the key themes and ideas from the provided text:

    Briefing Document: Analysis of Global Power Dynamics and US Foreign Policy

    Date: October 26, 2023

    Subject: Analysis of Global Power Dynamics and US Foreign Policy under Donald Trump, as seen from an international perspective.

    Executive Summary:

    This document analyzes the provided text, which offers a critical perspective on Donald Trump’s influence on global affairs, particularly his approach to great power competition and his relationships with various nations. The analysis focuses on themes such as the rise of China, the role of alliances, economic competition, and the shifting dynamics of US-Middle East relations. The text also provides insights into the perceived limitations and challenges facing smaller nations within this global context. The author expresses a clear concern over the potential for conflict and the instability generated by Trump’s actions.

    Key Themes & Ideas:

    1. Trump’s Disruptive Impact on the Global Order: The author views Donald Trump as a highly disruptive force in global politics, whose actions and policies are driven by a desire to shake up established norms and maintain American dominance. The author notes, “the unelected US President Donald Trump has created in the world situation through his taboo breaking speeches and changing policies attracts to him the excitement or disturbance he has created since childhood.”
    2. The Rise of China and US Counter Strategies: A major theme is the perceived rise of China as a challenger to US hegemony, and the Trump administration’s efforts to contain its influence. The author states, “If China is an emerging power, then its should be trampled somewhere in a specific Asian region.” This reflects a belief that the US sees China as a direct threat to its position as the world’s sole superpower. The text also references the “Quad Alliance” (US, Australia, Japan, and India), noting it’s aim is to “tighten the surrounding of China”. The text highlights that this initiative “was put into practice and the aim was to curb China’s growing power in the region”. The author suggests there is a clear attempt to prevent the rise of any alternative to American supremacy.
    3. Economic Competition as a Tool of Foreign Policy: The document highlights economic competition as a tool of American power. The author states “Trump wants big commercial companies operating in China [to] stick will force you to leave China by showing carrots.” This reveals the US using economic pressure to reduce Chinese influence. The text also mentions the concern within the Trump administration that “all these powerful countries should not challenge the American dollar, which could harm the dollar’s global status,” referring to the BRICS nations. This indicates a US effort to maintain financial dominance as well.
    4. The Shifting Sands of Middle East Alliances: The analysis emphasizes the evolving nature of US alliances in the Middle East. The text points out that relationships between Saudi Arabia and the US have experienced “ups and downs.” It specifically cites “the Biden administration and Democrats [having] protections over Jamal Khushogi’s murder, damage[d] bilateral relations.” The text posits that Saudi Arabia has been compelled to consider closer ties with China due to this strain, emphasizing Saudi Crown Prince Mohammed bin Salman’s meetings with both Trump and Chinese leaders. However, the text also indicates Trump’s desire to rebuild the relationship, “after entering the White House, he has expressed his wish to start his external tour from Riyadh if Saudi Arabia shows interest in investment”. The author argues that Saudi Arabia will act as “the real door of their affairs with America” for Muslim countries in the region, emphasizing the importance of the Saudi-US alliance. The author implies that it is in Pakistan’s best interest to foster improved relations with America through Saudi Arabia, as opposed to aligning too closely with China.
    5. The Peril of Unilateral Actions and the Value of Diplomacy: The author contrasts the “stereotypical” and “negative” approach of some Pakistani conservatives with the diplomatic approach employed by India and even the US towards their rivals (China and Russia). The author suggests, “Relations are not broken by disconnecting from the one that causes conflicts, concerns or distractions, but are discussed specifically by sitting on the side.” There’s a clear emphasis on dialogue and engagement rather than aggressive, isolating policies.
    6. The “Global Village” and its Challenges: The text recognizes that the world is now deeply interconnected, but that this interconnectedness has intensified global power competition. The author states “We are hearing that the world has become a global village, but after the advent of facilities like internet, today’s world is really presenting the map of the global village as if everything is in the palm of your hand. Everywhere you look, there is a game made by the player.” This implies that, despite increased connectivity, power dynamics and political maneuvering remain significant challenges.
    7. The Vulnerability of Smaller Nations: The author notes the limited power of smaller, weaker countries in this global game, observing “Poor, weak countries like us and their problems should be left aside.” The author implies that such nations are primarily impacted by larger powers’ decisions. This highlights the reality that these countries can become pawns in the larger geopolitical games being played by superpowers like the US and China.

    Key Quotes:

    • “the unelected US President Donald Trump has created in the world situation through his taboo breaking speeches and changing policies attracts to him the excitement or disturbance he has created since childhood.”
    • “If China is an emerging power, then its should be trampled somewhere in a specific Asian region.”
    • “Trump wants big commercial companies operating in China [to] stick will force you to leave China by showing carrots.”
    • “Relations are not broken by disconnecting from the one that causes conflicts, concerns or distractions, but are discussed specifically by sitting on the side.”
    • “Poor, weak countries like us and their problems should be left aside.”

    Conclusion:

    The provided text paints a picture of a world in flux, characterized by intense competition for power and influence. It portrays Donald Trump as a catalyst for this change, actively disrupting the existing global order and forcing other nations to adapt. The analysis expresses concern over the US approach to China, the potential for conflict, and the vulnerability of smaller nations caught in the middle. The author clearly believes that diplomacy and engagement are better alternatives than unilateral aggression. This document suggests a need for further discussion on how nations can foster stability and peaceful cooperation in an increasingly complex geopolitical landscape.

    Global Geopolitics Under Trump

    FAQ: Global Geopolitics and Shifting Alliances

    1. How has Donald Trump’s approach to global politics impacted the world stage, according to the source?
    2. The source suggests that Donald Trump’s “taboo breaking speeches and changing policies” have created a climate of “excitement or disturbance” worldwide, shifting the focus from internal affairs to his actions. It also highlights his efforts to maintain America’s superpower status by preventing the rise of rival powers, particularly China. This has led to a global landscape where major powers are maneuvering for position and influence, with implications for trade, alliances, and regional stability.
    3. What is the “Quad Alliance” and what is its significance according to the source?
    4. The “Quad Alliance” is a strategic partnership involving the United States, Australia, Japan, and India. The alliance aims to support an open, stable, and prosperous Indo-Pacific region by working to keep major seaways free from undue influence, specifically targeting China’s growing power. The source indicates that its formation is viewed as a move to “tighten the surrounding of China,” as China opposes the Quad Alliance.
    5. What concerns does the source highlight regarding China’s rising influence?
    6. The source indicates that the US, under Trump, is concerned about China’s rise and is actively trying to contain its influence, particularly in the Indo-Pacific region. This concern extends to the fear that China could challenge the US dollar’s global status through mechanisms like BRICS, which the source describes as a potential threat to the established economic order, suggesting that Trump is actively seeking ways to limit China’s economic and political power.
    7. How are the relationships between major global players described in the text and what nuances exist?
    8. The text portrays a complex web of relationships. While there is antagonism between some nations (US and China, for example), there’s also pragmatic diplomacy and trade occurring simultaneously. Countries like India are described as maintaining diplomatic and trade ties with China despite other tensions. The source also notes that countries engage in conversations with multiple nations, even those they are in conflict with, which illustrates a global landscape where alliances are not always rigid or predictable.
    9. What is the source suggesting about America’s strategy towards Russia and Ukraine?
    10. The source infers that the US, possibly under Trump’s strategy, is considering what concessions it can offer to Russia to reach some kind of agreement on the conflict in Ukraine. This implies a possible approach that looks to find a middle ground to move forward on these issues, rather than an outright rejection of Russia’s demands. The source also notes that the Trump administration would be watching what Xi of China does regarding Taiwan.
    11. What is the role of Saudi Arabia in the geopolitical landscape presented in the source?
    12. Saudi Arabia is positioned as a key player, particularly in the context of Muslim countries and their relationship with the United States. The source notes that despite strained relations during the Biden administration, Saudi Arabia maintains a deep historical tie with the US. The text also indicates a desire from Trump to reinvigorate the relationship, suggesting a potential pivot back to Saudi Arabia for the US, especially as a door through which the US can relate with other muslim countries.
    13. How does the source describe Pakistan’s geopolitical strategy, and what advice is offered?
    14. The source criticizes Pakistan’s current foreign policy for its perceived bias towards China. It urges Pakistan to balance its relationships and engage more directly with the US through Saudi Arabia. There is a warning that by leaning too heavily towards China, Pakistan risks negative repercussions and pressure, and that playing both sides is ultimately the best route for the country.
    15. What is the overall message of the source regarding global power dynamics and future trends?
    16. The source suggests a world in constant flux, with great powers maneuvering for influence. It stresses the importance of nuanced foreign policy, strategic alliances, and proactive management of relationships to navigate complex global issues. There is also a clear message of concern that the established world order under US dominance is being challenged by emerging powers, requiring significant strategic shifts to adapt to these new realities. The source seems to suggest that Trump’s administration will continue to be proactive in trying to maintain America’s global leadership.

    Global Power Dynamics and US Foreign Policy

    Global politics, according to the sources, are complex and involve various countries with different interests and challenges [1, 2]. Here’s a breakdown of key aspects:

    • The United States as a Superpower: The U.S. is currently seen as the most powerful nation, and there’s concern about other powers rising against it [2]. The U.S. is also trying to contain China’s growing influence [3, 4].
    • China’s Rise: China is an emerging power that the U.S. is actively trying to contain, particularly in the Asian region [2]. The formation of the Quad alliance, which includes the US, Australia, Japan and India, is seen as a move to counter China [3]. China opposes this alliance [3].
    • The Quad Alliance: This alliance is committed to an open, stable, and prosperous Indo-Pacific region and seeks to curb China’s influence in the area [4]. The alliance held a meeting in Washington to tighten the surrounding of China [3].
    • BRICS: There’s also concern in the U.S. that BRICS countries might challenge the dominance of the American dollar, potentially harming its global status [5].
    • U.S.-China Relations: Despite having complaints, the presidents of the U.S. and China maintain a working relationship [3]. The US may use incentives to move commercial companies out of China [5].
    • U.S.-Saudi Arabia Relations: The U.S. and Saudi Arabia have a long-standing relationship that has seen ups and downs. Despite some tension during the Biden administration, Saudi Arabia is seen as a key ally, especially in the context of Muslim countries [6]. Saudi Arabia’s relationship with the US could be used to balance Pakistan’s leaning towards China [6].
    • Other Key Players:Russia: Russia maintains relations with both China and the U.S., and the U.S. is trying to find ways to potentially break the Russia-China alliance and may give concessions in the Russia-Ukraine conflict to do so [3, 5].
    • India: India is a member of the Quad alliance and maintains trade relations with China despite other issues. India is also seen as a potential business hub to replace China [3, 5].
    • Israel: The Israeli Prime Minister has moved forward with close relations with several countries [3].
    • Global Dynamics:
    • The world is increasingly interconnected, but this also means that global issues and power dynamics can have far-reaching effects [1].
    • There’s a trend of countries engaging with multiple partners, even those with whom they have conflicts, based on their priorities [3].
    • Some countries are leaning towards specific global players [6].
    • Pakistan: The source suggests that Pakistan should balance its foreign policy and avoid leaning too heavily toward China. It also notes that Pakistan should work with the US through Saudi Arabia [6].

    US Foreign Policy: Global Power and Strategic Alliances

    U.S. foreign policy, as described in the sources, is primarily focused on maintaining its position as a global superpower and countering the rise of potential rivals [1]. Here’s a breakdown of key aspects:

    • Maintaining Superpower Status: The U.S. is concerned with preventing any other nation from rising to challenge its global dominance [1]. This includes actively working to contain the growing influence of China [1, 2].
    • Containing China: The U.S. is actively working to limit China’s growing power, particularly in the Indo-Pacific region [1-3].
    • The formation of the Quad alliance, which includes the U.S., Australia, Japan, and India, is a key strategy in this effort [2]. The Quad alliance is committed to supporting an open, stable, and prosperous Indo-Pacific region and to keeping major seaways free from influence [3].
    • The U.S. is also looking for ways to move large commercial companies out of China, potentially by offering incentives [4].
    • BRICS Concerns: The U.S. is wary of the BRICS nations, fearing that they might challenge the global status of the American dollar [4]. The source suggests the U.S. will take steps to prevent this from happening [4].
    • Relationships with Key Countries:
    • Saudi Arabia: Despite some tensions, Saudi Arabia is viewed as a crucial ally, particularly in the context of Muslim countries. The U.S. has a long-standing relationship with Saudi Arabia, and the source suggests that the U.S. could use this relationship to influence other countries, like Pakistan [5].
    • Russia: The U.S. is trying to find ways to potentially break the Russia-China alliance [4]. The source indicates that the U.S. may be willing to give concessions in the Russia-Ukraine conflict to achieve this goal [4].
    • India: India is a member of the Quad alliance and is seen as a potential business hub that could replace China. The U.S. wants to hold a Quad summit in Delhi [3].
    • Israel: The Israeli Prime Minister is actively engaging with several world leaders [2].
    • General Approaches:
    • The U.S. engages with multiple countries, even those with whom it has disagreements, based on its priorities [2].
    • The U.S. is focused on maintaining its economic and political power, and its foreign policy decisions are made with this in mind [1, 4].

    In summary, U.S. foreign policy is characterized by a focus on maintaining its superpower status, containing China’s growing influence, and managing complex relationships with various other countries to achieve its goals [1, 4, 5].

    Global Geopolitical Power Dynamics

    Geopolitical power, as depicted in the sources, revolves around the influence and actions of major nations, particularly the United States, China, and Russia, and how they interact with other countries and alliances. Here’s a breakdown:

    • United States: The U.S. is currently the dominant global superpower, and its primary geopolitical objective is to maintain this status [1]. It is concerned with the rise of other powers that could challenge its dominance, particularly China [1, 2]. The U.S. is actively working to contain China’s growing influence and maintain its own global power [1]. Its foreign policy is shaped by this objective [1]. The U.S. also has concerns that the BRICS nations may challenge the global status of the American dollar [2].
    • China: China is an emerging power that the U.S. views as a significant threat to its global dominance [1, 3, 4]. The U.S. is actively working to limit China’s power, particularly in the Indo-Pacific region [1, 4]. This is evident in the formation of the Quad alliance, which is designed to counter China’s influence in the region [3, 4]. China is opposed to the formation of the Quad alliance [3].
    • Russia: Russia is another key player in the geopolitical landscape. The U.S. is seeking to break any potential alliance between Russia and China [2]. The U.S. may be willing to give concessions in the Russia-Ukraine conflict in order to achieve this goal [2]. Russia maintains relations with both China and the U.S. [3].
    • Quad Alliance: The Quad alliance, which includes the United States, Australia, Japan, and India, is a key part of the U.S.’s strategy to contain China [3, 4]. The alliance is committed to supporting an open, stable, and prosperous Indo-Pacific region and to keeping major seaways free from influence [4]. The formation of this alliance is a direct response to the growing power of China in the region [3, 4].
    • BRICS: The U.S. is concerned that BRICS nations might challenge the dominance of the American dollar [2]. This group of countries poses a potential economic threat to the U.S.
    • Saudi Arabia: Saudi Arabia is a crucial ally of the U.S., particularly in the context of Muslim countries [5]. The U.S. has a long-standing relationship with Saudi Arabia, which it may leverage to influence other countries, such as Pakistan [5]. The relationship has had some tension during the Biden administration but remains strong [5].
    • India: India is a member of the Quad alliance, indicating its strategic importance in the Indo-Pacific region [3, 4]. India is also seen as a potential business hub that could replace China [2]. India maintains trade relations with China despite other issues [3].
    • Global Interconnectedness: The world is increasingly interconnected, with the actions of one country having significant effects on others [6]. Countries are engaging with multiple partners, even those with whom they have conflicts [1, 3]. Countries are forming relationships with others based on their priorities, even if they have disagreements [3].
    • Other Factors: The sources note the importance of economic power and influence, which is why the U.S. is concerned about challenges to the American dollar [2]. Additionally, there is discussion about how countries like Pakistan should balance their foreign policy and avoid leaning too heavily toward any one global power [5].

    In summary, geopolitical power is a complex web of relationships, alliances, and rivalries, with the U.S. and China as central players [1]. The U.S. is focused on maintaining its global dominance while containing the rise of China [1]. Other key players, like Russia, India, and Saudi Arabia, also influence the geopolitical landscape [3, 5].

    US Global Power and International Relations

    International relations, as described in the sources, are complex and involve a mix of cooperation, competition, and conflict among various nations. Here’s an overview of key themes and relationships:

    • The United States as a central power: The U.S. is a dominant global superpower that is concerned with maintaining its position and preventing any other country from rising to challenge its dominance [1]. A primary goal of the U.S. is to contain the growing influence of China [1-4]. The U.S. also aims to protect the global status of the American dollar [5].
    • China’s Rise and Containment: China is an emerging global power, and the U.S. is actively working to limit its influence [1, 3]. The formation of the Quad alliance, which includes the U.S., Australia, Japan, and India, is a strategy designed to contain China [3, 4]. China opposes this alliance [3]. Despite having conflicts, the presidents of the U.S. and China maintain a working relationship [3].
    • The Quad Alliance: This alliance is committed to an open, stable, and prosperous Indo-Pacific region [4]. The alliance seeks to counter China’s influence in the region [3, 4].
    • BRICS and Economic Concerns: The U.S. is concerned that the BRICS nations might challenge the dominance of the American dollar [5]. This concern shows how economic power is closely linked with geopolitical influence.
    • U.S. Relationships with Key Countries:
    • Saudi Arabia: The U.S. has a long-standing relationship with Saudi Arabia, which it views as a key ally, particularly in the context of Muslim countries [6]. Despite some tension during the Biden administration, the relationship remains strong. The U.S. might use its relationship with Saudi Arabia to influence other countries, like Pakistan [6].
    • Russia: The U.S. is trying to find ways to break the potential alliance between Russia and China [5]. The U.S. may be willing to offer concessions in the Russia-Ukraine conflict to achieve this goal [5].
    • India: India is a member of the Quad alliance, indicating its strategic importance in the Indo-Pacific region [3, 4]. India is also seen as a potential business hub that could replace China [5].
    • Israel: The Israeli Prime Minister has actively engaged with several countries, showing a pattern of multiple partnerships [3].
    • Global Interconnectedness:
    • The world is increasingly interconnected, and actions of one country can have significant effects on others [1, 2].
    • Countries engage with multiple partners, even those with whom they have conflicts, based on their priorities [3].
    • Pakistan’s Position: Pakistan is advised to balance its foreign policy and avoid leaning too heavily toward China. It is also suggested that Pakistan should work with the U.S. through Saudi Arabia [6].
    • General Trends in International Relations:
    • There is a trend of countries forming relationships with others based on their priorities [3].
    • There is ongoing competition and conflict among nations, especially between the U.S. and China, but also an effort to maintain relations to achieve specific goals [1, 3].
    • The sources note the importance of economic power and influence [5].

    In summary, international relations are characterized by a complex interplay of power dynamics, alliances, and rivalries. The U.S. is a dominant player focused on maintaining its status and containing China’s rise. Countries are forming relationships based on their strategic priorities, and economic factors are intertwined with geopolitical considerations.

    US-China Geopolitical Rivalry

    China’s influence, as depicted in the sources, is a major concern for the United States and a driving factor in current international relations [1, 2]. Here’s a breakdown of key aspects:

    • Emerging Global Power: China is identified as an emerging power that is challenging the existing global order and the dominance of the United States [2].
    • Threat to U.S. Dominance: The U.S. views China’s growing power as a significant threat to its global dominance [2]. The U.S. is actively working to contain China’s influence and prevent it from becoming a rival superpower [2].
    • Indo-Pacific Region: A major area of concern is China’s increasing influence in the Indo-Pacific region. The U.S. has formed the Quad alliance (with Australia, Japan, and India) to counter this [3, 4]. This alliance is committed to maintaining an open, stable, and prosperous Indo-Pacific region and keeping major seaways free from Chinese influence [4]. China is opposed to this alliance [3].
    • Economic Influence: The sources suggest the U.S. is also concerned about China’s economic influence. There is a fear that the BRICS nations (which include China) might challenge the dominance of the American dollar [5]. This indicates an understanding that economic power is closely linked with geopolitical influence. The U.S. is attempting to move businesses out of China [5].
    • Relationships with other countries: Despite the tensions with the U.S., China maintains relations with other countries. The Chinese president engages with the U.S. president, and other leaders such as the Israeli Prime Minister [3]. China maintains trade relations with India despite other conflicts [2, 3].
    • Counter Strategies: The U.S. is implementing various strategies to limit China’s influence:
    • The formation of the Quad alliance [3, 4].
    • Seeking to move businesses out of China [5].
    • Potentially attempting to weaken the relationship between China and Russia [5].
    • China’s Perspective: The sources note that China is against the formation of the Quad Alliance, which indicates they are aware of the U.S. containment strategy [3].

    In summary, China’s influence is seen as a major geopolitical challenge, particularly by the U.S., which is actively working to contain its rise through alliances and economic strategies [2, 4]. The sources also emphasize the complex nature of international relations, as China continues to engage with multiple countries despite its tensions with the U.S. [3].

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Rereading Russell

    Rereading Russell

    This compilation, “Rereading Russell: Essays on Bertrand Russell’s Metaphysics and Epistemology,” is part of the Minnesota Studies in the Philosophy of Science. It brings together various scholarly essays examining aspects of Bertrand Russell’s philosophical work, particularly focusing on his later thought in metaphysics and epistemology. The essays explore topics such as Russell’s theory of knowledge, the concept of structure in matter, induction and projectability, and the significance of “On Denoting.” The volume also includes a bibliography and notes on contributors, providing a comprehensive resource for studying Russell’s ideas.

    Russell’s Later Metaphysics and Science

    This volume is part of the “MINNESOTA STUDIES IN THE PHILOSOPHY OF SCIENCE” series, specifically Volume XII, focusing on Bertrand Russell’s Metaphysics and Epistemology. The volume itself evolved from a conference held at the Minnesota Center for Philosophy of Science. The aim of the volume is to draw attention to Russell’s later metaphysics and epistemology, which is understood to include his ontology, theory of knowledge, and philosophy of science. While Russell’s early work in philosophy of science is well-understood, his later work, which is presented as a development of the earlier phases, has been less understood, with the exception of his pre-analytic phase.

    Russell’s philosophy of science is notably addressed in his works such as The Analysis of Matter (1927) and Human Knowledge: Its Scope and Limits (1948). During his middle analytic period (1919-27), Russell applied his analysis to physics and extended it to the philosophy of science. He hoped this work would be acceptable to empiricist perspectives and contemporary physics and psychology. In his late analytic period (1928-59), major problems in epistemology and philosophy of science were addressed in An Inquiry into Meaning and Truth and Human Knowledge. One group of essays in the volume specifically deals with Russell’s philosophy of science and metaphysics, examining his analysis of instants in terms of events, his treatment of causality, and his lifelong commitment to science and its philosophy.

    Kenneth Blackwell’s “Portrait of a Philosopher of Science” highlights Russell’s dedication to science. Blackwell notes that Russell’s “devotion to science was quasi-religious,” stemming from a deep need for certainty and potentially serving as a substitute for his lost adolescent religiosity. Russell’s later writings on science express this sentiment, stating that science, along with religion, art, and love, belongs with the pursuit of the beatific vision and the Promethean madness that drives great individuals. He suggests that the ultimate value of human life might be found in this pursuit, viewing it as religious rather than political or moral. Russell suggests that scientists are seekers after knowledge, driven by a desire to understand the object of their pursuit rather than seeking power or manipulation. He claims that scientists and poets engage in an “expansion of the ego,” moving towards a God-like perception of the universe, and suggests that Russell’s focus on science and its philosophy is metaphysically, even religiously, grounded, viewing the aim of scientific knowledge as a mystical union of the ego with the whole universe.

    The concept of structure in The Analysis of Matter, a significant work in Russell’s philosophy of science, is explored. This book marks a step in Russell’s rejection of phenomenalism and the development of a form of Lockean Representationalism. The core claim of The Analysis of Matter is that knowledge of the external world is purely structural. This thesis is based on the idea that we are not “directly acquainted” with physical objects, and our knowledge of physical properties and relations is derived from structural knowledge. Whatever is inferred from perceptions is only structure that can be validly inferred, and this structure is what can be expressed by mathematical logic.

    Within this framework, the distinction between structure and quality is crucial. External world events possess both structure and qualities, while perceived events are considered more fundamental than their qualities. Knowledge of external events allows us to know their structural properties but not their qualities. The philosophy of physics, according to this view, falls within the scope of this claim, implying that physical theories provide knowledge of structure alone. Russell’s perspective here is seen to have affinities with Ernst Mach’s Analysis of Sensations and Russell’s own 1914 external world program. Entities in this context are described as not experienceable, knowable, or even picturable, sometimes called “transcendent” entities. This transcendence, however, is presented as not obstructing our knowledge of content, as properties related to purely formal or structural properties are knowable, unlike intuitive qualities.

    Newman’s objection regarding the triviality of structure is discussed in relation to Russell’s structural realism. Newman argued that if knowledge of the external world is limited to its structure, this knowledge becomes trivial. His point was that whether the world exhibits certain structural properties is a matter to be discovered, not merely stipulated. The difficulty with this view lies in the claim that only structure is known. This criticism suggests that despite Russell’s intentions, his structuralism might collapse into phenomenalism. If assertions about unperceived events are trivially true based on logic and empirical assumptions, and if statements about the external world are reducible to statements about perception, then phenomenalism is a guaranteed consequence if Russell’s view is accepted. This implies that phenomenalism is the single ontological assumption regarding the cardinality of the external world, and Russell’s structuralism is seen to guarantee its truth.

    The sources highlight that Russell’s work in the philosophy of science is deeply intertwined with his metaphysics and epistemology, particularly concerning the nature of the external world, perception, and the role of structure in knowledge. His dedication to science is presented as a significant aspect of his philosophical pursuits.

    Russell’s Evolving Concept of Sense-Data

    Based on the sources provided and our conversation history, Bertrand Russell’s concept of sense-data is a central, though evolving, element of his epistemology.

    In Russell’s early theories of knowledge, particularly in The Problems of Philosophy, sense-data are presented as the ultimate data of empirical knowledge. They are described as the completely certain, immediate, and precise data of experience upon which all other empirical knowledge is built. Russell argued that we are directly aware of sense-data without inference, and all other empirical truths are derived from this direct acquaintance by either deduction or induction. Sense-data are identified as the “things that are immediately known in sensation,” such as colours, sounds, smells, hardnesses, and roughnesses. He distinguished these from “sensation” itself, which is the experience of being immediately aware of sense-data. In this early view, sense-data were held to be absolutely certain, indubitable, infallible, immediate, precise, and self-evident. Russell suggested that when looking at a table, the brown colour is something quite certain.

    However, Russell’s views on sense-data underwent a significant change, which he described as a “very important change” by 1921 in My Philosophical Development. In The Analysis of Mind (1921), Russell explicitly abandoned the term “sense-data”. His earlier view was that sensation was a fundamentally relational occurrence where a subject is “aware” of an object, using the concept of “acquaintance” to describe this relation. Later, he came to believe that the idea of a subject in this relation was a “mere echo”. While Russell abandoned the term, the extent to which he abandoned the underlying concept is a subject of debate among commentators. Some argue he did not entirely give up the concept in its original form, while others believe he virtually retained it.

    In his later works, such as An Inquiry into Meaning and Truth (IMT) and Human Knowledge: Its Scope and Limits (HK), Russell’s epistemology continued to grapple with the foundational role of immediate experience. The concept of “data” in these later works appears to fulfill a role similar to that of sense-data, referring to propositions or statements that are known without inference. These data are considered to have some degree of independent credibility. Russell also introduces the concept of the “sensational core” of perceptual experiences in his later theory. This “sensational core” is the part of experience most causally dependent on the external stimulus and is seen as what remains after removing the inevitable inferences and unconscious influences that surround perception.

    Russell’s later view in IMT and HK distinguishes between data and inference. Beliefs about things of which we are aware without inference, including those involved in “direct sensible knowledge” or “sensible fact,” do not require inference. Data in HK are sometimes described as “private” to the subject. Russell also distinguishes between “momentarily noticed” facts (data) and “remembered facts”. The idea of a “pure datum” is presented as an ideal to be approached asymptotically, suggesting the difficulty in isolating the immediate, non-inferential component of perception. These datum statements are supposed to be “purer” (less inferential and theory-laden) than those in ordinary language.

    Despite the shift in terminology and the evolution of his views, the core idea of immediate, non-inferential knowledge derived from experience remained important in Russell’s epistemology. While in his early phase sense-data were seen as infallible, Savage questions this infallibility in the sources, suggesting that judgments based on sensation can be fallible. The process of deriving knowledge from sense-data or the “sensational core” often involves analysis, particularly in Principia Mathematica and later works, where complex entities are analyzed into their constituents.

    In summary, Russell’s engagement with the concept of sense-data evolved significantly throughout his career. Starting as the bedrock of his early foundationalist epistemology, defined by their certainty and immediacy, the term was later abandoned, but the underlying idea of non-inferential data derived from immediate experience persisted in concepts like “data” and the “sensational core” in his later works. The question of the infallibility and accessibility of such “pure” data remained a complex issue in his philosophy of knowledge.

    Bertrand Russell’s Evolving Theory of Knowledge

    Bertrand Russell’s theory of knowledge is a central and evolving component of his philosophy, deeply intertwined with his metaphysics and logic. Traditionally, it began with a foundationalist approach to empirical knowledge, asserting that all such knowledge is built upon a base of immediately known, completely certain data.

    In his early work, particularly The Problems of Philosophy, Russell posited sense-data as these fundamental data of empirical knowledge. Sense-data are described as the “things that are immediately known in sensation,” such as colors, sounds, smells, hardnesses, and roughnesses. He argued that we are directly aware of sense-data without inference, a relationship he termed “acquaintance”. This early view held sense-data to be absolutely certain, indubitable, infallible, immediate, precise, and self-evident. All other empirical truths were believed to be derived from this direct acquaintance through deduction or induction. He distinguished sense-data from the sensation itself, which is the experience of being aware of the sense-data.

    However, Russell’s views on sense-data underwent a significant transformation, which he described as a “very important change” in My Philosophical Development. By 1921, in The Analysis of Mind, he explicitly abandoned the term “sense-data”. His earlier concept of sensation as a relational occurrence where a subject is “aware” of an object evolved as he came to believe the idea of a subject was a “mere echo”. While the term was abandoned, commentators debate the extent to which the underlying concept was retained. Some argue he held onto the concept in virtually its original form, while others believe he virtually abandoned it.

    In later works like An Inquiry into Meaning and Truth (IMT) and Human Knowledge: Its Scope and Limits (HK), Russell continued to address the role of immediate experience, employing the concept of “data”. These data, often understood as propositions or statements, are those believed without inference and possess some degree of independent credibility. Russell introduced the notion of the “sensational core” of perceptual experiences, identifying it as the part of experience most directly caused by the external stimulus, remaining after the removal of inferences and unconscious influences. The idea of a “pure datum” is presented as an ideal to be asymptotically approached, highlighting the difficulty in isolating the immediate, non-inferential element of perception.

    Another crucial aspect of Russell’s theory of knowledge is the distinction between knowledge by acquaintance and knowledge by description. While we have direct acquaintance with sense-data and possibly universals, our knowledge of most physical objects and events is indirect, acquired through descriptions based on our acquaintance with sense-data. This process of deriving knowledge from immediate data often involves analysis. Russell’s philosophical method often involves analyzing complex entities or propositions into their simpler constituents. This analytical approach is evident in his logical atomism and is crucial for understanding how knowledge of the external world, particularly its structure, is derived from perceived data.

    Russell also grappled with the problem of inductive inference, acknowledging the need for principles or postulates to justify non-demonstrative inference beyond immediate data. He attempted to formulate such postulates to bridge the gap between perceived data and knowledge of the unperceived world.

    Furthermore, in his later work, Russell explored the role of indexicals (“I,” “this,” “here,” “now”) in connecting the private world of immediate experience to the public world of scientific knowledge. Indexicals were seen as crucial for linking subjective sensory awareness to objective spatial and temporal locations and, subsequently, to the world described by science.

    Overall, Russell’s theory of knowledge evolved from a strict foundationalism based on the certainty of sense-data and acquaintance to a more nuanced view involving “data” and the “sensational core,” while retaining the importance of analysis and grappling with the inferential gap between immediate experience and knowledge of the external, scientific world. His epistemology is fundamentally shaped by his commitment to logical analysis and his deep respect for scientific inquiry.

    Russell’s Logical Atomism: Simples, Facts, and Analysis

    Bertrand Russell’s Logical Atomism is a significant aspect of his philosophy, particularly in his metaphysics and epistemology. It is closely linked to his work in logic, such as Principia Mathematica. Logical Atomism proposes that the world is ultimately composed of simple, ultimate entities (atoms) and that complex things and facts can be analyzed or reduced to these basic constituents and their relations. This metaphysical view is mirrored in a corresponding structure of language and knowledge, where complex propositions can be analyzed into atomic propositions.

    Here are some key aspects of Russell’s Logical Atomism as discussed in the sources:

    • Ultimate Constituents (Simples): According to Russell’s ontology in the period around 1910-11 and in his later views, the simples of the world are particulars (which can include concrete facts or events) and universals, which encompass properties (1-adic or monadic relations) and relations. All objects are particulars. Between 1914 and 1940, events were considered simples. After 1940, most simples were seen as simple qualities, though these could also be complexes.
    • Facts: Russell came to believe that “every thing that there is in the world I call a fact”. Facts are composed of simples in relation. Complex facts, like propositions about complexes, are subject to analysis into their constituent parts and the propositions describing those parts.
    • Analysis: A fundamental method in Logical Atomism is philosophical analysis, which involves breaking down complex entities, concepts, or propositions into their simpler constituents. This process is crucial for understanding the structure of reality and deriving knowledge. The principle of atomicity, formulated initially by Wittgenstein and later integrated by Russell, states that “every statement about complexes can be analyzed into a statement about their constituent parts, and into those propositions which completely describe the complex”. While initially thought to be easily applicable, the practical application can be difficult, as particulars themselves may be complex and require further analysis.
    • Atomic and Complex Propositions: Corresponding to the simple entities and facts are atomic propositions, which are the simplest meaningful statements. Complex propositions are built up from atomic propositions through logical connectives and generalizations. Russell’s analysis aims to reduce complex propositions to their underlying atomic components.
    • Connection to Logic and Language: Logical Atomism is intrinsically linked to logic and the structure of language. Russell’s work in logic, particularly in Principia Mathematica, provided a framework for analyzing the structure of propositions and inferential relationships. The “atomistic hierarchy of sentences” reflects the way complex linguistic structures are built from simpler ones, mirroring the hierarchical structure of reality as conceived by Logical Atomism. Russell’s theory of types, developed to avoid paradoxes in logic, is closely related to the structure of propositions within this framework. The logical form of propositions is seen as reflecting the underlying structure of reality.
    • Evolution of the Theory: Russell’s specific formulation of Logical Atomism and the related theory of types evolved. His earlier (1908) view treated propositions and propositional functions as “single entities,” while the PM theory (1910-13) reconstructed them as not being single entities, instead viewing them as constituents of facts. The principle of atomicity also saw a “weakened form,” allowing for the analysis of physical objects and complex facts.
    • Role in Epistemology: Logical Atomism provides a foundation for empirical knowledge, positing that knowledge ultimately rests on immediate awareness (acquaintance) of simple facts or data. The process of gaining knowledge of the external world involves constructing knowledge of complex entities and relationships through logical inference and analysis, starting from this foundation of immediate experience, such as with sense-data (in his earlier period).
    • Structural Realism and Challenges: In later works like The Analysis of Matter, Russell’s views connect to structural realism, which posits that objective, scientific theories describe the structural properties of the world, known indirectly by description. This approach, rooted in the idea of structure derived from basic constituents, faced challenges, such as Newman’s objection, which questioned whether knowing only the structure of objects was sufficient for knowing the objects themselves. This highlights a tension in deriving knowledge of the external world from immediate sensory data or structural descriptions alone.

    In essence, Russell’s Logical Atomism, in its various iterations, sought to understand the fundamental nature of reality and knowledge through a process of logical analysis that revealed the simple constituents of complex entities and facts, mirroring this structure in the form of propositions.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Russell on Metaphysics

    Russell on Metaphysics

    This compilation features Bertrand Russell’s significant metaphysical writings, offering insights into his development as a leading analytic philosopher of the 20th century. The selections address fundamental philosophical questions, including the nature of reality beyond appearances, the distinction between particulars and universals, the principle of individuation, and the philosophical problems surrounding causation and laws. Russell’s clear and analytical approach is highlighted, demonstrating his belief that even complex philosophical ideas can be made accessible, making this collection a valuable resource for those new to metaphysics or analytic philosophy. The book also explores the implications of logical analysis for understanding the world and the relationship between physics and metaphysics.

    Russell’s Metaphysics Explored

    Based on the provided sources, here is a discussion of metaphysics, drawing on Bertrand Russell’s views as presented in the selections:

    What is Metaphysics? Metaphysics is described as one of the most abstract areas of philosophy. It aims to uncover the fundamental nature of reality beyond mere appearance. Unlike scientific inquiry, metaphysics studies the world by using philosophical methods of analysis, reason, and argument, rather than through empirical observation. Metaphysical questions cannot be settled by looking for observable evidence. As Russell characterized it, metaphysical entities are those things supposed to be part of the world’s ultimate constituents, but are not the kind of thing that is ever empirically given. Metaphysics is not inherently more puzzling or mystifying than other branches of philosophy, such as moral philosophy or epistemology, which also deal with abstract questions non-empirically.

    While a physicist and a metaphysician might consider the same subject, such as material substance, they do so in very different ways. What a scientist says is usually of little use in a metaphysical debate. For example, a physicist might say material substances are made of electrons, but the metaphysician would then ask if an electron is a bundle of qualities or has an underlying substratum. Decisions between rival metaphysical theories are made through argument and analysis.

    Russell as a Metaphysician Bertrand Russell made a major and lasting contribution to metaphysics, which has been hugely influential and helped establish analytic philosophy. Although he is often depicted as an empiricist who largely rejected metaphysics, this book aims to counter that misconception, arguing that Russell was indeed a metaphysician and perhaps that his most important insights were metaphysical. He was one of the main figures to react against British idealism, which was heavily influenced by Hegelian metaphysics.

    The volume Russell on Metaphysics collects a comprehensive selection of his writings on the subject, following the development of his thought. It starts with papers from his pre-analytic period, includes his realist accounts, discussions of universals, causation and laws of nature, and later thoughts on diverse questions like vagueness.

    Key Metaphysical Topics in Russell’s Work (as presented in the sources) The sources highlight several key areas of metaphysics that Russell addressed:

    • Idealism: The volume begins with papers from Russell’s early idealist period. Russell later developed a critique of idealism, arguing that the psychological viewpoint (like the idea that knowledge of one’s own mind is more certain than that of the external world) mistakenly failed to recognize that psychological statements also transcend the immediate given, just as physical statements do.
    • Ontology: This is a significant area covered in the book. An ontology is essentially an inventory of what exists, listing categories of things like propositions, properties, and relations.
    • Universals and Particulars: Russell extensively discussed the problem of universals. He considered the question of whether there is a fundamental division between universals and particulars, leaning towards the view that the dualism is ultimate. He defined particulars as entities that can only be subjects of predicates or terms of relations (logical substances) and exist in the narrow sense of the word. Universals, like properties or relations, can appear as predicates or relations and subsist rather than exist in the same sense as particulars. The question of whether predication is an ultimate relation is tied to the existence of particulars.
    • Existence and Being: The sources distinguish different senses of “existence” and “being”. Being belongs to every conceivable term or object of thought, including numbers, relations, and propositions; if something can be counted, it has being. The meaning of existence used in philosophy and daily life is predicated of individuals like Socrates, but this is distinct from the sense used in mathematics or symbolic logic. Russell held that mathematics and metaphysics, being a priori, are existence-free in the philosophical sense.
    • Facts: Russell discusses different kinds of facts, including particular facts (“This is white”), general facts (“All men are mortal”), positive facts (“Socrates was alive”), and negative facts (“Socrates is not alive”). The distinction between positive and negative facts is considered difficult but important. He suggests taking negative facts as ultimate, finding alternative explanations (like those involving incompatibility or molecular facts) less successful at avoiding paradox. Facts themselves are neither true nor false; truth and falsehood belong to statements, propositions, or judgments.
    • Logical Fictions/Constructions: Russell applied the concept of logical fictions, arguing that certain entities are not ultimate constituents of the world but can be constructed out of empirically given things. Numbers, for example, are logical fictions (classes of classes). Physical objects like atoms are also viewed as logical fictions or constructions, replaceable by logical fictions composed of empirically given things, such as series of classes of particulars. This approach allows physics to be interpreted in terms of empirical data, without requiring belief in non-empirical metaphysical entities that physics talks about.
    • Causation and Laws of Nature: Russell addressed causation and laws of nature. Modern physics, unlike older physics, views causation and laws of science as concerned with what usually happens approximately (statistical probabilities), rather than what always happens exactly.
    • Philosophy of Mind (Neutral Monism): Russell’s work includes thoughts on the metaphysical question in the philosophy of mind, developing a form of neutral monism. This theory maintains that the distinction between mental and physical is a matter of arrangement or context of the same underlying material. Mental and physical events might be compresent (overlap in space-time), although whether this entails identity and establishes monism is debated. According to neutral monism, simple entities are members of both physical and mental series. A person is considered a series of experiences, without necessarily denying a metaphysical ego, but such an ego is unknowable and irrelevant to science. While physics might predict the structural properties of events in the head, it cannot necessarily predict their intrinsic qualitative nature (e.g., the subjective experience of seeing). However, actions like speaking or writing are bodily movements subject to physical laws, suggesting that the socially important part of thought might have a one-to-one relation to physical events.
    • Free Will: Russell discussed the free-will problem from an idealist standpoint. He noted that both the “plain man” who believes in free will and the “up to date” scientist who rejects it often abuse metaphysics, yet metaphysics is necessary to settle their difficulties. He argued that terms like freedom and determination have narrower (fatalism vs. caprice) and broader senses; in their narrower senses, both are false, while in broader senses, both are true, with the reconciliation belonging to “metaphysical subtleties”.
    • Space and Time: Russell considered debates about space and time, specifically whether they are plenal (adjectival) or punctual (relational). This distinction is tied to the choice between monism and monadism. If space is relations between non-spatial monads, time must be too; if time is a plenum (adjective), space must be too.
    • Matter: Russell explored different conceptions of matter, contrasting kinematic and dynamical definitions. Matter might be defined by extension or force, and its nature is tied to questions about space and motion. The concept of punctual space/time allows gaps, unlike plenal space/time. Homogeneity of space or a plenum makes motion meaningless.

    Methodology and the Role of Language Russell emphasized the importance of philosophical grammar, believing that much traditional metaphysics is filled with mistakes due to bad grammar and failure to make distinctions in philosophical grammar. Studying the principles of symbolism can help avoid fallacious inferences from symbols to things, as language has properties not shared by things in general. With caution, the properties of language may help understand the world’s structure. He argued that complete metaphysical agnosticism is incompatible with maintaining linguistic propositions, as language itself is an empirical phenomenon. The metaphysical problem of universals, for instance, presents itself in terms of finding meaning for predicate words.

    The Purpose and Value of Metaphysics Russell argued that metaphysics should be pursued out of intellectual curiosity and guided by it alone, rather than seeking religious satisfaction. He criticized the idea that metaphysics could provide comfort or consolation, as the reality constructed by metaphysics often bears no relation to the world of experience and cannot offer hope or solace for present ills. While philosophy might provide aesthetic satisfaction or a certain mood, this is distinct from religious comfort which requires belief. The desire for comfort has led to fallacious reasoning in metaphysics. He believed that once metaphysical problems, like the problem of universals, are approached technically, their lack of bearing on religious belief or social consequences becomes evident. Philosophy can achieve solid results by temporarily forgetting such preoccupations and acquiring patience and devotion to detail, similar to experimental science.

    Russell on the Problem of Universals

    Based on the provided sources and our conversation history, here is a discussion of universals as presented through the lens of Bertrand Russell’s writings:

    The Problem of Universals: Definition and Historical Context

    The problem of universals is a central topic in metaphysics with a history stretching back at least to Plato. It concerns the status of what are called “universals”. Aristotle was perhaps the first to give the problem a form approaching logical correctness. His definition of a “universal” is “that which is of such a nature as to be predicated of many subjects”. An “individual” is that which is not thus predicated.

    Linguistically, this relates to the distinction between subject and predicate. In “Socrates is human,” “Socrates” is the subject, and “human” is the predicate. The predicate “human” can attach to many other subjects besides Socrates. Even if only one man existed, the statement “this is human” could still be significant, though false, if “this” referred to something else like a cat or dog. Thus, a universal does not need to be truly predicable of many things, only significantly predicable. This distinction is clear in any language with subject-predicate syntax.

    The metaphysical problem, distinct from the linguistic one, asks what is meant by words that are predicates. What does “human” mean? It’s not something with a definite position in space and time, as it’s present in every man, not just Socrates. You cannot point to it, it is not born, and it does not die. It has a name but no physical location. This leads to the question of its nature – what kind of thing is it? Aristotle considered a universal a “such,” not a “this” – a kind, not an individual thing, and not a substance, as the substance of each thing is peculiar to it, whereas a universal is common.

    Historically, realists held that universals exist and predicates mean universals similarly to how proper names mean persons or things. Nominalists, conversely, held that universals are linguistic creations, with nothing outside language corresponding to a predicate’s meaning. Medieval philosophers like Aquinas and Occam, while generally nominalists regarding human knowledge, conceded God must have had universals (like “human being”) in mind before creation. Berkeley and Hume were prominent modern nominalists in the British Isles, denying not only universals in the world but also abstract ideas in the mind, arguing that general words function by our ignoring particular features of specific instances.

    Russell’s Views on Universals

    Russell made significant contributions to the discussion of universals. His initial position in The Problems of Philosophy (1912) was described as a Platonic answer, suggesting particulars participate in a common nature or essence. He argued for the existence of universals, stating they are “anything which may be shared by many particulars”. Russell contended that universals do not exist in space and time; unlike particulars, they are “nowhere and nowhen”. They also do not have a mental existence but exist independently of our thoughts about them. Instead of existing, universals have being or subsistence. The world of being (universals) is superior to the fleeting world of particulars, though the latter is more important to our lives.

    However, he also made the claim that we are acquainted with universals in sense-data. This seems to contradict the idea of universals being supra-sensible and located nowhere. He suggested that knowledge of universals is gained through a process of abstraction from particular instances, taking what is common and rejecting what is particular. This process, however, is problematic, as it seems to require prior knowledge of the universal to guide the abstraction.

    Russell later revisited the problem, expressing confidence that modern logic could provide a definitive solution. He believed the solution would be technical and have no bearing on religious philosophy, empiricist philosophy, or social consequences, criticizing past philosophers (like Plato and Leibniz) for linking the problem to such broader issues. He saw connecting the problem to technical details as a way to remove bias and irrelevant preoccupations.

    Argument for the Existence of Universals (Argument from Resemblance)

    One of Russell’s notable arguments for the existence of universals, particularly relations, is the argument from resemblance. Nominalists attempting to avoid universals must at least concede that white particulars resemble each other. But the resemblance between two white things must be the same resemblance as that between two red things. While objects may resemble each other in different ways (color, shape), the relation of resemblance itself seems to be a single entity involved in each case. Therefore, Russell argued, at least the relation of resemblance must be a universal.

    He argues against explaining away similarity by saying that similar stimuli produce similar reactions (e.g., seeing two red discs prompts saying “red” each time). Are we saying the same thing about the discs and the utterances when we call them similar, or just similar things? If the latter, it leads to a vicious endless regress: the similarity of the wholes AB and CD (where A and B are similar, C and D are similar) is explained by their similarity, which would require explaining the similarity of these similarities by their similarity, and so on. This regress suggests that similarity must be a true universal. He concludes, with hesitation, that universals exist, or at least general words are not the whole story. Similarity, at minimum, must be admitted, making elaborate efforts to exclude other universals hardly worthwhile.

    Russell clarifies that the argument proves the necessity of the word “similar,” but this word is necessary because there are pairs of similar things, and the similarity of two things is a non-linguistic fact.

    Universals vs. Particulars

    A fundamental division in metaphysics is between universals and particulars. Russell believed this dualism is ultimate. He sought criteria for distinguishing them.

    • Spatial Location: One criterion Russell used is that a particular can only be in one place at a time, whereas a universal can have instances in different places simultaneously. Whiteness, if it exists, exists wherever there are white things. A particular patch of white, however, cannot be in two places at once. The logical possibility of exactly similar things co-existing in different places, combined with the impossibility of things in different places at the same time being numerically identical, necessitates admitting particulars (instances of universals) exist in places, not the universals themselves. The fact that certain spatial relations (like being outside each other) imply diversity of their terms, and that things can be indistinguishable in qualities but numerically diverse due to these relations, forces the admission of particulars distinct from universals or collections of universals.
    • Logical Role: Particulars are entities that can only be subjects of predicates or terms of relations. They are analogous to traditional logical substances. Universals, on the other hand, can appear as predicates or relations.
    • Existence vs. Subsistence: Particulars exist in the narrow sense of the word; they can be fleeting and need not be causally independent. Universals, however, do not exist in the same sense but rather subsist. They do not exist in time.
    • Predication: The distinction between particulars and universals is tied to the question of whether predication is an ultimate, simple, asymmetrical relation. If there are particulars, predication is ultimate: “This is white” expresses a relation between a particular and whiteness. If particulars are rejected, predication is not ultimate; “This is white” might mean whiteness is a quality in this place. Russell, believing particulars exist, views predication as an ultimate relation involving a fundamental logical difference between its terms.

    Particulars as Bundles of Qualities (Later View)

    In a later discussion, prompted by revisiting the problem of universals, Russell ventured the view that a “thing” is nothing more than a bundle of qualities. These qualities would traditionally be called universals. This view implies that two different things cannot be exactly alike in all their qualities (including relational qualities), as they would then be one thing. Diversity is conferred by spatio-temporal position, which Russell explains not just by saying they occupy different parts of space, but by suggesting position is defined by certain qualities (like “more-or-less-right-or-leftness” and “more-or-less-up-or-downness” in visual perception).

    On this view, the simplest meanings belong to words denoting qualities (universals), like “redness” or “sweetness”. Particulars, like Socrates or a rose, become “bundles of qualities”. A statement like “this rose is red” is analyzed not as a subject-predicate statement about a particular (“this rose”), but as asserting that certain spatial qualities, the qualities defining “rose,” and redness all coexist or are compresent in a region. Compresence is the relation between qualities that partially or completely overlap in space-time. A “place” can be defined as a bundle of compresent qualities.

    This later view suggests that what are commonly called particulars are bundles of qualities (universals) that include enough spatio-temporal qualities to ensure they occupy a continuous region. Their logical and syntactical status does not differ fundamentally from qualities like redness. This shifts the problem of universals; instead of asking about qualities like “red,” we ask about properties of qualities, such as “colour”.

    The Role of Language and Ontology

    Russell emphasized the importance of philosophical grammar and syntax in understanding metaphysical problems. He believed mistakes in traditional metaphysics often arose from “bad grammar”. While caution is needed, the properties of language can help understand the world’s structure. For example, the existence of universals can be inferred from language. Russell argued that complete metaphysical agnosticism is incompatible with maintaining linguistic propositions, as language itself is an empirical phenomenon.

    He connected the linguistic distinction of subject and predicate to the ontological distinction of things and concepts (his earlier terms for particulars and universals). Words are divided into substantives, adjectives, and verbs. Substantives can denote things (particulars), while adjectives and verbs denote concepts (universals/relations). Concepts are terms usable as both predicates (“Socrates is human”) and subjects (“humanity belongs to Socrates”), whereas things (particulars) can only be subjects.

    In his later view, the distinction between proper names (denoting particulars) and predicates (denoting universals) is reformulated. Proper names denote spatio-temporally continuous series of occurrences (like Socrates or France), while predicates denote something in discontinuous portions (like whiteness). However, even things denoted by proper names, like “Tom,” are recognized by qualities (universals) like red hair or blue eyes. The name “Tom” applies primarily to whatever has these qualities, suggesting “Tom” denotes primarily a bundle of universals. Primary vocabulary consists of words denoting universals, learned through association with similar occurrences. Words for particulars, if possible, are learned later and involve analysis.

    Russell also considered the ontological status of relations. While acknowledging their necessity in language (“A is above B”), he questioned if they denote an actual ingredient of the fact. He explored whether a relation could be a quality of the whole composed of its terms, but this approach faced difficulties with asymmetric relations and led back to needing universals (like “vertical order” or “similarity-in-a-certain-respect”). He concluded that relations like temporal order exist independently of language.

    While the need for relation-words is clear, whether the word “similarity” (as a substantive) is needed in isolation, or only “similar” (as an adjective/verb), was debated. This is linked to the idea of relation-words being syncategorematic – meaningful only in context with terms. However, Russell ultimately argues that the fact that “similar” is necessary because there are pairs of similar things implies a non-linguistic fact about the world, just as “yellow” implies the yellowness of things.

    In summary, Russell grappled with the problem of universals throughout his career, moving from an early Platonic realism to a sophisticated analysis involving logic, language, and ontology. He consistently argued for the ultimate reality of universals (or at least similarity) and maintained the fundamental distinction between universals and particulars, though his understanding of particulars evolved towards viewing them as constructed from universals (qualities) in spatiotemporal relations. He emphasized that the problem is a technical one about the structure of reality, reflected in language, and should be pursued without regard for potential religious or social consequences.

    Russell on Causality: From Rejection to Reintegration

    Based on the provided sources, a discussion of causality in the context of Bertrand Russell’s writings reveals a complex and evolving perspective, marked initially by a strong rejection of traditional notions and later by a reintegration of the concept into the foundations of science.

    Russell’s Early Deflationism and Rejection of Traditional Causality

    In earlier papers, such as “On the Notion of Cause” (Paper 14, 1913), Russell argues that the word “cause” is “so inextricably bound up with misleading associations as to make its complete extrusion from the philosophical vocabulary desirable”. He believes the “law of causality” is a “relic of a bygone age” that survives only because it is erroneously thought to do no harm. Russell notes that in advanced sciences like gravitational astronomy, the word “cause” never occurs. Instead, science utilizes formulae, such as equations like F = ma, in which nothing can be identified purely as cause or effect. These formulae, Russell contends, “eliminate” causality altogether, rather than merely being a more accurate way of talking about it.

    Russell critically examines traditional philosophical understandings of cause, including definitions from Baldwin’s Dictionary. He finds definitions linking causality to “necessary connection” or “taking place in consequence of another process” to be problematic. The notion of necessity is often tied to the idea of something being “true under all circumstances,” which Russell argues applies to propositional functions, not simple propositions. Interpreting causality in this light might lead to a definition stating that whenever an event e1 occurs at time t1, an event e2 follows after a specific interval. However, he raises “insuperable difficulties” with the traditional idea of cause and effect being contiguous in time, arguing that the time-series is compact, meaning there are no contiguous instants. Any finite time interval between cause and effect allows for other intervening circumstances, suggesting the supposed cause is not, by itself, adequate to ensure the effect.

    Russell also challenges common maxims associated with causality:

    • Cause and effect must resemble each other: Science shows them to be “very widely dissimilar”. This maxim is operative, for instance, in the thought that mind could not have grown up in a purely material universe.
    • Cause is analogous to volition: This view, suggesting an “intelligible nexus” between cause and effect, is rejected because modern physics leaves no room for such a connection between two events. The nexus desired seems to mean something “familiar to imagination”.
    • The cause compels the effect: Russell argues that “compulsion” is a complex notion involving “thwarted desire” and is inapplicable where desire is not present. In the absence of volition, it is “misleading to regard the cause as compelling the effect”. He also refutes the vaguer form that the cause “determines” the effect in a way the effect does not determine the cause, showing that any supposed lack of symmetry is “illusory” when considering pluralities of causes or effects.
    • A cause cannot operate when it has ceased to exist: Russell calls this a “common maxim” and “still more common unexpressed prejudice”. It is based on the mistaken supposition that causes “operate” at all, a notion derived from assimilating causes to volitions. If causes and effects are separated by a finite time interval, as they must be if they exist, then effects necessarily occur after their causes have ceased to exist.
    • A cause cannot operate except where it is: This maxim underlies prejudice against “action at a distance” and relies on the assumption that causes “operate” in an obscure analogy to volitions.

    In place of the traditional notion, Russell suggests that science deals with uniformities of sequence, where the earlier event can be called the cause and the later the effect if observed frequently. However, this sequence is only probable, not necessary. Furthermore, not every event needs a cause in this sense, and any sufficiently frequent sequence (like night causing day) could be called causal. He contrasts this with the idea of “invariable succession,” which Mill linked to the Law of Causation, noting that such universal causal laws, as Mill conceived them, are not found in advanced science. Scientific laws consist not in “sameness of causes and effects” but in “sameness of relations” or, more accurately, “sameness of differential equations”.

    Causality, Determinism, and Laws of Nature

    Russell’s views on causality are closely intertwined with the debate on determinism and laws of nature. He views laws as descriptions of uniformity. In his earlier paper “The Free-Will Problem from an Idealist Standpoint” (Paper 3, 1895), influenced by idealism and Kant, he proposed a “reconciliationist” or “compatibilist” solution to the free will problem, arguing that free will is compatible with determinism. This position relies on an understanding of laws of nature as descriptions of what happens, not entities that compel or control events. A law is “nothing but a compendious description” of events. This understanding aligns with a Humean metaphysics in which there are no necessary connections between events; laws are simply discerned patterns of regularities.

    Russell defines a “deterministic system” as one where, given certain data about the system at specified times, it is possible to infer events at any other time. Whether our volitions belong to such a system is a “mere question of fact,” and empirical evidence suggests uniformities in volitions, though it might not be overwhelming. The “subjective sense of freedom” does not refute determinism, as it is based on the mistaken idea that causes compel their effects. Even if volitions are “mechanically determined” (part of a system with purely material determinants), this does not imply the supremacy of matter over mind, as the same system might be susceptible to both material and mental determinants. The notion of necessity often associated with determinism is a “confused notion”. Russell concludes that the problem of free will versus determinism is “mainly illusory,” arising from erroneous notions about causality.

    Connecting Causality to Physics and Ontology

    Physics, in Russell’s view, replaces the notion of “force” with “laws of correlation”. These correlations allow events to be grouped, and this is “all that is true in the old notion of causality”. These correlations or laws of correlation are what lead to the definition of permanent “things”. Instead of persistent substances, things (like tables, chairs, electrons, or even light-rays) are seen as “series of more or less similar phenomena, connected, not by substantial identity, but by certain causal connections”. They are “strings of events or of sets of events” connected by discoverable laws. Physics aims to discover the “causal skeleton of the world”.

    Later Shift: Causality as a Scientific Postulate

    In a “marked contrast” to his earlier view, Russell’s later work (e.g., Paper 17, 1948) presents a rehabilitation of causality. He now states that the power of science rests in the discovery of causal laws and that science “assumes causality in some sense”. Causality becomes a “fundamental postulate of science” that allows inference about one region of space-time from another.

    In this later view, a “causal law” is defined as a general principle allowing inference from data about certain space-time regions to something about other regions. This inference may be only probable, but the principle must allow probability “considerably more than a half”. This definition is wide, allowing inferences backwards or forwards in time, involving complex data, and permitting probabilistic laws. This revised view allows for “crude generalisations from which common sense starts,” like “bread nourishes,” which permit exceptions.

    This belief in causality, allowing inference from sensations/perceptions (events in us) to external physical objects, is fundamental to our knowledge of the physical world. The justification of this belief belongs to epistemology, but science methodologically assumes it. The validity of scientific method depends on assumptions that can be roughly stated as the postulate that there are general laws of certain kinds. Russell calls this the “faith” of science: there are formulae (causal laws) connecting events, exhibiting spatio-temporal continuity, and predictions based on these formulae are confirmed. Possible postulates for scientific method include the law of causality, uniformity of nature, reign of law, and belief in natural kinds.

    Despite this later acceptance, Russell still distinguishes this scientific concept from the traditional philosophical notion of cause as an “invariable antecedent” where the sequence is felt to be “necessary”. However, he admits “reasons… for admitting laws of the form ‘A causes B’,” provided there are “suitable safeguards and limitations”. This is particularly relevant for defining the identity of physical objects over time via the concept of a “causal line” – a series of events where knowledge of some allows inference about others independently of the environment. When two events are part of one causal line, the earlier can be said to “cause” the later. Physics using differential equations can be seen as stating “what is tending to happen,” resolving the conception of “cause” into that of “law”.

    In summary, Russell’s perspective on causality shifts from an outright rejection of the traditional notion as a misleading relic to a later acceptance of causal laws as fundamental postulates necessary for scientific inference and the construction of our understanding of the physical world, redefined through concepts like functional relations, differential equations, correlations, and causal lines. He consistently argues against the traditional idea of cause as an agent exerting force or compulsion.

    Russell on Language, Metaphysics, and Philosophy

    Based on the provided sources and our previous discussion on Causation, Bertrand Russell viewed the study of language as crucial for philosophical inquiry, particularly in metaphysics and logic. However, his perspective comes with significant caveats and develops over time.

    Here’s a discussion of Russell’s views on language as presented in the sources:

    1. Language as a Guide, Not a Master, to Metaphysics:
    • Russell initially advocated for an ontology “guided by the logic of language”. He believed the study of grammar is “capable of throwing far more light on philosophical questions than is commonly supposed”. Grammar can serve as “prima facie evidence” of philosophical differences and is a “source of discovery”. He suggested grammar “brings us much nearer to a correct logic than the current opinions of philosophers” and should be taken as a “guide”.
    • He explicitly applied this method, using grammatical distinctions (like substantive and adjective) as a guide to ontological distinctions (like substance and attribute, things and concepts). He believed “every word occurring in a sentence must have some meaning”.
    • However, even in this earlier phase, he expressed reservations about language dictating ontology.
    • Later, this caution solidified, with the explicit statement that “to allow grammar to dictate our metaphysics is now generally recognized to be dangerous”. This shift in emphasis, though not necessarily a complete inconsistency, marks a distinction in his approach.
    1. The Fallacy of Verbalism:
    • A central theme in Russell’s view is the danger of inferring properties of the world from properties of language. He calls this the “fallacy of verbalism”.
    • He argues that “almost all thinking that purports to be philosophical or logical consists in attributing to the world the properties of language”. Since language exists, it has properties, but many properties of language are “not shared by things in general,” and when these “intrude into our metaphysic it becomes altogether misleading”.
    • He specifically identifies the traditional notions of “existence” and “reality” as arising “entirely through mistakes as to symbolism”. Clearing up the “muddle about symbolism” reveals that much said about existence is simply a mistake.
    • The influence of symbolism on philosophy is often unconscious, and studying its principles can provide negative results by helping avoid fallacious inferences from symbols to things.
    1. Language as Representation and the Nature of Vagueness:
    • Russell views language as a system of symbolism, a type of representation. Every word is a symbol. A symbol “means” something else.
    • He argues emphatically that vagueness and precision are characteristics of representation, not of the things represented. “Things are what they are, and there is an end of it”.
    • He explicitly states that “only representations are vague” and there are “no vague objects or vague properties of objects”.
    • Vagueness in language is inevitable. It arises because concepts are derived from vague sensory evidence and because meaning is a “one-many relation” rather than a one-one relation (as it would be in an accurate language).
    • He uses examples like “red” and “bald” to illustrate this linguistic vagueness, arguing it invalidates classical logic rules like the law of excluded middle when applied to vague words.
    1. Language, Ontology, and the Problem of Universals:
    • Russell analyzes the relationship between different types of words and the entities they signify. Propositions, in his view, contain the entities indicated by words, not the words themselves.
    • He distinguishes terms indicated by proper names (“things” or “particulars”) from terms indicated by other words (“concepts,” including those for adjectives and verbs/relations).
    • The linguistic distinction of subject and predicate is seen as suggesting the metaphysical problem of universals.
    • Children learning language via ostensive definition rely on repetition and recognition of qualities (which Russell considers universals). This suggests our primary vocabulary consists entirely of words denoting universals. Knowledge of these qualities, denoted by universal words, is “the easiest and most primitive knowledge that we possess”.
    • He challenges nominalism (the view that universals are just words) by arguing that words themselves are classes of instances, and if universals are denied in the world, they must logically be denied in language too, which is untenable.
    • He argues that the very need for relation-words, particularly for relations like similarity, suggests the existence of universals in the non-linguistic world. Words like “before” and “above” “mean” something that occurs in perception. Similarity itself is a “non-linguistic fact” that makes the word “similar” necessary.
    • While some uses of relation-words (as substantives, e.g., “similarity”) might be argued to be syncategorematic (meaningful only in context), Russell believes that the need for relation-words points to something objective: “things are related”.
    • He notes that the word “precedes,” although it means a relation, “is not a relation,” which he sees as a source of philosophical muddle about relations.
    • Ultimately, he concludes that “complete metaphysical agnosticism is not compatible with the maintenance of linguistic propositions” and that studying syntax can lead to knowledge about the structure of the world.
    1. Critique of Ordinary Language Philosophy:
    • Russell strongly attacked the “ordinary language” philosophy movement.
    • He saw this movement as claiming that all possible philosophical knowledge could be discovered through the analysis of ordinary, non-philosophical language alone.
    • This contrasted with his own more cautious view that language analysis, particularly of philosophical grammar or a logical language, could help in understanding the world’s structure, but not that ordinary language was sufficient for all philosophical discovery.

    In sum, Russell saw language as a crucial tool for philosophical analysis, capable of guiding our understanding of the world’s structure and revealing fundamental ontological categories like universals. However, he issued strong warnings against being misled by linguistic structures, emphasizing that properties of language should not be automatically attributed to the world. His analysis of vagueness is a prime example of distinguishing between linguistic properties and non-linguistic reality.

    Russell’s Philosophy: Logic, Language, and Reality

    Drawing on the sources and our conversation history, Logic holds a foundational and multifaceted role in Bertrand Russell’s philosophy.

    The Centrality of Logic and Critique of Tradition:

    Russell viewed logic as indispensable for philosophical inquiry, going so far as to suggest that what he calls “symbolical logic” is simply “logic” itself, implying nothing else truly warrants the name. He argued forcefully that the traditional logic, particularly the subject-predicate logic inherited largely from Aristotle and still prevalent in the work of idealists like Bradley, was fundamentally inadequate. This old logic, based on erroneous beliefs, led philosophers to counterintuitive positions and fallacies. Traditional elementary logic is seen as an “almost fatal barrier to clear thinking” unless a “new technique” is acquired. Russell’s “new logic”, or “mathematical logic”, provided the tools to diagnose these fallacies and move philosophical analysis forward.

    Logic, Ontology, and Metaphysics:

    Logic is deeply intertwined with ontology – the study of what exists. Russell’s philosophy advocates for an ontology “guided by the logic of language”. While cautioning against letting grammar dictate metaphysics (a view more solidified in his later work), he initially saw grammar as a crucial “guide” and “prima facie evidence” for philosophical distinctions, bringing one “much nearer to a correct logic”. The new logic itself has a “metaphysical basis,” assuming the existence of entities such as real and mind-independent propositions, objective truth and falsehood, relations with independence from their terms, and a plurality of objects. Russell came to believe that “complete metaphysical agnosticism is not compatible with the maintenance of linguistic propositions”. By studying language, particularly its syntax in a “logical language,” one can gain considerable knowledge about “the structure of the world”. However, the danger of attributing properties of language to the world (the “fallacy of verbalism”) is also a key concern, emphasizing that while language can guide, it should not be allowed to dictate metaphysics.

    Logical Analysis and Atomism:

    A core application of Russell’s logic is in philosophical analysis, particularly the approach known as “logical atomism”. Logic enables the analysis of complex things or propositions down to “ultimate simples” or “logical atoms”. These atoms are the unanalysable residues at the end of the analytical process; they are “purely logical” and need not be physical. Russell distinguishes between terms and the relations that relate them in a complex. Logic helps to determine the “smallest empirical apparatus” or “smallest apparatus” (not necessarily wholly empirical) out of which propositions can be built, using a minimum of “simple undefined things” and “undemonstrated premisses”. This process, guided by Occam’s Razor, diminishes the risk of error by reducing the required assumptions. Through logical analysis, entities previously considered fundamental metaphysical substances (like atoms in physics or persistent desks) can be revealed as “logical fictions” or constructions built from empirical data.

    Logic and Language Structure:

    The structure of language provides insights for logic and ontology. Distinctions in philosophical grammar, such as those between proper names, adjectives, and verbs, correspond to distinctions between different types of entities: particulars (indicated by proper names) and concepts (indicated by adjectives and verbs). Propositions themselves contain the entities indicated by words, not the words as symbols. Verbs, in a logical sense, are concepts capable of occurring in a proposition without being a term, and every proposition must contain one verb. Russell suggests that every verb, logically speaking, may be regarded as asserting a relation. The capacity for combining terms into a complex is the defining characteristic of verbs. The linguistic distinction of subject and predicate is linked to the metaphysical problem of universals and the relation of predication.

    Logic and Propositions/Facts:

    Logic primarily concerns propositions, which are the “typical vehicle on the duality of truth and falsehood”. Atomic sentences, devoid of logical words like “not,” “or,” “and,” “if,” “all,” “some,” are the building blocks for molecular propositions. Atomic propositions correspond to facts, which exist “whatever we may choose to think about them”. Facts are what make propositions true or false. Russell grapples with the question of whether there are “negative facts” (e.g., the fact that “Socrates is not alive”) corresponding to negative propositions. He ultimately inclines towards accepting negative facts, finding alternative explanations like reducing negation to incompatibility between propositions problematic, partly because propositions themselves are not “real” in the same sense facts are when making an inventory of the world.

    Logic and Existence:

    Russell emphasizes a crucial distinction regarding the word “existence,” particularly between its philosophical/common sense (predicated of individuals, like “God exists” or “Socrates existed”) and its use in “symbolic logic”. In symbolic logic, existence is a technical term meaning a class “has at least one member”. Entities considered in mathematics or symbolic logic (like numbers or principles of the syllogism) do not exist in the philosophical sense, but they are “real” to symbolic logic and mathematics. This logical sense of existence clarifies the “existential import of propositions,” showing that certain types of propositions (A and E) do not imply the existence (in the logical sense) of their subjects, while others (I and O) do.

    Logic, Vagueness, and Precision:

    Russell argues that “all language is vague” because meaning is a “one-many relation”. Vagueness and precision are properties of representation (language, symbols), not of the things represented; there are “no vague objects or vague properties of objects”. Logical words, while seeming precise, ultimately rely on the notions of “true” and “false,” which are themselves vague when applied to propositions containing vague non-logical words. Thus, even logical propositions, as we frame them, have a degree of vagueness. However, logical words apply essentially to symbols, and we can “imagine what a precise symbolism would be,” allowing us to conceive a precise meaning for logical terms. This ability to conceive precision, even if not attainable in practice, leads Russell to state that “logic takes us nearer to heaven than most other studies”.

    Logic and the Advancement of Science:

    Russell sees a close relationship between logic and the sciences. A “logic of the sciences” involves understanding the fundamental ideas and potential contradictions within scientific systems. Mathematical logic provides the technical apparatus needed for analyzing scientific propositions and constructing theories with minimum assumptions. Russell suggests that problems soluble by logical methods often move from the realm of philosophy (what we don’t know) to that of science (what we more or less know). This application of mathematical logic can make philosophical inquiry more “dry, precise, methodical,” diminishing its speculative freedom but increasing its certainty.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Reasons Why Older Couples Are Ending Their Relationships

    Reasons Why Older Couples Are Ending Their Relationships

    The notion that love lasts forever is a romantic ideal, but for many older couples, the reality can be much more complicated. While younger generations are often viewed as the ones quick to call it quits, divorce and separation rates among people over 50 have quietly surged in recent decades. These “gray divorces,” as sociologists term them, are a growing phenomenon that challenges long-held assumptions about aging, stability, and lasting love.

    Research from the National Center for Family & Marriage Research shows that the divorce rate for adults 50 and older has doubled since the 1990s. This is not merely a statistical trend—it’s a reflection of shifting cultural expectations, increased longevity, and a reimagining of what later life should look like. Today’s older adults are no longer content to remain in relationships that feel stagnant, unfulfilling, or emotionally distant.

    Experts in psychology and relationships have pointed out that as people grow and evolve, so too must their relationships. When growth happens individually rather than as a couple, it often leads to emotional disconnect. As Dr. Harriet Lerner, author of The Dance of Anger, notes, “A good relationship requires two people who are willing to grow both individually and together.” When one or both parties stop nurturing the bond, even decades of shared history may not be enough to hold them together.


    1 – Lack of Emotional Intimacy
    As couples age, emotional needs can shift, but not all partners evolve in sync. Emotional intimacy—being truly seen, heard, and valued—is often what binds a relationship through life’s inevitable ups and downs. When this connection deteriorates, even a long-term relationship can feel cold and disconnected. Emotional neglect can be just as damaging as overt conflict, and it’s often harder to recognize.

    A lack of meaningful conversations, reduced empathy, and dwindling expressions of affection contribute to emotional isolation. Dr. Sue Johnson, creator of Emotionally Focused Therapy, emphasizes that “the absence of emotional responsiveness is the core of marital distress.” Without this emotional glue, many older couples find themselves living parallel lives rather than deeply connected ones.


    2 – Different Visions of Retirement
    Retirement can be a golden opportunity—or a point of divergence. Some envision travel and shared adventures, while others seek rest and solitude. When partners have incompatible dreams for this new chapter, resentment can simmer beneath the surface. A once-stable partnership may begin to crack under the strain of mismatched expectations.

    Sociologist Stephanie Coontz, in her book Marriage, A History, points out that modern couples now expect more from marriage than ever before—companionship, fulfillment, and personal growth. If retirement reveals differences that were once masked by work and routine, couples may find themselves at an impasse, questioning whether they are still walking the same path.


    3 – Growing Apart Over Time
    Over decades, subtle differences in personality, interests, and values can lead couples to drift apart. This isn’t necessarily caused by conflict, but by a gradual erosion of shared experiences and mutual understanding. The slow fade of connection can be more dangerous than sudden upheaval, because it’s often ignored until it’s too late.

    Developmental psychologist Erik Erikson wrote about the importance of intimacy versus isolation in adult life stages. If a couple doesn’t continue to renew their sense of partnership, the result is often emotional loneliness within the relationship itself. Many older adults reach a point where they feel they’ve outgrown the union—even if there’s no obvious “wrongdoing.”


    4 – Financial Conflicts
    Money issues don’t retire when you do. In fact, financial differences can become more pronounced with age, particularly when income becomes fixed or one partner wants to take financial risks. Whether it’s disagreements about spending, investing, or supporting adult children, money remains one of the leading causes of marital tension.

    Financial expert Suze Orman notes that “a strong relationship includes transparency and mutual agreement about money.” In older couples, the lack of these conversations can lead to broken trust and hidden resentment. Couples who failed to develop a shared financial philosophy earlier in life may find it especially difficult to navigate these conversations later on.


    5 – Infidelity
    Though often associated with younger people, infidelity is not age-bound. Older adults, especially in the digital age, are finding new opportunities—and temptations—to stray. Emotional and physical affairs can arise from loneliness, boredom, or a desire to feel alive again after decades in the same relationship.

    Psychologist Esther Perel, in her book The State of Affairs, argues that “an affair is often less about sex and more about desire: desire for attention, to feel special, to feel important.” In older couples, this can reflect deeper dissatisfaction with the self or the relationship. Rebuilding trust at this stage of life can be especially daunting, leading many to simply walk away.


    6 – Health Challenges and Caregiver Fatigue
    When one partner’s health deteriorates, the other may become a caregiver—often without adequate support. While this role can bring couples closer, it can also breed fatigue, frustration, and even guilt. The emotional and physical toll of long-term caregiving can cause strain that some relationships can’t endure.

    According to The Unexpected Legacy of Caregiving by Donna Thomson and Zachary White, “Caregivers often suffer in silence, emotionally isolated and physically exhausted.” This silent suffering may lead one partner to withdraw emotionally, or the caregiving spouse to feel unappreciated and overwhelmed—both of which can create an emotional chasm.


    7 – Re-evaluation of Life’s Purpose
    As individuals enter their later years, existential questions about meaning and purpose often surface. Some partners may feel compelled to pursue spiritual growth, new passions, or personal reinvention. If their spouse doesn’t share this urge—or actively resists it—it can lead to feelings of entrapment or regret.

    In Man’s Search for Meaning, Viktor Frankl emphasizes that “life is never made unbearable by circumstances, but only by lack of meaning and purpose.” When older adults begin to chase new identities or reevaluate their legacy, they may realize their marriage no longer aligns with their evolved values.


    8 – Children Leaving Home
    The “empty nest” phase can expose relationship dynamics that were previously hidden beneath parenting duties. Without the constant presence of children, couples may realize they no longer know how to relate to each other without that shared focus. What once felt like teamwork can suddenly feel like cohabitation.

    Dr. Carl Pickhardt, a psychologist specializing in family development, notes that “the departure of children often leaves a vacuum that couples either fill with renewed intimacy—or with silence.” Those who don’t rebuild their connection often find themselves facing a void that leads to separation.


    9 – Increased Life Expectancy
    Living longer isn’t just a medical marvel—it’s a relational challenge. With longer lifespans, couples now face the possibility of spending 30 or 40 years in retirement together. For some, this extended timeline inspires a desire for reinvention, not routine.

    Author Barbara Bradley Hagerty, in Life Reimagined, writes, “In a long life, reinvention is not optional—it’s necessary.” For older adults who feel they have decades left to explore, a stifling or unsatisfying marriage may feel like an obstacle to living fully, even after many years together.


    10 – Poor Conflict Resolution Skills
    Couples who never learned to resolve conflict in healthy ways often find their unresolved issues accumulating over the years. Instead of working through disagreements, they may have swept them under the rug, resulting in deep-seated resentment or emotional exhaustion.

    Dr. John Gottman, a leading researcher in marital stability, argues that “the way a couple argues predicts the future of their relationship.” In older age, patience may wear thin, and the cost of unresolved tension becomes too high to bear, making separation a more appealing option than continuing the struggle.


    11 – Loss of Physical Intimacy
    Sexual closeness is often undervalued in long-term relationships, yet it plays a crucial role in maintaining emotional connection. As physical intimacy declines, so too can feelings of desirability and closeness, leading partners to feel neglected or undesired.

    Research by Dr. Laura Berman highlights that “intimacy in later life is not only possible but deeply important.” When one partner desires physical connection and the other retreats, it can create an emotional schism that grows over time, especially when compounded by hormonal changes and health issues.


    12 – Resentment Over Sacrifices
    Many older partners look back and feel that they sacrificed personal dreams, careers, or goals for the sake of the relationship or family. If those sacrifices were not appreciated or reciprocated, bitterness can emerge in later years, often leading to a reevaluation of the marriage.

    Psychologist Dr. Terri Orbuch, known as “The Love Doctor,” notes that “unspoken resentment is one of the biggest predictors of divorce in later life.” Once children are grown and obligations lessen, unresolved feelings about past compromises can come to the surface with unexpected intensity.


    13 – Desire for Independence
    Later life can bring a yearning for personal freedom, especially for those who felt constrained by decades of partnership. This is particularly true for women, who in previous generations may have set aside their own aspirations for the sake of marriage or motherhood.

    In The Second Half of Life by Angeles Arrien, the author suggests that “freedom and authenticity become sacred goals in later adulthood.” For those who no longer wish to compromise their independence, ending a relationship may feel like an act of self-preservation rather than rebellion.


    14 – Cultural and Generational Shifts
    The stigma surrounding divorce has significantly lessened over the decades. Today’s older adults were shaped by changing norms—civil rights, feminism, and individualism—and are now more likely to see separation as a legitimate path to personal happiness, rather than a moral failure.

    Sociologist Pepper Schwartz remarks that “the rise in later-life divorce reflects a broader acceptance of personal fulfillment over societal expectations.” As a result, more older couples are giving themselves permission to prioritize personal well-being over marital permanence.


    15 – Mental Health Issues
    Mental health struggles—such as depression, anxiety, or cognitive decline—can put significant strain on a relationship, especially when not addressed openly. If one partner is suffering and the other feels helpless or resentful, emotional distance can grow quickly.

    In An Unquiet Mind, Dr. Kay Redfield Jamison discusses the ripple effect mental illness can have on relationships: “Love has to be stronger than pathology, but untreated illness often blinds both partners.” When support systems fail or professional help is avoided, many older couples feel the weight is too great to bear.


    16 – Substance Abuse
    Substance abuse, including alcohol dependency or prescription drug misuse, does not discriminate by age. Older adults may turn to substances to cope with pain, grief, or dissatisfaction, creating a cycle that alienates their partner and destabilizes the relationship.

    The National Institute on Aging warns that substance abuse in older adults is often overlooked, yet it can be devastating. Partners may feel like they’re living with a stranger, unable to intervene or cope. This can erode trust and safety, ultimately leading to separation.


    17 – Unresolved Past Trauma
    Old wounds can fester when never truly addressed. Whether it’s childhood trauma, betrayal within the relationship, or past abuse, unresolved psychological pain can resurface in later years with new force, straining even the most resilient of partnerships.

    Dr. Bessel van der Kolk, in The Body Keeps the Score, notes that “trauma is stored in the body and the mind—and it doesn’t simply disappear with time.” For many older adults, healing becomes a personal journey that may require leaving behind a relationship that feels like a trigger rather than a refuge.


    18 – Retirement Boredom and Lack of Purpose
    Without the structure of work, many older adults struggle with boredom, restlessness, and a loss of identity. If one partner seeks stimulation while the other retreats into passivity, friction is inevitable. The marriage may feel stale, leading to the pursuit of something new.

    Author Daniel Pink, in Drive: The Surprising Truth About What Motivates Us, explains that “autonomy, mastery, and purpose” are essential for well-being at any age. When these elements are missing, restlessness often follows, and some older individuals seek fulfillment outside their marriage.


    19 – Comparison Culture
    With the rise of social media and modern storytelling around “finding yourself,” even older adults are influenced by messages that idealize personal reinvention. Seeing peers remarry, travel, or rediscover themselves can trigger dissatisfaction in one’s own life and relationships.

    Psychologist Barry Schwartz warns in The Paradox of Choice that “the abundance of options can often lead to dissatisfaction.” Comparison culture can convince people they’re missing out, nudging them toward change—even if the alternative path isn’t necessarily better.


    20 – Death of Shared Goals
    When couples no longer share dreams or aspirations—be it travel, volunteering, or even small lifestyle choices—disconnection sets in. Shared goals are the backbone of forward momentum in any relationship. Without them, the bond can weaken, leaving only habit in its place.

    Author David Brooks writes in The Second Mountain that “life gains meaning when lived in service of something larger than the self.” For many couples, the death of shared goals signifies not just the end of collaboration, but the end of connection.


    21 – Changing Priorities
    As people age, their priorities often shift dramatically. What once brought joy or purpose in a marriage—raising children, building a home, or chasing careers—may no longer hold the same value in later years. Older individuals may start to prioritize personal fulfillment, self-care, or spiritual growth, leading to a divergence in shared goals. When partners fail to evolve together, the emotional disconnect can become too wide to bridge.

    This shift is especially pronounced when one partner is eager to embrace new interests or pursue long-delayed dreams, while the other prefers stability and routine. According to sociologist Dr. Pepper Schwartz, “Marriage is not a static institution—it demands constant adaptation.” When couples stop adapting in sync, they often drift apart, despite years of shared history.


    22 – Old Issues
    Unresolved conflicts that were previously swept under the rug often resurface in later years. With fewer distractions—like children or work—many older couples are forced to confront longstanding emotional wounds or patterns of dysfunction that were never adequately addressed. These lingering issues can feel heavier with time, eroding the trust and peace that once held the relationship together.

    Couples may begin to realize that what they tolerated for decades has become unbearable in retirement. The book Hold Me Tight by Dr. Sue Johnson emphasizes the importance of emotional responsiveness in long-term bonds. When couples lack this responsiveness over time, the relationship becomes a source of stress rather than solace.


    23 – Loss of Intimacy
    Emotional and physical intimacy can naturally decline with age, but when left unaddressed, it can become a chasm between partners. Many older couples report feeling more like roommates than lovers, a dynamic that contributes to emotional loneliness. While physical limitations may play a role, it’s often the emotional withdrawal that has the most damaging effect.

    According to The Normal Bar, a book by Chrisanna Northrup, intimacy is one of the strongest predictors of long-term marital satisfaction. When that bond fades, partners may feel abandoned or undesired, prompting a reevaluation of whether to stay in the marriage or seek new sources of affection.


    24 – Empty Nest Syndrome
    When children leave home, couples are suddenly left alone with each other—often for the first time in decades. The silence can be deafening, especially if their marriage was centered around parenting rather than partnership. With the primary focus of their shared life gone, many realize they no longer have a strong emotional connection.

    This transition often exposes hidden rifts in the relationship. As Esther Perel writes in Mating in Captivity, “We expect one person to give us what once an entire community used to provide.” When the parental role fades, couples must find a new way to relate—or accept that they’ve grown apart.


    25 – Health Concerns
    Serious health issues—chronic illness, cognitive decline, or physical limitations—can strain even the strongest partnerships. While some spouses rise to the occasion as caregivers, others struggle with the emotional and physical toll. If caregiving becomes one-sided or is met with resentment, the relationship may unravel.

    Moreover, when the ailing partner becomes emotionally distant or their personality changes due to illness, the emotional connection suffers. Dr. Pauline Boss, author of Loving Someone Who Has Dementia, notes that ambiguous loss—when the person is physically present but emotionally gone—can feel like a slow divorce.


    26 – Financial Disagreements
    Disputes over money don’t magically disappear with age; in fact, they often intensify. Retirement can bring financial stress, differing investment strategies, and contrasting spending habits to the forefront. If one partner is frugal while the other is a spender, tension can build over time.

    These issues are magnified when there’s a lack of transparency or conflicting priorities regarding estate planning, supporting adult children, or downsizing. As The Millionaire Next Door emphasizes, aligned values—not just income—are critical to financial harmony in long-term relationships.


    27 – Shifting Gender Roles
    As society continues to redefine gender roles, older couples may struggle to adjust. Traditional dynamics—like the husband being the provider and the wife the caretaker—may feel outdated or oppressive. When one partner resists evolving roles, it can create friction and resentment.

    Older women, in particular, are increasingly asserting their independence and questioning decades-old marital patterns. Dr. Terri Orbuch, author of 5 Simple Steps to Take Your Marriage from Good to Great, notes that many older women now initiate divorce, seeking equality and emotional fulfillment they feel they’ve been denied.


    28 – Increased Life Expectancy
    With people living longer, the idea of spending several more decades in an unsatisfying marriage can feel daunting. What may have been tolerable when life expectancy was shorter now feels like a long sentence. Older individuals often ask themselves if they want to spend their remaining years unfulfilled.

    This expanded horizon offers both opportunity and anxiety. As psychologist Carl Jung once noted, “The afternoon of life is just as full of meaning as the morning.” Many older adults use this time to reinvent themselves—even if it means leaving a decades-long marriage behind.


    29 – Less Stigma Around Divorce
    Cultural attitudes toward divorce have softened dramatically in the last few decades. What once carried a heavy social stigma is now viewed more as a personal choice. This shift empowers older adults to leave unhappy relationships without fear of judgment or social exclusion.

    The rise of “gray divorce”—a term used to describe divorce among those 50 and older—is evidence of this trend. According to Pew Research, the divorce rate has doubled in this age group since the 1990s, reflecting a broader acceptance of seeking happiness at any stage of life.


    30 – Greater Support
    Today’s older adults have access to a wider range of support systems—legal, emotional, and social—that make divorce more feasible. From therapists who specialize in late-life transitions to online communities and financial advisors, support is more abundant than ever.

    This network can make the idea of leaving a long-term partner less intimidating. In Too Good to Leave, Too Bad to Stay, Mira Kirshenbaum highlights how having clarity and external support can help individuals make empowered decisions, even in their later years.


    31 – Infidelity in Later Life
    Contrary to popular belief, infidelity isn’t just a young person’s game. Emotional and physical affairs do occur in later life, often as a response to unmet needs, declining intimacy, or the desire to feel desired again. These betrayals can be especially devastating when they disrupt decades of trust.

    Psychologist Dr. Shirley Glass, in her book Not “Just Friends”, emphasizes that emotional affairs can be just as destructive as physical ones. Older adults who discover infidelity may feel a greater sense of betrayal, given the long history they shared with their partner.


    32 – Desire for Personal Growth
    Late adulthood can spark a renewed desire for personal growth. Whether it’s pursuing new hobbies, traveling solo, or exploring spiritual paths, older individuals often feel a pressing need to reclaim themselves. If a spouse doesn’t support—or impedes—this growth, the relationship may feel suffocating.

    This pursuit of self-actualization is in line with Maslow’s hierarchy of needs, where self-fulfillment becomes paramount once basic needs are met. Many find that they cannot grow without shedding the relationships that limit them.


    33 – Legal and Financial Streamlining
    In some cases, divorce is a strategic decision rather than an emotional one. Legal and financial planning—particularly around taxes, inheritance, or Medicaid eligibility—can motivate older couples to formally separate while maintaining a cordial relationship.

    This pragmatic approach may seem cold, but for some, it offers a win-win solution. As financial planner Rick Kahler notes, “Sometimes the best financial planning decision for a couple is to divorce on paper but maintain a respectful relationship.”


    34 – Higher Expectations
    With each generation, expectations for marriage have evolved. Older adults today are less willing to settle for companionship alone. They want emotional connection, intellectual stimulation, and mutual respect—standards that weren’t always emphasized in previous eras.

    This modern view of marriage as a source of personal fulfillment raises the bar—and the stakes. In The All-or-Nothing Marriage, Eli Finkel argues that today’s couples expect more from marriage than ever before. When these expectations go unmet, separation becomes a more acceptable alternative.


    35 – Boredom
    Monotony can be corrosive to any relationship. After years of routine, many older couples find themselves stuck in a rut. The excitement that once characterized the relationship may have long faded, leaving behind a dull rhythm of daily survival.

    Boredom isn’t trivial—it’s a sign of emotional stagnation. Without shared adventures or meaningful conversations, even the most enduring bond can erode. Philosopher Alain de Botton writes that love requires “a continual re-enchantment.” When couples stop investing in that, the spark dies.


    36 – Social Media Influence
    Social media has changed how people perceive their relationships. Even older adults are now comparing their lives to carefully curated online versions of others’ happiness. This constant comparison can breed dissatisfaction and envy.

    Moreover, reconnecting with past lovers or forming new virtual relationships has become easier, tempting some to explore greener pastures. As MIT professor Sherry Turkle notes in Reclaiming Conversation, technology often replaces meaningful interaction, weakening real-life bonds.


    37 – The “Grass is Greener” Mentality
    The belief that happiness lies just outside the marriage door can be intoxicating. This mindset often takes root when individuals feel underappreciated, emotionally neglected, or simply bored. They begin to imagine that a better relationship is out there, waiting.

    This illusion can lead to impulsive decisions. But as therapist Esther Perel notes, “The quality of our relationships determines the quality of our lives.” Those chasing the “grass is greener” may find it’s only a mirage—but by then, the damage may be done.


    38 – Falling Out of Love
    Love can fade, even after decades. What began as passion may have long since morphed into duty. When affection turns to apathy, and communication becomes transactional, many older couples come to a painful realization—they no longer love each other.

    Falling out of love doesn’t always stem from conflict. Sometimes, it’s the slow erosion of emotional intimacy. As psychologist Dr. John Gottman says, “The opposite of love isn’t hate, it’s indifference.” That indifference often becomes the final nail in the marital coffin.


    38 – Unresolved Trauma
    Many older individuals carry emotional scars from earlier life experiences—abuse, neglect, or previous relationship wounds. If left untreated, this trauma can spill into the marriage, coloring interactions with mistrust, avoidance, or volatility.

    Healing isn’t always possible within the confines of a strained marriage. As The Body Keeps the Score by Dr. Bessel van der Kolk explains, unprocessed trauma can distort perception and destroy intimacy. Some couples part ways simply because one partner’s pain becomes too much for the relationship to hold.


    39 – Differing Retirement Expectations
    Retirement can be a dream or a nightmare, depending on whether couples are aligned. Some envision travel and adventure, while others seek relaxation and quiet. If these visions clash, conflict is inevitable.

    The issue isn’t retirement itself—it’s the failure to communicate and compromise. In The New Retirementality, Mitch Anthony urges couples to have honest conversations about their goals. Without this clarity, retirement can feel more like a prison than a reward.

    Conclusion

    While the end of a long-term relationship in later life may seem tragic to outsiders, for many older couples it marks the beginning of a more authentic chapter. These separations are rarely impulsive—they are often the result of years, even decades, of unmet needs, personal growth, and reevaluated priorities. The decision to part ways is complex, driven by a nuanced interplay of emotional, psychological, and social factors.

    In an age where personal fulfillment and emotional well-being are increasingly prioritized, older adults are redefining what it means to live—and love—fully. As author Cheryl Strayed once wrote, “You don’t have a right to the cards you believe you should have been dealt. But you have an obligation to play the hell out of the ones you’re holding.” And sometimes, that means folding a relationship to start anew.

    While the reasons older couples end their relationships are varied, they all point to one undeniable truth: relationships, like individuals, evolve over time. Long-term partnerships require adaptation, emotional availability, and shared growth. When those elements are missing, even the most enduring unions may unravel.

    This doesn’t signal failure—it reflects a shift in how we view love, identity, and fulfillment across the lifespan. As society continues to redefine aging, older adults are reclaiming their right to happiness—even if it means starting anew. Rather than lament these separations, we might see them as courageous acts of self-preservation and self-respect.

    Books

    1. Gottman, J. M., & Silver, N. (2012). The Seven Principles for Making Marriage Work. Harmony Books.
      – Explores core relationship dynamics that affect marriages at all stages.
    2. Aronson, L. (2019). Elderhood: Redefining Aging, Transforming Medicine, Reimagining Life. Bloomsbury Publishing.
      – Discusses aging, identity, and relationship changes in later life.
    3. Brown, S. L., & Lin, I.-F. (2012). The Gray Divorce Revolution: Rising Divorce Among Middle-Aged and Older Adults, 1990–2010. The Journals of Gerontology Series B.
      – A landmark study outlining statistical and social reasons behind the increase in gray divorce.
    4. Coontz, S. (2005). Marriage, A History: How Love Conquered Marriage. Penguin Books.
      – Offers historical context for evolving relationship expectations.
    5. Benson, H. (2008). The Relate Guide to a Better Relationship. Vermilion.
      – Practical guide on addressing long-term relationship issues, with a focus on communication and growth.

    📄 Academic and Peer-Reviewed Articles

    1. Brown, S. L., Lin, I.-F., & Mellencamp, K. (2019). Growing Old Alone: Older Adult Relationship Status in the 21st Century. Innovation in Aging, 3(1).
      https://doi.org/10.1093/geroni/igz025
    2. Lin, I.-F., & Brown, S. L. (2012). Unmarried Boomers Confront Old Age: A National Portrait. The Gerontologist, 52(2), 153–165.
      – Discusses the vulnerabilities of older adults living alone post-divorce.
    3. Carr, D., & Boerner, K. (2013). Transitions in Late-Life Partnership Status: Patterns, Antecedents, and Consequences. In Handbook of Sociology of Aging. Springer.
      – In-depth analysis of how and why relationship status changes in older adulthood.

    🌐 Reliable Web Sources and Expert Commentary

    1. Pew Research Center (2017). Led by Baby Boomers, Divorce Rates Climb for America’s 50+ Population.
      https://www.pewresearch.org/fact-tank/2017/03/09/led-by-baby-boomers-divorce-rates-climb-for-americas-50-population/
    2. American Psychological Association (APA). Aging and Human Sexuality Resource Guide.
      https://www.apa.org/pi/aging/resources/guides/sexuality
    3. AARP (2021). Why Gray Divorce Is on the Rise — And What to Expect.
      https://www.aarp.org/home-family/friends-family/info-2021/gray-divorce.html
    4. Psychology Today. Why Couples Divorce After Decades of Marriage.
      https://www.psychologytoday.com/us/blog/the-second-half/202010/why-couples-divorce-after-decades-marriage
    5. BBC Future. Why Divorce Rates Are Rising for Older Adults.
      https://www.bbc.com/future/article/20200117-why-divorce-rates-are-rising-for-older-adults

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Signs You’re Better Off Without Your Partner

    Signs You’re Better Off Without Your Partner

    There comes a time in a relationship when silence speaks louder than words and distance becomes more familiar than closeness. While every relationship has its highs and lows, there are unmistakable signs that indicate you’re better off walking away rather than holding on. Recognizing these signs requires emotional maturity, self-respect, and the courage to envision a life beyond the current partnership.

    Often, people stay in unfulfilling or toxic relationships out of fear—fear of loneliness, societal judgment, or the uncertainty of starting over. But according to Dr. Harriet Lerner, author of The Dance of Anger, “The cost of staying in a relationship that repeatedly hurts you is far greater than the pain of letting go.” Knowing when to let go is not a failure; it’s an act of self-preservation and emotional wisdom.

    This article explores twenty key indicators that suggest your relationship might be more damaging than healing. With insights drawn from relationship experts and psychological research, each section offers a thought-provoking lens through which to evaluate whether love is still alive—or if it’s time to set yourself free.


    1 – You Constantly Feel Drained

    Emotional exhaustion is not love—it’s a red flag. When your partner becomes a source of stress rather than support, your nervous system stays in a state of alert. Dr. Judith Orloff, psychiatrist and author of Emotional Freedom, highlights that chronic emotional fatigue in relationships is often tied to partners who are emotionally unavailable, manipulative, or overly demanding. If you feel like you’re always giving and rarely receiving, the emotional imbalance can take a toll on your well-being.

    Healthy relationships should rejuvenate you, not deplete you. Feeling consistently drained is a sign that you’re investing in something that isn’t mutually beneficial. Relationships require effort, but when the cost is your mental peace, it’s time to consider whether the partnership is worth the price.


    2 – You’re Walking on Eggshells

    When you’re in a relationship where you constantly censor yourself to avoid conflict, fear has taken the driver’s seat. Walking on eggshells signifies that the emotional environment is unstable and possibly abusive. According to Dr. Steven Stosny, psychologist and author of Living and Loving After Betrayal, people in such dynamics often lose their sense of authenticity because they are more focused on avoiding emotional explosions than expressing their true selves.

    A relationship where open communication is discouraged or punished creates an unsafe space. Emotional safety is non-negotiable in any meaningful partnership. If you’re more afraid of your partner’s reaction than eager to share your feelings, it’s a clear sign something is deeply broken.


    3 – They Make You Doubt Your Worth

    Partners who subtly or overtly make you feel inadequate are engaging in emotional manipulation. This tactic, often linked to narcissistic behaviors, gradually erodes your self-esteem. Dr. Ramani Durvasula, clinical psychologist and author of Should I Stay or Should I Go?, emphasizes that consistent devaluation by a partner creates a toxic loop where the victim feels they must work harder to earn love.

    Love should be affirming, not a battlefield for self-worth. If your confidence has diminished since being with your partner, it’s worth evaluating whether the relationship uplifts or undermines your identity. No one should have to shrink themselves to fit into someone else’s idea of love.


    4 – There’s No Emotional Intimacy

    Physical presence without emotional closeness is a common but painful paradox in failing relationships. When your partner stops being your confidant or loses interest in your inner world, emotional detachment sets in. Renowned relationship researcher Dr. John Gottman argues that emotional attunement is the bedrock of lasting love. Without it, couples drift apart even if they remain physically together.

    If conversations have become transactional or rare, and if you no longer share vulnerabilities, dreams, or fears, the relationship may be running on empty. Emotional intimacy is not a luxury—it’s a necessity for connection, healing, and growth.


    5 – You’re Always Apologizing

    Excessive apologizing is often a symptom of imbalance in power and blame. When you’re the one constantly saying “sorry,” even for things outside your control, you may be stuck in a guilt-driven dynamic. This behavior is common in codependent or emotionally abusive relationships, where one person internalizes responsibility for the other’s moods or reactions.

    Psychotherapist Beverly Engel, in her book The Emotionally Abused Woman, discusses how habitual apologizers often come from a place of low self-worth, conditioned to appease rather than assert. Love doesn’t require self-sacrifice to the point of losing your voice—it thrives on mutual respect and accountability.


    6 – You Don’t Recognize Yourself Anymore

    When you’ve morphed into someone you barely recognize, it’s a stark sign the relationship is reshaping you in unhealthy ways. Loss of personal identity—abandoning hobbies, friendships, or core values—signals emotional erosion. A healthy partnership encourages self-expression; a toxic one demands conformity.

    Dr. Terri Orbuch, known as “The Love Doctor” and author of 5 Simple Steps to Take Your Marriage from Good to Great, points out that self-identity is crucial to long-term relationship satisfaction. If you’ve become a version of yourself built solely to appease your partner, it may be time to reclaim your autonomy.


    7 – They Dismiss Your Feelings

    When someone habitually invalidates your emotions, they aren’t just ignoring your concerns—they’re erasing your reality. Emotional invalidation is a form of psychological abuse that leaves you questioning your perception and feelings. This behavior fosters emotional isolation and dependency.

    In Nonviolent Communication, Marshall Rosenberg explains that true empathy involves acknowledging and honoring emotions, even when they’re difficult to hear. If your partner routinely says things like “you’re overreacting” or “you’re too sensitive,” they’re dodging accountability and diminishing your humanity.


    8 – You’ve Tried Everything and Nothing Works

    There comes a point when even therapy, open conversations, and efforts to rekindle connection fall flat. If you’re the only one showing up to fix the cracks, you’re not in a partnership—you’re in a project. Mutual effort is the cornerstone of reconciliation and growth.

    According to Dr. Sue Johnson, founder of Emotionally Focused Therapy and author of Hold Me Tight, love only heals when both partners are emotionally engaged and willing to change. If one person has emotionally checked out, it’s like trying to light a fire with wet wood. Sometimes, walking away is the most honest form of love you can offer yourself.


    9 – You’re Constantly Anxious About the Relationship

    Anxiety shouldn’t be your baseline emotion in love. If you’re frequently overanalyzing texts, interactions, or silences, your nervous system is likely reacting to an inconsistent emotional environment. Unpredictable behavior, passive-aggression, or emotional withholding creates chronic uncertainty.

    Dr. Amir Levine, co-author of Attached, explains that attachment insecurity can be exacerbated by partners who are emotionally erratic or avoidant. A stable relationship should bring calm and clarity, not constant emotional turbulence.


    10 – You’re No Longer Growing Together

    Personal and relational growth are intertwined. If you feel stuck while your partner resists progress, goals, or self-reflection, the relationship can start to feel like an anchor rather than a sail. Stagnation breeds resentment and restlessness.

    As bell hooks writes in All About Love, “Love is an action, never simply a feeling.” Growth requires both partners to evolve individually and collectively. If one person clings to comfort zones while the other seeks development, the misalignment can become irreparable.


    11 – They Use Love as a Weapon

    When love is used as leverage—to control, manipulate, or punish—it ceases to be love at all. Conditional affection fosters fear and compliance, not connection. These dynamics are often subtle but deeply corrosive.

    Dr. George Simon, in his work In Sheep’s Clothing, discusses how manipulative personalities use emotional tools to gain the upper hand. Genuine love offers safety, not ultimatums. If affection is withheld unless you “earn” it, you’re being controlled, not cherished.


    12 – You Fantasize About Life Without Them—Constantly

    Everyone daydreams occasionally, but persistent fantasies about life without your partner can indicate deep discontent. If the idea of singlehood feels more liberating than your current reality, your subconscious is already trying to let go.

    According to psychologist Dr. Jennice Vilhauer, future-focused thinking is a psychological strategy we use to imagine escape from ongoing distress. If your inner world feels freer than your relationship, it’s time to explore why your reality feels so confining.


    13 – They Make Promises They Never Keep

    Broken promises chip away at trust and create a pattern of emotional instability. When your partner repeatedly fails to follow through, they’re showing you where their priorities lie—and it’s not with you.

    Consistency is a hallmark of emotional safety. Dr. Brené Brown, in Dare to Lead, states, “Clear is kind. Unclear is unkind.” Promises are not just words; they are emotional contracts. Chronic failure to deliver signals a deep lack of integrity.


    14 – You Avoid Going Home

    When your home—the space you share with your partner—feels like a place of tension rather than comfort, the emotional cost is immense. If you find yourself staying late at work, lingering with friends, or inventing reasons to be away, your body is already resisting the relationship.

    Home should be a refuge. If your presence at home feels more like imprisonment than peace, it’s a warning sign that the emotional climate is unhealthy and potentially harmful.


    15 – Your Friends and Family Are Concerned

    Sometimes, those outside the relationship see the red flags before you do. If people who genuinely care for you have expressed concern, it’s worth listening. Loved ones often detect behavioral shifts and emotional distress that you may be normalizing.

    Author and psychotherapist Esther Perel warns that isolation from one’s support system can be a tactic in toxic relationships. If you find yourself defending your partner’s behavior to everyone or hiding the truth, ask why you feel compelled to do so.


    16 – Your Future Plans Don’t Include Them

    When you visualize your future and your partner is no longer part of the picture, your emotional instincts are guiding you. A healthy relationship inspires mutual dreaming and planning; absence from those dreams reflects emotional detachment.

    Psychologist Dr. Lisa Firestone notes in Sex and Love in Intimate Relationships that a strong vision of life beyond a relationship often precedes the decision to leave. Your future should be expansive—not a compromise you settle for.


    17 – You’re the Only One Making Sacrifices

    Relationships require compromise, but not at the cost of one partner constantly surrendering their needs. If you’re the one always bending, giving up opportunities, or silencing yourself to keep the peace, the imbalance is stark.

    Dr. David Schnarch, author of Passionate Marriage, stresses that emotional equity is essential for intimacy. Unequal sacrifices foster bitterness and can lead to emotional burnout.


    18 – You’re Afraid to Be Yourself

    Love should be a sanctuary for authenticity. If you feel judged, silenced, or shamed for your quirks, beliefs, or aspirations, then the relationship has become a performance—not a partnership.

    Carl Rogers, a pioneer in humanistic psychology, believed that “the curious paradox is that when I accept myself just as I am, then I can change.” A partner who doesn’t allow you to be yourself is blocking not only connection, but also growth.


    19 – There’s More Pain Than Joy

    While no relationship is perfect, pain should not outweigh pleasure. If arguments, disappointment, and emotional hurt are the norm rather than the exception, it’s time to reassess.

    Dr. Stan Tatkin, author of Wired for Love, emphasizes that secure relationships offer more joy than sorrow. When suffering becomes the status quo, staying is no longer noble—it’s neglectful.


    20 – You Stay Because You’re Scared to Leave

    Fear is a poor foundation for love. Whether it’s financial dependence, fear of loneliness, or social stigma, staying out of fear strips you of agency. True love empowers; fear entraps.

    In Women Who Love Too Much, Robin Norwood explains that staying in a harmful relationship because of fear is a learned coping mechanism, not a life sentence. The first step to healing is reclaiming your right to choose freedom.


    21 – Relationships Rarely Are Black And White
    Emotional entanglements are rarely as simple as “stay or go.” When the lines blur between love, obligation, fear, and habit, it’s a sign that clarity has been lost. Healthy relationships should feel grounded, not like a moral maze where you constantly question your emotional well-being. If you’re spending more time evaluating pros and cons than enjoying the companionship, you may be in a space where ambiguity is a mask for deeper dissatisfaction.

    As psychotherapist Esther Perel notes in Mating in Captivity, “The quality of our relationships determines the quality of our lives.” When the relationship becomes a murky mix of highs and lows, love and resentment, it’s important to ask if the grayscale reality is serving your growth—or stalling it. Intellectual clarity is essential, and if you find yourself constantly navigating uncertainty, your inner compass may already be signaling it’s time to move on.


    22 – You Find Yourself Frequently Justifying Your Partner’s Behavior
    If you’re constantly defending or explaining away your partner’s actions—especially to yourself—that’s a red flag. Whether it’s emotional neglect, inconsistency, or subtle manipulation, justification often becomes a coping mechanism. The need to rationalize their behavior may be your subconscious trying to protect you from admitting the relationship isn’t healthy.

    Dr. Harriet Lerner, in her acclaimed book The Dance of Anger, highlights how women, in particular, tend to internalize blame and excuse poor behavior in the name of preserving connection. If you’re always saying, “They didn’t mean it” or “It’s not that bad,” ask yourself why you feel the need to be the spokesperson for someone else’s mistreatment. A good partner doesn’t need constant defending—they simply show up with respect and consistency.


    23 – You’re Clinging To Past Happiness In Your Relationship
    Nostalgia can be a powerful force, especially in relationships. But living in the echo of old joy often masks the emptiness of the present. If you find yourself constantly reminiscing about the “good times” instead of embracing what’s happening now, it may be a sign that the foundation has cracked. Happiness should be a continuum, not a distant memory.

    Clinical psychologist Dr. John Gottman warns against “positive sentiment override,” where couples overvalue early memories to compensate for current dysfunction. In a thriving relationship, past joy serves as fuel—not a crutch. If you’re clinging to memories like lifeboats in a sea of disconnection, it’s worth asking whether your love story is still being written—or has already ended.


    24 – You Feel More At Peace When You’re Alone
    Solitude shouldn’t feel like an escape from your relationship—it should be a complementary part of a healthy bond. If being alone brings more peace, stability, or clarity than time spent with your partner, that’s a telling sign. You may have outgrown the emotional weight of the partnership or realized you feel safer in your own energy.

    Philosopher Alain de Botton notes, “One of the most fundamental signs of a good relationship is that it brings us calm.” If your nervous system relaxes in your partner’s absence more than in their presence, your body may be revealing the truth your mind is reluctant to accept. Inner peace should not be the reward of distance; it should exist even when you’re together.


    25 – You Want Them To Change In Order To Have A Future Together
    Desiring growth in a partner is natural—but expecting them to change their core personality or values to make a relationship work is often a sign of misalignment. Love isn’t a renovation project. If your vision of a future together depends on them becoming someone different, it suggests incompatibility at a fundamental level.

    In Hold Me Tight, psychologist Dr. Sue Johnson explains, “We don’t need our partners to be perfect, just emotionally present and responsive.” If you’re holding out hope that your partner will transform into someone more caring, ambitious, or emotionally intelligent, you may be postponing the inevitable. A relationship based on potential is not a relationship rooted in reality.


    26 – You Two Don’t Fight Fair Or Productively
    Conflict is inevitable—but how you argue says more about the health of your relationship than how often you do. If fights often escalate into personal attacks, emotional shutdowns, or never get resolved, that’s emotional toxicity in disguise. Productive conflict should build understanding, not erode trust.

    Renowned relationship researcher Dr. John Gottman emphasizes that “contempt is the single greatest predictor of divorce.” When disagreement becomes a battle for dominance rather than a dialogue for resolution, you’re no longer communicating—you’re competing. Emotional safety should be the backbone of even the most heated discussions. If that’s missing, so is the partnership.


    27 – You Believe You’ve Stopped Growing
    One of the most undervalued aspects of a relationship is its ability to support personal growth. If you feel creatively, intellectually, or emotionally stagnant, the relationship may be limiting your evolution. A healthy partnership nurtures curiosity and ambition—not discourages or diminishes it.

    Author Bell Hooks writes in All About Love: “Living simply makes loving simple. The choice to love is a choice to connect—to find ourselves in the other.” If you’ve lost touch with your aspirations, passions, or identity, your relationship may have shifted from a source of empowerment to one of restraint. Love should be a springboard, not an anchor.


    28 – You’ve Noticed Toxic Cycles And Want To Break The Pattern
    Repetitive patterns—fighting, apologizing, temporary peace, and then repeating—can signal deeply entrenched dysfunction. If you find yourself in a cycle of hope and disappointment, love and hurt, you’re not just experiencing relational fatigue; you’re witnessing a toxic loop in action.

    Breaking these cycles often requires more than willpower—it demands self-awareness and sometimes professional help. Psychologist Dr. Lindsay Gibson, author of Adult Children of Emotionally Immature Parents, highlights how unhealed emotional patterns often stem from early conditioning. Recognizing these loops is the first step toward healing, but escaping them sometimes means letting go of the person who keeps you trapped inside them.

    Conclusion

    Recognizing the signs that you’re better off without your partner is not a judgment—it’s an act of radical self-respect. Each indicator speaks to a deeper truth about how love should feel: safe, nurturing, and growth-oriented. While leaving a relationship can be daunting, staying in a harmful one erodes your sense of self and potential for happiness.

    As Maya Angelou famously said, “When someone shows you who they are, believe them the first time.” Trust your instincts, honor your emotional needs, and remember: walking away isn’t quitting—it’s choosing a life that truly honors you.

    Deciding to walk away from a relationship is never easy, especially when emotional investments, memories, and shared dreams are in the mix. But staying in a relationship that chips away at your peace, growth, or self-worth is far costlier. True love should elevate you—not exhaust you. The signs you’re better off without your partner don’t always shout—they whisper through your daily discomfort, your longing for solitude, and the quiet realization that you’re more yourself when you’re alone.

    As the philosopher Kahlil Gibran once wrote, “Let there be spaces in your togetherness.” But if those spaces turn into voids filled with resentment, pain, or silence, it may be time to reimagine your life beyond the relationship. Letting go doesn’t mean you’ve failed—it often means you’ve finally chosen yourself.

    Bibliography

    1. Perel, Esther. Mating in Captivity: Unlocking Erotic Intelligence. Harper, 2006.
      — A foundational book on modern relationships, emotional complexity, and intimacy challenges in long-term partnerships.
    2. Lerner, Harriet. The Dance of Anger: A Woman’s Guide to Changing the Patterns of Intimate Relationships. Harper Paperbacks, 2005.
      — Offers insights into emotional boundaries, self-advocacy, and the psychology behind justifying poor partner behavior.
    3. Gottman, John, and Nan Silver. The Seven Principles for Making Marriage Work: A Practical Guide from the Country’s Foremost Relationship Expert. Harmony Books, 2015.
      — Based on decades of research, this book explains the emotional dynamics that lead to healthy vs. unhealthy relationships.
    4. Johnson, Dr. Sue. Hold Me Tight: Seven Conversations for a Lifetime of Love. Little, Brown Spark, 2008.
      — Focuses on emotional responsiveness and the science behind secure attachment in adult romantic relationships.
    5. Gibson, Lindsay C. Adult Children of Emotionally Immature Parents: How to Heal from Distant, Rejecting, or Self-Involved Parents. New Harbinger Publications, 2015.
      — Explores how early emotional neglect can influence adult relationship patterns and recognition of toxic cycles.
    6. hooks, bell. All About Love: New Visions. William Morrow Paperbacks, 2001.
      — A philosophical and cultural critique of love, responsibility, and self-worth in modern relationships.
    7. de Botton, Alain. The Course of Love. Signal, 2016.
      — A philosophical novel offering profound commentary on the psychology of modern love and emotional maturity.
    8. Gibran, Kahlil. The Prophet. Alfred A. Knopf, 1923.
      — A poetic collection of essays offering spiritual wisdom on love, detachment, and the human condition.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Al Riyadh Newspaper 20 May 2025: Kingdom Vision 2030: A Nation on the Rise, Initiatives, Social and Cultural Aspects

    Al Riyadh Newspaper 20 May 2025: Kingdom Vision 2030: A Nation on the Rise, Initiatives, Social and Cultural Aspects

    These excerpts cover a diverse range of topics, highlighting Saudi Arabia’s activities and initiatives across various sectors. The text discusses the government’s efforts in areas such as waste management, water conservation, and supporting small businesses, reflecting a commitment to economic development and environmental responsibility. It also focuses on social and cultural aspects, detailing efforts to support the Palestinian people, promote volunteerism, and foster talent in education. Furthermore, the sources touch upon developments in key industries like healthcare, sports, and the arts, showcasing technological advancements, infrastructure projects, and cultural events. Finally, the articles mention international relations and economic trends, including discussions on oil markets and diplomatic initiatives.

    Saudi Diplomacy and Vision 2030

    Based on the sources provided, here’s a discussion of the political aspects mentioned:

    The Kingdom of Saudi Arabia is portrayed as an influential actor in regional and international politics, actively pursuing stability and development.

    Key Political Themes and Actions:

    • Support for Palestine: The Kingdom and Saudi Crown Prince Mohammed bin Salman are highlighted for providing continuous generous support for brethren in Palestine. The Ministry of Foreign Affairs expressed Saudi Arabia’s condemnation and denunciation of the suicide attack on the “Zirgi Dimiyo” military base in Mogadishu, the capital of Somalia, which caused deaths and injuries, and the Kingdom offered condolences and sympathy to the government and people of Somalia. The Kingdom reiterated its complete rejection of all forms of terrorism and extremism and its solidarity with Somalia and its people. The King Salman Humanitarian Aid & Relief Centre (KSRelief) delivered a new batch of medical supplies and consumables to the United Nations Relief and Works Agency for Palestine Refugees in the Near East (UNRWA) and the Palestinian Red Crescent Society in the southern Gaza Strip. This action comes in light of the escalating health challenges in Gaza due to the ongoing siege and the rising number of injured resulting from bombing and continuous military operations. KSRelief’s ongoing efforts in various sisterly and friendly countries, including Palestine, reflect the Kingdom’s leading role in humanitarian work globally and its commitment to supporting affected peoples in times of crisis.
    • Syria and the Lifting of Sanctions: A significant political event discussed is the announcement by US President Donald Trump from Riyadh to lift sanctions on Syria, which occurred over a week prior to the source’s publication, in fulfillment of a request from Saudi Crown Prince Prince Mohammed bin Salman. This is seen as a new victory for Saudi diplomacy and a major turning point not just in the American approach towards Syria but also in shaping the landscape of the greater Arab region and its stability. These changes are expected to have positive political, economic, and social repercussions for the Syrian citizen. The sources emphasize the importance of the Syrian leadership utilizing the outcomes of this decision to assert its capability and consolidate the state’s unity on the ground. Trump explicitly stated at the Saudi Investment Forum that the sanctions on Syria were brutal and obstructive, and that the time had come for Syria to rise, announcing his intention to order the lifting of sanctions to provide Syria with an opportunity for growth and development. The sources consider that placing this decision into effect and defining a timeframe for its implementation would constitute a transformation in the economic path of the country, which has been exhausted by war. The importance of this decision is underscored by the visible celebration from Prince Mohammed bin Salman upon Trump’s announcement, even standing to salute him. The widespread celebrations and optimism among Syrians in the streets are also noted. Trump did not fail to indicate that his decision regarding the lifting of sanctions came after discussing the matter with the Crown Prince, who urged him to consider it to help Syria reintegrate into the international system after more than a decade of isolation. Such a decision necessitates swift action from the American side to fill the vacuum left by the fall of Assad and prevent Russia and Iran from attempting to build new influence in Syria. The situation is described as beneficial for all parties involved, as no one wishes to see a failed state. The lifting of sanctions on Syria by Trump is considered one of the most successful objectives of the visit, adding a new achievement for the Kingdom’s diplomacy and soft power and reflecting the strong international standing and relationships the Crown Prince holds with prominent global leaders, including President Trump. The significance of a stable Syria for regional and international peace and stability, as well as for the United States itself, is highlighted. It is argued that had the United States not adopted this decision, the Syrian state would have been compelled to turn to its main rivals and competitors such as China, Russia, and Iran. The remaining challenge is for the Syrian government, with the support of its regional surroundings and international powers, to make good use of this decision.
    • Saudi Arabia’s Role in Regional Stability: The Kingdom, under the leadership of Crown Prince Prince Mohammed bin Salman, continues its efforts to strengthen stability in Arab countries affected by conflicts, such as Sudan and Yemen. In Sudan, Saudi Arabia has advocated for the formation of a civilian government to achieve a transition. In Libya, the Kingdom supports a peaceful political solution. These positions reflect the Kingdom’s commitment to the stability of the region and avoiding political chaos. In Yemen, the Kingdom persists in its efforts to achieve peace through diplomatic initiatives and support for humanitarian projects. These actions reinforce its position as a regional force for peace. The Kingdom also seeks to expand investment in joint Arab projects, particularly those focusing on infrastructure, energy, and technology.
    • Governance and Domestic Vision: The Kingdom’s Vision is rooted in activating the regional development strategy, which is described as a guaranteed scientific methodology founded by Crown Prince Prince Mohammed bin Salman. The strategy aims to achieve comprehensive development in all regions with their governorates and cities. A key objective of the Vision is the maximum utilization of the relative advantages of each region. The leadership recognized early on the abundant resources in each region, and activating this strategy at the opportune moment allowed for the achievement of balanced regional development by investing in the capabilities of each region individually to create complementarity and establish a strong national economy. The Vision 2030 is also referenced in relation to cultural initiatives, such as the launch of new Arabic calligraphy fonts, which is seen as a strategic direction within the Vision to elevate culture and the Arabic language. Progress in the housing sector is presented as a result of the ambitious vision and generous support provided by the government. Vision 2030 is linked to the support for sports in the Kingdom. Discussions within the Shura Council highlight governmental focus areas, including improving administrative court efficiency, developing performance in judicial services, overseeing prison achievements including inmate reintegration, and evaluating strategies for job localization and supporting working families.
    • International Standing and Diplomacy: The visit of US President Donald Trump and the subsequent reactions are presented as evidence of the Kingdom’s significant position on the international stage. Major international media outlets recognized the visit and Trump’s speech as marking a turning point in relations and acknowledging the Kingdom’s strategic importance. Prince Mohammed bin Salman is described as the “most ambitious face of modernization in the region”. The visit’s outcomes included substantial trade agreements and security understandings. The reception of the US President is described as embodying the Arab and Islamic spirit of hospitality, respect, and appreciation. Trump himself reportedly felt at home and expressed his gratitude for the warm welcome. The symbolic gesture of the Crown Prince receiving the US President in Diriyah while wearing traditional Saudi attire is interpreted as a popular welcome distinct from rigid official protocol, emphasizing simplicity, authenticity, and pride. The Crown Prince’s speech is cited as reaffirming the Kingdom’s strength derived from its Arab and Islamic identity.

    Overall, the sources emphasize the proactive role of the Saudi leadership, particularly Crown Prince Prince Mohammed bin Salman, in driving forward both domestic development through the Vision and enhancing the Kingdom’s standing and influence in regional and international political affairs.

    Saudi Arabian Economic Vision and Global Dynamics

    Based on the provided sources, several aspects of the economy are discussed, primarily in the context of the Kingdom of Saudi Arabia’s development vision and its interaction with global economic trends.

    Vision 2030 and Domestic Economic Strategy

    The Kingdom’s economic strategy is deeply rooted in activating the regional development strategy, a scientific methodology founded by the Crown Prince. This strategy aims to achieve comprehensive development across all regions, governorates, and cities. A key objective is the maximum utilization of each region’s relative advantages and investing in their individual capabilities to create complementarity and establish a strong national economy. This approach is intended to achieve balanced regional development. The Vision’s goals are also linked to governance and regulating performance within governmental entities. Progress in sectors like housing is presented as a result of this ambitious vision and government support [implied by mention of housing sector advancements within the context of Vision 2030 goals]. Furthermore, Vision 2030 is identified as a pillar for transforming the sports sector into one of the national economy’s foundations and enhancing the Kingdom’s position as a global sports destination. It also aims to improve the quality of life and support public health. The digital transformation facilitating the journey of pilgrims is presented as a practical embodiment of Vision 2030’s goals, particularly in improving the experience of the guests of God and providing quality services that meet visitors’ aspirations. Student projects achieving success internationally are also seen as a practical translation of Vision 2030 and an investment in empowering youth’s scientific and innovative energies for building the future.

    Specific Economic Sectors and Activities

    The sources touch upon various economic activities:

    • Waste Management: The Shura Council has discussed transforming the relationship with related entities to build a model for attracting investment in the waste management sector, coordinating with relevant bodies, and increasing efforts to spread awareness about safe disposal.
    • Scientific Research: The Kingdom aims to occupy an advanced position in scientific research and innovation, with the care shown for research in Metagenomics and Microbiome reflecting the leadership’s commitment to supporting research. The conference for these fields aims to strengthen the sustainability of its scientific outcomes.
    • Non-Profit Sector: Initiatives have been launched to support and develop the non-profit sector, aiming to qualify volunteers, increase organizational efficiency, and stimulate social innovation to contribute to the sector’s sustainability and impact.
    • Labor Market: Discussions within the Shura Council have included strategies for job localization and supporting working families, emphasizing the necessity of reviewing the mechanism for mandatory classification and performance measurement to ensure fairness and effectiveness. There’s a call to monitor targeted job localization in the private sector and ensure employees receive agreed-upon wages. Innovative approaches like remote work initiatives (“Hail Nearby”) are being explored to enable residents to work with local and global companies, fostering community stability and expanding opportunities in sectors like information technology, human resources, accounting, and consultations.
    • Sports Sector: The sports sector is highlighted as a growing area, linked to Vision 2030. The Roshn Saudi League is mentioned as the strongest league. Clubs like Al-Ittihad celebrating winning the league title are noted. The First Division League’s “PLAY-OFF” system to determine promotion to the professional league is also discussed, aimed at increasing promotion opportunities and improving the technical level and competitiveness.
    • Energy Sector: Oil prices are noted as having been exposed to fluctuations but showing recovery. The report mentions discussions about calls to stop investment in oil, gas, and coal based on an international energy agency report, which suggests no need for new investment in fossil fuel supplies by 2050. However, the sources counter this by stating that the world today consumes more of all energy types than ever before.
    • Logistics and Transportation: Hail region’s strategic location and possession of a railway, international airport, and logistics centers are highlighted as competitive advantages for investment.
    • Tourism and Pilgrim Services: The leadership places great importance on serving the guests of God. The comprehensive plans for lodging, transportation, and services are described as being at a global level, reflecting the Kingdom’s commitment to providing an honorable image of Islam and the country of the Two Holy Mosques. This service is considered a national priority and an unmatched investment.

    International Economic Relations and Challenges

    The sources mention international trade dynamics and challenges. The trade agreement between the United States and China for 90 days is expected to contribute to easing customs disputes and reviving hopes for resolving geopolitical tensions. However, the sources also note that official data from China indicates a slowdown in industrial production growth in April, though the economy remains better than expected. While easing trade tensions could benefit bilateral trade and global economic recovery, experts warn that President Trump’s unpredictable approach and short-term truce might continue to cast shadows on the Chinese export-dependent economy, which still faces 30% tariffs. Despite difficulties, China’s foreign trade has overcome challenges and maintained steady growth, demonstrating strong resilience and international competitiveness.

    The lifting of sanctions on Syria by the US President, following a request from the Saudi Crown Prince, is expected to have positive political, economic, and social repercussions for the Syrian citizen [sources from previous turn].

    Challenges mentioned include the potential long-term negative consequences of insufficient investment in the oil sector, the challenges faced by Arabic calligraphy from digital technologies affecting traditional handwriting, and the negative social impacts of excessive social media use, particularly among children, including focusing on materialism and consumerism.

    Saudi Arabian Sports: Football, Vision 2030, and League Competition

    Based on the provided sources, the discussion around sports primarily focuses on football in Saudi Arabia, its competitive landscape, and its connection to national development efforts, with brief mentions of handball and squash.

    Here’s a breakdown of the key aspects related to sports:

    • Vision 2030 and the Sports Sector: The title of one source explicitly links “Vision 2030 and Support for Sports in the Kingdom of Saudi Arabia”, indicating the national vision’s role in the development and support of the sports sector. Former US President Trump is also mentioned praising Saudi Arabia’s hosting of the 2034 World Cup, suggesting the Kingdom’s growing role in hosting major international sporting events.
    • Football Leagues and Competition:The Roshan Saudi League is described as the strongest league.
    • Al-Ittihad is prominently featured for winning the Roshan Saudi League title. This victory led to significant celebrations in Jeddah, where fans gathered to watch the match on large screens. The win is characterized as a deserved achievement, resulting from consistent high performance throughout most of the season, rather than luck. The team is referred to as the “Golden Brigade”, and their title is seen as the start of a new era for Al-Ittihad, solidifying its position as a formidable team in Saudi football. Key figures mentioned in connection with the win include players like Benzema, Kante, and Al-Balan, as well as Coach Laurent and club President Louay Al-Masoudi.
    • The competitive nature of the Roshan League is highlighted by the ongoing competition for spots in the Asian Champions League and the Saudi Super Cup.
    • A challenge exists for nine clubs who are in close competition to avoid relegation.
    • Al-Nasr is identified as the runner-up in the Roshan League and is continuing training. Injuries are noted for Al-Nasr players Hassan Tambakti and Cancelo, who are receiving treatment and will be absent from the upcoming match due to lack of readiness. Cristiano Ronaldo is mentioned as having returned to training, although there are internal discussions questioning his demands and noting the team’s performance.
    • The First Division League employs a “PLAY-OFF” system to determine the third team promoted to the professional league. This system is in its second consecutive season and aims to increase promotion opportunities, raise the technical and competitive level of teams, and boost viewership and marketing interest. Neom and Al-Najma have already secured promotion.
    • Upcoming matches are mentioned, including Al-Nasr versus Al-Wehda. Semi-final matches are also referenced, with Al-Shabab described as motivated to challenge the champion and Al-Qadsiyah threatening Al-Orouba’s aspirations.
    • Handball: The sources mention semi-finals for the Handball Cup, with the finalists expected to be determined soon.
    • Squash: A squash championship is noted, with prize money awarded to the winners .
    • Training: Training activities are shown in images and mentioned for teams like Al-Nasr.

    Saudi Arabian Culture and Vision 2030

    Based on the provided sources and our conversation, the discussion of culture centers around several key areas, primarily within the context of Saudi Arabia: its heritage, arts, identity, and national initiatives to support these aspects.

    Here are the notable points regarding culture:

    • Vision 2030 and Cultural Prioritization: Saudi Vision 2030 places culture and the Arabic language among its priorities. This indicates a strategic national focus on cultural development and preservation.
    • Arabic Calligraphy:The Saudi Ministry of Culture launched two new printing fonts, “The Saudi Font” and “The First Font,” in April. This initiative aims to renew heritage and present it in a contemporary framework.
    • The launch is considered a qualitative step in the journey of Arabic calligraphy, intended to revive its spirit, drawing inspiration from the oldest inscriptions and manuscripts, and strengthening its presence in the digital age. It embodies a strategic orientation of Vision 2030.
    • Arabic calligraphy is described as having a long history of rich cultural continuity, influencing minds and hearts globally. It evolved beyond mere decoration or text documentation to become a human language carrying symbols of identity, refined taste, and the spirit of innovation.
    • Arabic calligraphy art is admired in exhibitions and museums in Arab countries and internationally, turning letters into artistic masterpieces reflecting the depth and splendor of Arab civilization.
    • An example of its global impact is an anecdote about visitors in Brazil wanting Arabic words inscribed on their bodies after seeing an exhibition, expressing deep cultural and spiritual meanings. Arab calligraphers participating in events often write visitors’ names beautifully, creating a sense of wonder and making the art a bridge for cultural connection.
    • Arabic calligraphy is registered on the UNESCO Intangible Cultural Heritage list.
    • Despite its rich history, Arabic calligraphy faces challenges in the modern era, notably the rise of digital technologies and computers, which have reduced the use of handwriting. The flexible nature of Arabic letters posed difficulties for technology companies designing digital fonts. The new Saudi fonts aim to provide solutions to integrate the aesthetics of traditional calligraphy into the digital environment.
    • Learning and mastering traditional calligraphy is challenging, requiring effort and specialized tools, which, coupled with reduced technical education and reliance on technology, has led to a decline in skill among newer generations. The loss of aesthetic sense and lack of awareness about calligraphy’s importance to identity are also significant challenges.
    • There is a call for initiatives that combine authenticity and technology to revitalize Arabic calligraphy through modern educational programs, competitions, and events, positioning it as a bridge between the past and future, and an essential part of national identity. It is seen as an art that is not just historical but represents the future.
    • Heritage Museums and Preservation:The Misk Heritage Museum “Asan” project was launched in Diriyah.
    • This museum, affiliated with the Misk Foundation, features an innovative design inspired by the Najdi architectural style, reflecting the Kingdom’s heritage and architectural identity.
    • It will include a specialized lab for restoring and maintaining heritage and antique items, serving as a hub for knowledge exchange and supporting future museum specialists.
    • “Asan” aims to provide inspiring interactive experiences, bridging generations and strengthening national pride and belonging to the Saudi identity, thereby solidifying Saudi heritage’s global standing. It is considered a significant addition to Diriyah’s cultural projects, aiming to make Diriyah a vibrant global cultural destination rooted in history and authentic national identity.
    • Support for Arts and Cultural Events:The Ministry of Culture, in collaboration with the Ministry of Education and the Associations Support Fund, initiated the “Art Journey” program.
    • This program includes art training workshops in cities like Riyadh, Jeddah, and Dammam.
    • Saudi actress Ilham Ali was honored at the “Woman in Cinema” event at the Cannes Film Festival, organized by the Red Sea Film Foundation. She saw this as an addition to her career.
    • The “Woman in Cinema” event aims to showcase new cinematic works, attract quality productions, and provide opportunities for films to compete, particularly those by first or second-time directors addressing youth issues, supporting youth ideas and leadership.
    • Cultural Identity and Diplomacy:The welcome given to President Trump in Diriyah, featuring elements like Arabic coffee and dates, is described as reflecting authentic Arab and Islamic hospitality, kindness, and respect. This scene, including the presence of Arabian horses and a special carpet, was interpreted as a powerful visual representation of the Kingdom’s deep roots, pride in its national identity, and its embrace of progress.
    • The Crown Prince’s speech in Arabic emphasized Saudi Arabia’s strength derived from its deep Arab and Islamic identity. This cultural presentation was seen as a glimpse into the Kingdom’s identity and culture, promoting it as a global destination.

    Saudi Healthcare: Advancements, Research, and Therapies

    Based on the provided sources and our conversation history, the discussion of healthcare touches upon several key aspects:

    1. Medical Advancements and Expertise:
    • Saudi Arabia is highlighted for its advanced medical capabilities and specialized medical competencies, particularly in performing complex surgeries.
    • The separation of conjoined twins is presented as a significant medical and humanitarian achievement, described as one of the most complex surgeries globally, especially when vital organs or the skull are involved. Saudi doctors are credited with successfully undertaking such procedures, reducing the risk to a minimum. This work is considered a global reference in complex surgeries.
    • A specific instance of medical success is reported at Dr. Sulaiman Al Habib Hospital in Al Sahafa, where a 60-year-old man’s sight was saved after a severe, sudden retinal detachment. The surgery, involving retinal detachment, silicone oil injection, and laser, was successful, leading to full recovery and regained normal vision for the patient. The hospital is noted for employing highly experienced and specialized medical professionals and using advanced equipment to provide high-quality, safe, and modern healthcare services aligning with the highest international standards.
    1. Research and Collaboration:
    • The first global conference on Metagenomics and Microbiomes was held in Riyadh, organized by a specialized society. This conference served as a leading scientific platform aimed at reviewing the latest research and discoveries and enhancing collaboration among specialists in this vital field, thereby serving the advancement of the health sector.
    1. Humanitarian Aid:
    • The King Salman Humanitarian Aid and Relief Centre continues its efforts by delivering urgent medical supplies and consumables to areas in need, such as the Gaza Strip. This aid is provided in response to critical health challenges, including rising numbers of injured individuals.
    1. Therapeutic Approaches:
    • The concept of “Therapy by Forgetting” (العالج بالن�صيان) is discussed as a potential therapeutic approach for those suffering from painful memories. While acknowledging it sparks debate among scientists and doctors, recent research is presented as suggesting it is a promising method.
    • The therapy works by reprocessing negative memories to reduce their emotional impact, rather than achieving complete forgetting, and can potentially turn painful experiences into lessons that build psychological resilience.
    • Strategies mentioned include Exposure Therapy, which gradually exposes individuals to anxiety-inducing situations to reduce the fear response by associating the event with safety instead of terror. Patients with PTSD have shown significant improvement with sessions integrated with reconsolidation techniques.
    • Another strategy discussed is preventing memory retrieval through deliberate “memory suppression,” described as the brain’s ability to “delete files” from its storage system by weakening associated neural links. Transcranial Magnetic Stimulation (TMS) is noted as a method that uses magnetic pulses to stimulate specific brain areas to achieve this.
    1. International Engagement:
    • Saudi Arabia participates in international health forums, such as the meeting of Arab Health Ministers and the World Health Assembly. This indicates engagement in broader regional and global health discussions and strategies.
    • Technical innovation in managing crises, such as those during Hajj, is mentioned, implying the application of healthcare-related logistics and support for large gatherings.
    1. Technology and Health Data:
    • The sources touch upon the collection and use of personal data from smart devices, including health applications like fertility trackers and fitness apps, noting how this information can be used for marketing purposes. This raises points related to health data privacy and the increasing intersection of technology with personal health information.

    Overall, the sources highlight specific areas of healthcare excellence, research efforts, humanitarian contributions, innovative therapeutic discussions, and international participation within the context of Saudi Arabia.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Hammaas – Israel War Day by Day Descriptions TV7 Israel Reports

    Hammaas – Israel War Day by Day Descriptions TV7 Israel Reports

    TV7 Israel News – “Sword of Iron”: Israel at War – UPDATE 07.10.23

    Israel Under Attack: A Multi-Front War

    Israel is under attack by Hamas, suffering a significant surprise assault involving widespread rocket fire and ground incursions. The attack’s scale and brutality have shocked the nation, raising questions about intelligence failures and military preparedness. Experts discuss the multifaceted challenges facing Israel, including the need for a robust response, the handling of numerous hostages, and the potential for wider regional conflict. The conversation also explores the international response, particularly from the United States, and the political ramifications within Israel. The discussion emphasizes the uncertainty and complexity of the evolving situation.

    Descriptive Alt Text
    Designed for iPhone 12 Case/iPhone 12 Pro Case with Magnetic [13 FT Military Drop Protection] [Compatible with Magsafe] Slim Shockproof with Anti-Fingerprint Phone Case, Fluorescent Green

    Israel’s 2023 War: A Study Guide

    Crisis in Israel: A Study Guide

    Quiz

    Answer each question in 2-3 sentences.

    1. What event is the broadcast marking the 50th anniversary of?
    2. What are the three key goals of the Hamas attack, as stated in the broadcast?
    3. According to General Gilad Kohn, what is the main idea of a defensive operation that is more important than intelligence?
    4. How did Colonel Ren Ben Shalom say that international allies were supporting Israel?
    5. What was the initial response of the US government, as mentioned in the broadcast?
    6. According to General Gavish, how many rockets had been fired at Israel within the first 12 hours of the attack?
    7. What is the risk that Colonel Ren Ben Shalom mentions regarding the “hourglass of legitimacy” during wartime?
    8. According to General Hin, what analogy is drawn to explain Israel’s response to the attack?
    9. What does Colonel Ben Shalom say about Hamas and Iran?
    10. According to the broadcast, what is one of the most challenging aspects for Israel as mentioned by Colonel Ben Shalom?
    Descriptive Alt Text
    Upgraded Magnetic for iPhone 12 Case/iPhone 12 Pro Case, Compatible with Magsafe, Mil-Grade Protection, Yellowing Resistant, Anti-Scratch, Phone Case for iPhone 12/12 Pro,Blue

    Answer Key

    1. The broadcast is marking the 50th anniversary of the 1973 Yom Kippur War, which is described as the worst intelligence failure in Israel’s history. The broadcast reflects on lessons learned from the 1973 war.
    2. The three key goals of the Hamas attack were to murder as many Israeli civilians and troops as possible, to kidnap if possible, and to destroy anything in their path.
    3. The main idea of a defensive operation, according to General Kohn, is that troops should be prepared in a basic position to be ready for a surprise attack, regardless of any intelligence alert. It’s more about preparedness than relying on intelligence.
    4. Colonel Ben Shalom noted that allies were showing support by stating that Israel has the right to defend itself and by offering material support. He said such support is critical for morale and for the means to conduct the necessary campaign.
    5. The US government quickly voiced strong support for Israel, publicly stating that they would ensure Israel has the means to defend itself and threatened Hamas and other proxies not to join the fight. They also pledged eight billion in financial support.
    6. General Gavish stated that approximately 3,000 rockets had been fired at Israel in less than 12 hours. To provide context, he compared this number to the 4,000 rockets fired during the entire month of the 2006 conflict with Hezbollah.
    7. Colonel Ben Shalom explains that the “Hourglass of Legitimacy” starts draining quickly during wartime. He emphasizes the importance of working with international allies to maintain support, as offensive actions could cause the support to drain.
    8. General Hin analogizes Israel’s need to achieve decisive victory to the American response to Pearl Harbor, suggesting an absolute dedication to achieving a decisive victory. This implies the need for an unconditional surrender from Hamas.
    9. Colonel Ben Shalom says that Hamas is not a direct proxy of Iran that is turned on and off, but that the relationship is more complex. He says all of the entities in the region act on their own interests.
    10. One of the most challenging aspects for Israel is the number of hostages and prisoners of war held in Gaza. The strategic implications of this situation could affect how Israel conducts its military campaign, including how it uses weapons.
    Descriptive Alt Text
    Independent Button Type 1.5-inch Fitness Room Rest Timer, Suitable for Gym Exercise/School/Home Exercise/Boxing Gym/Indoor Rock Climbing (1.8-inch Data PC Transmission Mode)

    Essay Questions

    1. Analyze the key intelligence and strategic failures that led to the Hamas attack, drawing parallels and differences to the 1973 Yom Kippur War. How do these failures impact Israel’s response to the current conflict?
    2. Discuss the significance of international support for Israel in this conflict. How does this support influence Israel’s strategic and military decisions?
    3. Compare and contrast the different strategic perspectives offered by the panel, focusing on the balance between military actions, long-term goals, and international law/morality.
    4. Examine the potential for a multi-front war, considering the involvement of Hezbollah, Iran, and other regional actors. How might these dynamics further complicate Israel’s military response?
    5. Discuss the strategic implications of the hostage situation in Gaza, particularly in the long-term. How does this hostage situation affect Israel’s operational plans and future strategies?
    Descriptive Alt Text
    CUPSHE Summer Dress for Women V Neck Sleeveless Floral Cutout Smocked Ruffled Maxi Formal Beach Dress

    Glossary

    IDF: Israeli Defense Forces, the military forces of the State of Israel.

    Hamas: A Palestinian Sunni-Islamist fundamentalist organization. It is considered a terrorist organization by several countries, including the US and the UK.

    Yom Kippur War: A war fought by Israel and a coalition of Arab states in 1973, also called the October War.

    Iron Dome: An Israeli mobile all-weather air defense system designed to intercept short-range rockets and artillery shells.

    Gaza Strip: A self-governing Palestinian territory on the eastern coast of the Mediterranean Sea, often referred to in the broadcast as “the geodist infested terror Enclave”.

    Hezbollah: A Shia Islamist political party and militant group based in Lebanon. They have been a proxy of Iran.

    Multisector War: A conflict involving multiple fronts and theaters of engagement, as opposed to a single point of conflict.

    Legitimacy (in a military context): The degree to which a military operation is seen as just, necessary, and lawful, particularly in the eyes of the international community and domestic population.

    Proportionality (in the context of war): A principle of international humanitarian law that dictates that the harm caused to civilians during an attack must be balanced against the military advantage gained.

    Axis of Resistance: An alliance of groups and countries primarily in the Middle East that have an anti-Western and anti-Israeli stance, often led by Iran.

    Prisoner of War (POW): A person, whether a combatant or a non-combatant, who is captured and held by the enemy during or immediately after an armed conflict.

    Hostage: A person held captive by a group or individual, typically for the purpose of demanding a ransom or concession.

    Counterinsurgency: Military and political actions taken against insurgency, which is an armed rebellion against an established authority.

    Strategic Goal: The broad overall objective to be achieved through a military or political campaign, providing direction and purpose.

    Tactical Goal: A specific objective of a military operation, typically on the immediate battlefield, designed to contribute to the overall strategic goal.

    Judicial Coup: Reference to the controversial judicial reforms in Israel, which caused political unrest.

    Descriptive Alt Text
    Womens Tank Tops High Neck Sleeveless Ribbed Tank Casual Basic Thick Strap Slim Fitted Racerback Shirts

    Hamas Attack on Israel: Analysis and Implications

    Okay, here is a detailed briefing document summarizing the key themes, ideas, and facts from the provided text:

    Briefing Document: Analysis of Recent Events in Israel

    Date: October 8, 2023 (Based on context of the text)

    Subject: Analysis of the Hamas Attack on Israel and Immediate Aftermath

    Sources: Excerpts from TV7 Broadcast (Pasted Text)

    Executive Summary: This briefing document analyzes a broadcast following a large-scale attack on Israel by Hamas on October 7th, 2023. The attack, occurring 50 years after the Yom Kippur War, represents a significant intelligence and military failure for Israel, raising serious questions about preparedness and defensive doctrines. The broadcast features discussions with military experts and analysts on the nature of the attack, Israel’s response, international support, potential for escalation, and long-term strategic implications.

    Key Themes & Ideas:

    1. Intelligence and Preparedness Failure:
    • The broadcast highlights a significant intelligence failure, echoing the unpreparedness of the 1973 Yom Kippur War.
    • General Kohan emphasizes that defensive readiness shouldn’t rely solely on intelligence, stating, “The main idea of defensive operation as a concept is that you must prepare the troops in a basic position in order to be ready to get a surprise attack without the capability to be prepared before according to intelligence alert.”
    • There is a criticism of over-reliance on intelligence, with the assertion that “commanders in the way they are planning and conducting the forces in the field are more important than their intelligence effort.”
    • The broadcast acknowledges that despite training and clear scenarios, the scale and execution of the attack were unprecedented. This underscores the need for vigilance and a reevaluation of existing defense strategies.
    • The concept of conception and wrong preconceptions is blamed for the failure: “We are witnessing another exemplification of what everyone spoke after 1973 the conception actually we cannot think without conception on the other side we cannot get rid from wrong conception and here’s a conception is really responsible to the idea that Hamas are really deterred from going to such an operation.”
    1. Nature of the Attack:
    • Hamas launched a coordinated attack, using a massive rocket barrage followed by a ground invasion.
    • The attack involved “hundreds of Palestinian Terror operatives” with three clear objectives: “murder as many as possible Israeli civilians and troops, kidnap if possible and destroy whatever is in their path.”
    • The sheer volume and intensity of the rocket fire were unprecedented, with reports of “3,000 Rockets plus minus…in less than 12 hours”.
    • The attack deliberately targeted civilians, confirming it as “classic classic terrorism,” per Colonel Ben Shalom.
    1. Impact on Israeli Military Doctrine:
    • The attack is described as a “stunning and stinging defeat” for Israel, undermining the perception of the IDF’s power and deterrence capabilities.
    • The broadcast mentions that “the ruin that has befallen the Israeli defense Doctrine the Terence the prowess usually ascribed to the Israeli Armed Forces” is a crucial takeaway of the attacks.
    • There’s an assertion that the situation has moved from a “campaign” to a “war,” requiring a different strategic and operational approach.
    1. Israeli Response and Objectives:
    • Initial responses involved containing the situation on the ground and launching counterattacks in Gaza.
    • The focus has shifted towards a more decisive military action, with General Kohan arguing that “Israel has no choice but to defeat Hamas actually to bring it to unconditional surrender.”
    • The importance of defining clear objectives for the campaign is highlighted: “I think we learned the lessons and hopefully tomorrow we will know what the government laid out as the plan what are we trying to achieve and then how to achieve it”.
    • The discussion of rules of proportionality is mentioned, where it is noted that, unlike terrorists, Israel is bound by international law and morals.
    • The long-term goals of the campaign are unclear and debated, raising concerns about the future of Gaza.
    • There’s a recognition that the fighting will be challenging due to the tactics of Hamas, which “are embedded in their population.”
    1. International Support and Geopolitical Implications:
    • The United States has pledged significant support, including “8 billion to support Israel.”
    • There is strong international support for Israel’s right to self-defense. However, it’s acknowledged that this support could diminish as civilian casualties in Gaza rise.
    • The broadcast notes calls from world leaders: “three first phone calls of course uh the first was of President Joe Biden the second was of prime minister markut and the third one of President Emanuel mcon the United States the Netherlands and France.”
    • The threat to Hezbollah and other proxies by the US Administration is noted: “…the United States came out and openly threatened hasah and other proxies saying that if they join the fight they would bear the brunt”.
    • There is a discussion of the potential for a multi-front war, involving Hezbollah and other actors in the region, particularly given past Iranian rhetoric, “…A Al speaking at a Islamic Unity conference in tan during which he Proclaim that the end of Israel is near”.
    • Concerns are raised that the judicial reforms and domestic political challenges in Israel weakened its deterrence capacity in the eyes of its enemies.
    • There is concern about international opinion in a protracted war, with the recognition that the “Hourglass of legitimacy starts draining and it drains fast.”
    1. Hostages and Prisoners of War:
    • A key element is the abduction of Israeli civilians and soldiers to Gaza.
    • A distinction is drawn between captured soldiers (prisoners of war) and kidnapped civilians, although it is acknowledged that for Hamas, there is likely no distinction.
    • There’s concern that Hamas will use hostages to extract concessions, such as the release of Palestinian prisoners.
    • The families of those held in Gaza are expected to organize and lobby for their release.
    • Colonel Ben Shalom notes that “we do pay the price once in a while we stopped and recalculated what are we going to do to do tomorrow I don’t know.”
    • The broadcast acknowledges the emotional toll and strategic challenges posed by the hostage situation
    1. Potential for a Multi-Front War and Strategic Considerations:
    • The possibility of a multi-sector war involving Hezbollah, Iran, and other actors is a significant concern.
    • The need to consider all potential adversaries and “the head of the snake” is discussed.
    • The importance of the US as a deterrent factor is highlighted, “the United States is very important to the det turns of Israel and mainly through the north but also through the East”.
    • The broadcast notes that Israel has been preparing for multi-sector conflict.
    1. Internal Israeli Politics:
    • The broadcast touches on the potential for a unity government in Israel, to navigate the crisis.
    • A potential for a political restructuring, “These were obviously uh discussions that were held between Nan and laid uh and uh Benny gun respectively.”

    Key Facts:

    • The attack occurred 50 years after the 1973 Yom Kippur War.
    • Hamas launched a massive rocket barrage, followed by a ground invasion.
    • Over 250 Israelis are confirmed dead, and over 1100 wounded as of the broadcast’s recording.
    • Thousands of rockets were fired by Hamas in less than 12 hours.
    • Many Israelis, including civilians, are held in Gaza as hostages.
    • The United States has pledged 8 Billion in support of Israel.
    • The Biden administration has warned other proxies not to engage in the conflict.

    Conclusion:

    The Hamas attack on October 7th represents a significant strategic and intelligence failure for Israel, forcing a reevaluation of its defense doctrines and creating a complex geopolitical situation. The attack could potentially escalate into a wider regional conflict, and the hostage situation creates an extremely sensitive political and strategic dynamic. The broadcast underscores the need for clear strategic objectives, decisive military action, and careful consideration of international ramifications, while acknowledging the painful lessons of past conflicts.

    Recommendations:

    • Conduct a thorough investigation of the intelligence failures that led to the attack.
    • Re-evaluate Israel’s military doctrine and preparedness.
    • Develop a clear and cohesive strategy for dealing with Hamas in Gaza.
    • Engage in diplomacy to ensure continued international support for Israel.
    • Address the hostage situation with sensitivity, while also safeguarding national security interests.
    • Prepare for the possibility of a multi-front conflict.

    This briefing document serves as a preliminary analysis of the unfolding situation. Further updates and analysis are required as the conflict develops.

    Descriptive Alt Text
    Glycolic Acid Resurfacing Pads (60 Count) – 10% Ultra Pure Glycolic Acid + 2% Salicylic Acid, Radiant Skin Renewal & Brightening Peeling Pads for Face

    The 2023 Israeli-Palestinian Conflict

    FAQ on Recent Israeli-Palestinian Conflict

    • What prompted the recent large-scale attack by Hamas on Israel?
    • This attack, occurring on the 50th anniversary of the Yom Kippur War, was initiated by Hamas with a massive rocket barrage followed by a ground assault aimed at killing Israeli civilians and soldiers, kidnapping people, and destroying property. This operation was characterized by a level of planning and intensity that took many by surprise. It has been suggested the timing was also intended to derail the peace process with Saudi Arabia.
    • What initial impacts has the attack had on Israel?
    • The attack has had a significant human cost, with hundreds killed and wounded and Israelis taken prisoner. Beyond the tragic human toll, the attack has shaken the prevailing Israeli defense doctrine and cast a shadow on the perceived strength and preparedness of the Israeli armed forces. The sheer scale and sophisticated execution of the attack have led to many calling it a major intelligence failure and military defeat for Israel.
    • How does this conflict compare to the 1973 Yom Kippur War, and what lessons are being discussed?
    • Similar to the 1973 Yom Kippur War, the current conflict has exposed a critical failure in intelligence and a reliance on the assumption that Hamas was deterred. It highlights the importance of basic troop preparedness that isn’t solely reliant on intelligence warnings. The need to be vigilant, to avoid preconceived notions, and to maintain strong defensive positions regardless of perceived threats are among the key lessons from 1973 that are once again being emphasized.
    • What is the international community’s response to the attack on Israel?
    • There has been a prompt and significant outpouring of support for Israel from its allies, particularly the United States, which has quickly pledged financial and military support. Many countries, including the US, the Netherlands, and France, have offered strong backing for Israel’s right to defend itself. The international community largely condemns the brutal attacks by Hamas. It remains to be seen how this support will shift as the conflict continues, particularly with regards to large scale military actions by Israel into Gaza and their potential impact on the civilian population.
    • What are the key military strategies being discussed and implemented by Israel?
    • Israel’s initial military response involves containing the situation on the ground and conducting air strikes in Gaza. A core aspect of Israel’s defense is its Iron Dome system, which has been utilized to intercept a large volume of incoming rockets. There is also a focus on strategic thinking, not just within the Gaza strip, but with an eye to broader regional threats. Further actions are being contemplated that would target not only Hamas in Gaza, but also the leadership in other countries like Lebanon, Qatar, and Iran.
    • What is the perceived long term aim of Hamas and its motivations?
    • Hamas, as well as other actors like Hezbollah, are perceived to be highly calculated actors who are playing out their interests with patience, determination, and resilience. Hamas’s long game strategy is to exploit weakness from its adversaries to achieve a long term victory, even if that means a protracted conflict and a large loss of civilian life. While not a forward operating base of Iran, its operations align well with the overarching goals of groups that oppose Israel.
    • What challenges does Israel face in the context of the current conflict?
    • Israel faces complex challenges, including the presence of hostages in Gaza, and how that will impact military strategy, the long term goals of its campaign, the need to balance proportionality and legitimacy in its response and the potential for escalation on multiple fronts. It must also navigate the international political landscape, and maintain support while taking robust action. The influence of extremists in the Arab world and Iran also pose complex counter insurgency challenges.
    • What is the potential long term outcome of the conflict in the region?

    The long-term outcome remains uncertain. There is a widespread understanding that this campaign will extend beyond a limited engagement, with the potential for broader regional involvement. It is seen as an open-ended duration with a change in the normal paradigm of engagement, necessitating a long term commitment. The outcome in Gaza will have a broader impact on both the region, and a long term influence on Israel’s relationship with its enemies, allies and its own citizens.

    Descriptive Alt Text
    Dog Puzzle Toy Mental Stimulation – Dogs Food Puzzles Toys, Dog Treat Puzzle Feeder (Green Push-Intermediate)

    Hamas Attack on Israel: Analysis and Implications

    The sources discuss the Hamas attack on Israel, which occurred 50 years after the Yom Kippur War, and provide analysis of the events and their potential consequences [1].

    Here are some key points about the attack:

    • Timing and nature: The attack began at 6:31 AM with a barrage of rockets, followed by a ground assault by Palestinian operatives [1]. The attack involved murder of civilians and troops, kidnapping, and destruction [1].
    • Scale: The attack was described as a “full-scale ground attack” and included “thousands” of rockets [1]. There were 3,000 rockets fired in less than 12 hours [2]. The scale of the attack is described as “unprecedented” [3].
    • Casualties: The sources report that at least 200 Israelis were murdered and over 1,100 wounded in the initial attack, with the number of confirmed deaths later rising to 250 [3-5]. Many Israelis were taken as prisoners of war or hostages, and this is considered a major challenge [6].
    • Intelligence Failure: The attack is considered an intelligence failure, similar to the Yom Kippur War, with the failure to maintain vigilance and avoid preconceptions [1, 3]. Some argue that the failure is not only in intelligence but in the defensive operations, and that commanders are more important than intelligence efforts [3].
    • Motivations: Hamas’s goals included killing as many Israelis as possible, kidnapping individuals, and destroying property [1]. It’s also suggested that the attack might have been intended to disrupt the peace process between Israel and Saudi Arabia [7].
    • Israeli Response: Israel has declared a state of war, which is described as different from a campaign [8]. Israel’s initial response focused on containing the situation in the south, with ground forces engaging in fighting, along with counterattacks in Gaza [9].
    • International Response: The United States has pledged support to Israel [10]. The U.S. also threatened Hezbollah and other proxies [9].
    • Strategic Implications: There is concern that the conflict could escalate into a multi-front war, potentially involving Hezbollah and Iran [9, 11]. The conflict raises questions about Israel’s defense strategy, and its ability to deter future attacks [2, 5].
    • Hostage Situation: The hostage situation is considered a major component of this conflict, and may become a central bargaining point with Hamas [12]. There are concerns about how the Israeli government will respond to the hostage situation, with the possibility of releasing Palestinian prisoners in exchange [12].
    • Potential for a Longer Conflict: The sources indicate a concern that this may be a protracted conflict and not a brief engagement, and that Israel must be prepared for an “open-ended duration” [6]. Some believe that to achieve victory, Israel must commit to a long campaign [6].
    • Internal Israeli Politics: There are discussions about the potential for a unity government in Israel to address the crisis [13, 14].

    The sources highlight that the Hamas attack was a significant event, revealing vulnerabilities in Israel’s defense and raising questions about the future of the region.

    Descriptive Alt Text
    Enrichment Interactive Dog Treat Toy – Mental Stimulation for Dogs,Mentally Stimulating Dog Toys for Boredom Busy (Orange-Beginner)

    Israel’s Response to the Hamas Attack

    The sources discuss Israel’s response to the Hamas attack, which includes military actions, strategic considerations, and political ramifications. Here’s a breakdown:

    • Declaration of War: Israel has declared a state of war [1, 2]. This is described as a significant shift from a “campaign” to a full-scale war, which impacts how the military, police, and defense establishment operate [1, 2]. This declaration signifies a commitment to decisive action [3].
    • Initial Military Response: The initial response focused on containing the situation in southern Israel [4]. Ground forces are engaged in fighting in areas where there are still Hamas operatives and hostages [4]. There is an effort to clear these areas [4].
    • Counterattacks in Gaza: Israel has launched aerial attacks into Gaza [5]. These are expected to intensify in the coming hours and days [4]. There are reports of intense rocket fire from Gaza, with 3,000 rockets fired in less than 12 hours [6].
    • Focus on Offense: There is a recognition that Israel needs to move to the offensive [4, 7]. The military is preparing for a potentially long and broad campaign [4, 8]. It is understood that the way Israel behaves on the offensive will be a signal to other potential adversaries in the region [4].
    • Strategic Considerations Israel’s military strategy includes attack operations, alertness, and decisiveness [3]. There is an emphasis on applying these elements of the defense strategy [3]. There is also concern that the conflict could expand to other fronts, and Israel must be prepared for a multi-sector war [4, 9]. The possibility of confronting Hamas’s leadership in Qatar and the Iranian regime are also noted [9].
    • Potential for a Longer Conflict: It is recognized that this conflict may be protracted and not a brief engagement [8]. Israel must be prepared for an “open-ended duration” [8]. Some sources suggest that to achieve a decisive victory, Israel must be prepared for a longer campaign [8].
    • Hostage Situation: The hostage situation is a major challenge for the Israeli government [2, 8]. It is anticipated that the families of those held in Gaza will put pressure on the government to release Palestinian prisoners [2]. The government’s response to this issue is expected to be a major component of the campaign [2].
    • Internal Political Ramifications: The attack and the government’s response have sparked discussions about a potential unity government in Israel [10]. There is a sense that major politicians want to be part of a unified effort, but there are disagreements about policy [10].

    In summary, the Israeli response to the Hamas attack is multifaceted, involving military operations, strategic planning, and political considerations. The sources suggest a shift towards a more decisive and potentially prolonged engagement, with a clear focus on containing the immediate threat and preparing for a broader conflict. The hostage situation and the potential for political changes are also significant factors shaping the Israeli response [2, 8, 10].

    Descriptive Alt Text
    Refrigerator Deodorizer,Lasts for 10 Years,Fridge Deodorizer Kitchen Gadgets Odor Eliminator for Fridge & Freezer, Room,RV and New Home,More Effective Than Baking Soda Charcoal Air Purifier

    Israel-Hamas War: Consequences and Implications

    The sources discuss various potential consequences of the current war between Israel and Hamas, ranging from military and strategic implications to political and social ramifications. Here’s a breakdown of the key consequences mentioned:

    • Military and Strategic Consequences:
    • Protracted Conflict: The sources suggest that this conflict is likely to be protracted with an “open-ended duration” [1]. It’s not expected to be a short campaign [1-3]. This means Israel needs to prepare for a long-term engagement.
    • Multi-Front War: There’s a significant risk of the conflict expanding into a multi-front war, potentially involving Hezbollah in Lebanon, and Iranian proxies [4, 5]. Israel must prepare for a wider conflict [4]. The possibility of confronting Hamas’s leadership in Qatar and the Iranian regime are also noted [5].
    • Increased Military Activity: Israel is expected to intensify its attacks in Gaza [4]. There is a sense that Israel has no choice but to achieve a decisive victory, potentially leading to a large-scale offensive [3, 6].
    • Shift in Military Strategy: The conflict has led to a shift in Israel’s approach, with the declaration of a state of war. This means a move towards a more decisive and aggressive strategy, encompassing attack operations, alertness, and decisiveness [7, 8].
    • Need for Preparedness: Israel needs to be prepared for potential surprises, and also the possibility that the conflict could expand beyond Gaza [7]. There is an emphasis on the need to be prepared for a multi-sector war [5].
    • Impact on Regional Deterrence: The way Israel behaves on the offensive will send a signal to other potential adversaries in the region [4].
    • Political Consequences:
    • Potential for Unity Government: The crisis has sparked discussions about forming a unity government in Israel [9]. Major politicians may want to join forces, but there are also disagreements regarding policy.
    • Policy Changes: The conflict could lead to significant policy changes, particularly regarding the approach to the Palestinian Authority and the peace process [9]. The attack exposed the weakness of the policy of diminishing the Palestinian Authority [9].
    • Leadership Challenges: The war is a challenge to the current government, and the Prime Minister may see this as the last straw, potentially leading to a political shakeup [10].
    • International Pressure: There is a concern that international pressure and criticism could limit Israel’s actions, especially if there are high casualties in Gaza [3, 11]. The “Hourglass of legitimacy” will drain quickly, so Israel will need to work with allies and manage perceptions [2].
    • Hostage Crisis:
    • Central Bargaining Point: The hostage situation is expected to become a central point of the conflict [1, 12]. The families of those held in Gaza will likely put pressure on the government to negotiate their release.
    • Potential Prisoner Exchange: There’s a possibility of a large-scale exchange of Palestinian prisoners for Israeli hostages. This has the potential to be a major point of contention, with the potential for the release of thousands of Palestinian prisoners [12].
    • Long-term Issue: The hostage issue may not be resolved quickly. Even if the military campaign is over, the issue of the abducted Israelis could be drawn out [8].
    • Social Consequences:
    • Psychological Impact: The attack and the hostage situation will have a significant psychological impact on the Israeli population [13]. There is a sense of shock, sadness, and a loss of faith in Israel’s defense capabilities [13, 14].
    • Need for a Change in Paradigm: It is argued that there needs to be a change in how Israelis view the war, moving away from the desire for an immediate return to normalcy and accepting a longer duration of conflict [1].
    • Other Potential Consequences:
    • Disruption of Peace Process: The attack may have been intended to disrupt the normalization of relations between Israel and Saudi Arabia [6].
    • Impact on Regional Stability: The conflict could further destabilize the Middle East, especially if it expands beyond Gaza [11].
    • Shift in Hamas’s Role: There is a discussion regarding whether Israel will topple Hamas. But, there are also considerations about what would come after [10].

    In summary, the consequences of the current war are far-reaching, impacting military strategy, political dynamics, social well-being, and regional stability. The sources emphasize that this is not a short-term crisis and that Israel must be prepared for a prolonged and complex conflict with multiple consequences [1, 2, 4, 13, 14].

    Descriptive Alt Text
    Tire Inflator Portable Air Compressor – 15000mah Electric Air Pump,150PSI Portable Tire Inflator For Car,Led Light For Bike Tires Motorcycle, Auto, Ball, Bicycle (Art)

    International Support for Israel After Hamas Attack

    The sources discuss the international support for Israel following the Hamas attack, focusing primarily on the United States and other allies. Here’s a breakdown of the key points:

    • United States Support:
    • Immediate and Strong Support: The United States has shown immediate and strong support for Israel, with President Joe Biden making one of the first phone calls to Israeli leadership [1, 2]. The U.S. has explicitly stated its support for Israel’s right to defend itself [1].
    • Financial Aid: The United States has allocated $8 billion to support Israel in the event of this war [1, 3]. This is considered an unprecedented level of financial support [1].
    • Military Assistance: The U.S. has pledged to provide Israel with “all the means you need” [1]. This indicates a willingness to supply Israel with military equipment and other forms of support for a potentially long campaign [1].
    • Deterrent Threat: The United States has openly threatened Hezbollah and other proxies, warning them that they would “bear the brunt” if they joined the fight against Israel [4]. This is interpreted as a move to deter other actors from escalating the conflict [4]. The US wants to maintain stability in the Middle East and avoid a new war or front [5].
    • Strategic Importance: The support from the U.S. is viewed as a crucial factor in Israel’s deterrence strategy, particularly regarding potential threats from the north and east [6]. The US support is not surprising, according to one source, based on previous discussions and close working relationships between the US and Israeli forces [6].
    • Support from Other Allies:
    • Vocal Support: Other countries, such as the Netherlands and France, have also voiced support for Israel [2].
    • Air Support: Some allies have offered air support for Israel [2].
    • General Support: There is a sense that many of Israel’s friends and allies are standing with them [1].
    • Significance of International Support:
    • Moral Boost: The support from allies, especially the U.S., provides a significant moral boost for Israelis [1]. The feeling of having allies stand with them is important during this time of crisis.
    • Legitimacy: International support is important for maintaining the legitimacy of Israel’s actions, especially as the conflict continues [1]. During times of war the “Hourglass of legitimacy starts draining and it drains fast” [1].
    • Longer Campaign: The support from the U.S., especially, may be needed for a longer military campaign [1].
    • Limitations and Concerns:
    • Public Opinion: The sources note that international support for Israel may diminish, particularly if there are high civilian casualties in Gaza. The US government may be less tolerant of Israeli actions if there are many pictures and movies of casualties in Gaza [5].
    • Endurance of Support: There are questions about how long the Biden administration’s support for Israel will last, especially if Israel launches a ground maneuver into Gaza [5].
    • Need to Manage Perceptions: Israel needs to work with its allies and manage the international perception of the conflict, especially as it moves to the offensive [1].

    In summary, the sources indicate that Israel has received significant international support following the Hamas attack, particularly from the United States, which has offered financial aid, military assistance, and a strong deterrent message to other potential adversaries. This support is seen as vital for Israel’s military operations, as well as for maintaining its legitimacy and morale. However, there are also concerns about the potential for this support to wane, especially if the conflict intensifies or if there are high civilian casualties.

    Descriptive Alt Text
    2025 Latest Android Tablet, 10.4 inch 2000×1200 FHD Touchscreen,Tablet with Octa-Core Processor, 12GB RAM 128GB ROM 1TB Expand, WiFi 5, Dual Camera, BT5.0, 10000mAh, Split Screen, Big Screen(Blue)

    Israel’s Political Ramifications: Conflict and Unity

    The sources suggest several potential political ramifications stemming from the current conflict between Israel and Hamas. Here’s a breakdown of the key points:

    • Potential for a Unity Government: The crisis has sparked discussions about the possibility of forming a unity government in Israel [1, 2]. There’s a sense that major politicians across the political spectrum want to be part of a unified effort in response to the crisis [2]. However, there are also significant disagreements regarding policy that could impede the formation of such a government [2].
    • Desire for Unity: The electorate seems to want everyone to put aside political differences and pull together during this time of war [2].
    • Challenges to Unity: Despite the desire for unity, there are significant divisions regarding the makeup of the cabinet, the goals of the war, and the policies that should be implemented [2].
    • Challenges to the Current Government: The conflict poses a challenge to the current government led by Prime Minister Netanyahu [1-3].
    • Fragile Government: The current Netanyahu government has been described as fragile in the months leading up to the conflict [3]. The war may be seen as the “last straw” that could break the government [3].
    • Leadership Questions: The conflict raises questions about the government’s preparedness and its ability to handle the crisis effectively [4].
    • Potential for Political Shakeup: The situation could potentially lead to a political shakeup, with the possibility of the current government collapsing [3].
    • Policy Changes: The conflict could lead to significant policy changes, particularly regarding the approach to the Palestinian Authority and the peace process [2].
    • Rethinking the Palestinian Authority: The attack exposed the weakness of the policy of diminishing the Palestinian Authority [2].
    • Normalization with Saudi Arabia: The attack may have been intended to disrupt the normalization of relations between Israel and Saudi Arabia, and the conflict could lead to a reevaluation of that process [2, 5].
    • Extremist Elements: There appears to be broad agreement that extremist elements in the Arab world and Iran need to be confronted, however, there is a need to also consider a counterinsurgency approach by supporting moderates in the region [2].
    • Internal Political Divisions: Despite a desire for unity, there are still significant political divisions within Israel [2].
    • Disagreements on Policy: There are disagreements between Netanyahu and his domestic opponents regarding the goals of the war and the policies to be implemented [2].
    • Extremist Parties: The role of extremist parties within the government, specifically whether they will remain in power, is a point of contention in a potential unity government [2].
    • Judicial Reforms: There are mentions that the judicial coup may have to be cancelled, as a minimum price of enlarging the cabinet [3].
    • Public Opinion: The public seems to be in favor of political unity to address the crisis [2].
    • Demand for Unity: The electorate seems to want all politicians to put aside their differences and work together during this time of crisis [2].
    • Impact on Leadership: The conflict has placed significant pressure on Israeli leadership and will test their ability to make decisive choices under difficult circumstances [6, 7].
    • Central Bargaining: Leadership needs to be a central bargaining point in every activity related to the war [7].
    • Need for Clear Goals: There is a call for the leadership to define the long-term goals of the campaign and work backward from those goals, including addressing the issue of prisoners and hostages [3].
    Descriptive Alt Text
    Dog Puzzle Toy Mental Stimulation – Dogs Food Puzzles Toys, Dog Treat Puzzle Feeder (Green Push-Intermediate)

    In summary, the political fallout from the conflict is significant and multifaceted. It includes the potential for a major shift in the makeup of the Israeli government, a reevaluation of policies, and a test of leadership. The sources suggest that the conflict could lead to a more unified front, but also highlight the challenges of overcoming existing political divisions and implementing effective long-term strategies.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog