一、变量
变量是指值会发生变化的的量,与常量相对。它的存在是为了储存日后的结果,节省程序运算过程中的一些时间。
- 声明变量的格式
变量名 = 变量
age = 123 name = "Springer" a = b = 5
- 查看变量的格式
使用 type() 函数可以查看变量的类型
age = 18 print( type(age))
结果
- 变量的命名规范
- 要具有描述性,看见变量名称就可以明白其要表达的含义。
- 变量名只能以下划线、数字、字母组成,不可以是空格或特殊字符(例:#*,.¥~!)。
- 不能以中文为变量名( Python 中支持以中文为变量名,但是不要使用)。
- 不能以数字开头。
- 保留字符(即 Python 中本身采用的字符)是不能被使用的。
- 在 Python 中所有的变量都是可变的,为了区分常量,用全部大写的变量名来代表此变量为常量。
name_length school_name message AGE STUDENTNUM
二、内存释放
python 不像 C++、Java 等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对 Python 语言来讲,对象的类型和内存都是在运行时确定的。这也是为什么我们称 Python 语言为动态类型的原因(这里我们把动态类型可以简单的归结为对变量内存地址的分配是在运行时自动判断变量类型并对变量进行赋值)。
Python 引用了内存计数这一简单的计数来控制垃圾回收。当内存中有不再使用的部分时,垃圾收集器就会把他们清理掉。它会去检查那些引用计数为 0 的对象,然后清除其在内存的空间。当然除了引用计数为 0 的会被清除,还有一种情况也会被垃圾收集器清掉:当两个对象相互引用时,他们本身其他的引用已经为 0 了。
三、注释
- 单行注释
# 这是一个注释
name = "Springer" #这是一个注释
# 这是一个注释
- 多行注释
'''
三对单引号,Python多行注释符。
三对单引号,Python多行注释符。
'''
"""
三对双引号,Python多行注释符。
三对双引号,Python多行注释符。
"""
四、条件语句的使用
- input()
input() 接收的所有数据都是字符串,即使你输入的都是数字,但依然会被当成字符串来处理。 - if 条件语句
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
注:在使用 if 条件语句时,要注意首行缩进,一般情况下以四个空格为一个缩进标准。一个 tab 符不等于四个空格。
五、判断一个字符串的组成
- 检测字符串是否只由数字组成。
isdigit()
- 检测字符串是否只由字母组成。
isalpha()
- 检测字符串是否由字母和数字组成。
isalnum()
#!-*- coding:GBK -*-
str_num = "18"
str_english = "abc"
str_hybrid = "a1b8c"
print("------------", str_num, "-------------")
print(str_num, "是否只由数字组成", str_num.isdigit())
print(str_num, "是否只由字母组成", str_num.isalpha())
print(str_num, "是否由字母和数字组成", str_num.isalnum())
print("------------", str_english, "-------------")
print(str_english, "是否只由数字组成", str_english.isdigit())
print(str_english, "是否只由字母组成", str_english.isalpha())
print(str_english, "是否由字母和数字组成", str_english.isalnum())
print("------------", str_hybrid, "-------------")
print(str_hybrid, "是否只由数字组成", str_hybrid.isdigit())
print(str_hybrid, "是否只由字母组成", str_hybrid.isalpha())
print(str_hybrid, "是否由字母和数字组成", str_hybrid.isalnum())
结果
注意
在使用 isdigit() 时会有一个坑,那就是 Number = input(“请输入数字:”) 即从控制台上获取一串值那么就有 python input() 相当于 eval( raw_input( prompt ) ) ,用来获取控制台的输入。
raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int , float )。
当输入全数字字符串时,这时候在使用 Number.isdigit() 就会报错(AttributeError: ‘int‘ object has no attribute ‘isdigit‘),已经是 int 类型的值,在使用该函数,肯定会报错。
那么最好是选用 raw_input() 函数,作为动态输入方法,否则就会掉入坑。
六、一个简单的样例(Python 3.0+)
#!-*- coding:utf-8 -*-
userName = ""
password = ""
password_again = ""
password_user = ""
input_num = 1
userName = input("请输入您的用户名:")
print("用户名设置成功!")
password = input("请输入您设置的密码:")
password_again = input("请确认您设置的密码:")
while password_again != password:
password_again = input("两次密码不一致,请重新设置密码:")
password = input("请输入新的密码:")
password_again = input("请确认您设置的密码:")
else:
print("密码设置成功!")
password_user = input("请输入登录密码:")
while password_user != password:
password_user = input("您输入的密码有误,请重新输入:")
if input_num < 2:
input_num += 1
else:
print("您已连续输错三次,账户已冻结!")
break
else:
print(userName + "先生/女士,欢迎您!")
本文内容部分取自百度内容,如有雷同部分请见谅。