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

 

posted @ 2019-09-10 16:00  Wolf_Coder  阅读(5629)  评论(0编辑  收藏  举报