Python基礎之變量、輸入、輸出


一、Hello World程序

在Windows終端執行python

C:\Users\renyz02>python
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World

二、變量和字符編碼

程序是用來處理數據的,而變量是用來存儲數據的

1、聲明變量(變量的賦值)

name = "ren"
print("name")

變量名為:name,變量name的值為:“ren”

2、變量定義的規則

(1)變量名只能是字母、數字、下划線的任意組合

(2)變量名的第一個字符不能是數字

(3)關鍵字不能聲明為變量名

3、命名

(1)見名知意
  起一個有意義的名字,盡量做到看一眼就知道是什么意思(提高代碼可讀性) 比如:名字就定義為 name , 定義學生用 student
(2)駝峰命名法
  小駝峰式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
  大駝峰式命名法(upper camel case): 每一個單字的首字母都采用大寫字母,例如:FirstName、LastName
  不過在程序員中還有一種命名法比較流行,就是用下划線“_”來連接所有的單詞,比如send_buf,last_name
  Python推薦就是用下划線“_”來連接所有的單詞

4、關鍵字

  Python一些具有特殊功能的標識符,這就是所謂的關鍵字.

  關鍵字,是Python已經使用的了,所以不允許開發者自己定義和關鍵字相同的名字的標識符。

  可以通過以下命令進行查看當前系統中python的關鍵字

import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

5、字符編碼

  python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)

  ASCII(American Standard Code for Information Interchange,美國標准信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節),即:2**8 = 256-1,所以,ASCII碼最多只能表示 255 個符號。

  顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode

  Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的的是最少2個字節,可能更多

  UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...

  python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill);應該顯示的告訴python解釋器用什么編碼來執行源代碼。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Renyz

6、注釋

  單行注釋:# 被注釋的內容(Ctrl+/)

  多行注釋:'''被注釋的內容'''(三個單引號或三個雙引號)

  同時多行字符串必須使用多引號('''字符串內容''')

三、用戶輸入

與用戶交互(在屏幕上顯示用戶輸入的內容)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Renyz
name = input("請輸入您的名字:")
passwd = input("請輸入您的密碼:")
-----------------------------------------------------------------------------
C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py
請輸入您的名字:ryz
請輸入您的密碼:123

Process finished with exit code 0

輸入密碼時,如果想要密碼不顯示,可以使用getpass模塊中的getpass方法:(該模塊在pycharm中無法使用)

(venv) C:\Users\renyz02\Desktop\py_test1>ipython
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import getpass
IIn [2]: passwd = getpass.getpass("請輸入密碼:")
請輸入密碼:
In [3]: print(passwd)
123

四、輸出函數

1、簡單的輸出

#打印提示
print("Welcome to BeiJing")

2、格式化輸出

程序中經常會有這樣場景:要求用戶輸入信息,然后打印成固定的格式,所以需要用到格式化輸出

# -*- coding:utf-8 -*-
# Author: Renyz
name = input("name: ")
age = int(input("age: "))#integer
# print(type(age),type(str(age)))
sex = input("sex: ")
home_address = input("home_address: ")

# 萬惡的 “+” 也可以連接字符串,但效率太低,不建議使用
# 建議使用前兩種
info = '''
-------- info of %s --------
Name:%s
Age:%d
Sex:%s
Home_Address:%s
'''%(name,name,age,sex,home_address)

info2 = '''
-------- info of {_name} --------
Name:{_name}
Age:{_age}
Sex:{_sex}
Home_Address:{_home_address}
'''.format(_name=name,_age=age,_sex=sex,_home_address=home_address)

info3 = '''
-------- info of {0} --------
Name:{0}
Age:{1}
Sex:{2}
Home_Address:{3}
'''.format(name,age,sex,home_address)

print(info3)
-------------------------------------------------------------------------
C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/PycharmProjects/untitled/day1/interaction.py
name: ryz
age: 26
sex: male
home_address: shanxi

-------- info of ryz --------
Name:ryz
Age:26
Sex:male
Home_Address:shanxi

%s :字符串占位符:可以接收字符串,也可接收數字
%d :數字占位符:只能接收數字

print('My name is %s,my age is %d' %('test',18))
#注意:
#print('My name is %s,my age is %d' %(name,age)) #age為字符串類型,無法傳給%d,所以會報錯

擴展:

end 關鍵字 關鍵字end可以用於將結果輸出到同一行

print("Hello,",end="")
print("World",end="")
———————————————————————————————————
Hello,World
print("\tPython")#\t表示空四個字符,也稱縮進,相當於按一下Tab鍵
print("\nPython\nJAVA\nC++\nJavaScript\nC#")#\n表示換行,相當於按一下回車
print("languages:\n\tPython\n\tJAVA\n\tC++\n\tJavaScript\n\tC#")#\n\t表示換行加每行空四格
----------------------------------------------------------------------
C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py
    Python

Python
JAVA
C++
JavaScript
C#
languages:
    Python
    JAVA
    C++
    JavaScript
    C#

3、換行輸出(\n)

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: Renyz
name = "Python"
age = 18
print("My name is %s,\nMy age is %d"%(name,age))
-------------------------------------------------------------------
C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py
My name is Python,
My age is 18

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM