1.变量1.1变量作用

变量是用于存储数据

1.2变量定义规范声明变量

name = "vita"
pep8规范:等号两边要有空格

变量定义规则变量名只能是字母、数字、下划线的任意组合变量名的第一个字符不能是数字程序关键字不能是数字,例如if else while等变量命名习惯

驼峰体
AgeOfVita = 27
下划线
age_of_vita = 27

变量定义的low方式

变量名为中文、拼音 名字 = "vita"
变量名过长 qeqweqwe_qweqweqw_qwewqeq
变量名词不达意 a = 23

1.3常量常量定义

常量即指不变的量,如pai 3.1415926 ,或在程序运行过程中不会改变的量。
Python中没有专门的语法定义常量,程序员约定用变量名全部大写代表常量。
python中可自定义一个不修改的常量的类。

AGE_OF_VITA = 27

Java中定义常量,修改该常量会报错

public static final String SUNDAY = "SUNDAY";

c语言中定义常量,修改该常量也会报错

const int count = 60;

变量与常量用法示例

在使用中变量和常量没什么区别

Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license()" for more information.>>> a = 1>>> b = a>>> print(a)1>>> print(b)1>>> a=2>>> print(a)2>>> print(b)1>>> >>> >>> A = 10>>> B=A>>> print(A)10>>> print(B)10>>> A=20>>> print(A)20>>> print(B)10>>>

2.读取用户输入

name = input("please input your name:")age = input("please input your age:")hometown = input("please input your hometown:")print("your name is:"+name + " your age is:"+age + " your hometown is:"+hometown)

运行E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.pyplease input your name:vitaplease input your age:27please input your hometown:jlyour name is:vita your age is:27 your hometown is:jl3.注释

本行注释

age = input("please input your age:") # age pep8规范:#号前面至少两个空格,后面一个空格

单行注释

hometown = input("please input your hometown:")# print age pep8规范:#号前面无空格,后面一个空格

多行注释

"""print age name hometown"""'''print age name hometownpep8规范:注释与下面的代码的空行不能多于两行'''print("your name is:"+name + " your age is:"+age + " your hometown is:"+hometown)4.数据类型4.1数字类型4.1.1介绍

int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31 -1,即-2147483648~214748364在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整型没有指定宽度,即python没有限制长整数数值的大小,但实际上由于内存的限制,我们使用的长整数数值不可能无限大。

注意:

自从Python2.2起,如果整数发生溢出,Python会自动把int转换为long,所以现在在long数据后面不加字母L也不会导致严重后果了。在Python3中没有int和long的区分了,全部都是int

除了int和long外,还有float浮点型,复数型

4.1.2Python2&3之int long

(venvP3) E:\PythonProject\python-test>python2Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> type(2**4)<type 'int'>>>> type(2**65)<type 'long'>>>> quit()(venvP3) E:\PythonProject\python-test>python3Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> type(2**4)<class 'int'>>>> type(2**65)<class 'int'>>>>4.2字符串

在Python中,加了引号的字符就被认为是字符串

4.2.1字符串种类

Name = "vita" # 双引号Age = "27" # age是字符串AgeNum = 27 # age是intMsg = 'My name is vita,i am 27 years old!' # 一对单引号# 一对三个单引号MsgThree = '''My name is vita,i am 27 years old!'''# 三个双引号MsgDouThree = """My name is vita,i am 27 years old!""" 4.2.2单引号,双引号,多引号的区别

单引号和双引号没有任何区别,只是在下面情况下需要考虑单双引号配合

Msg = "my name is vita,I'm 27 years old"

多引号的作用是多行字符串,需要使用多引号

# 一对三个单引号MsgThree = '''My name is vita,i am 27 years old!'''# 三个双引号MsgDouThree = """My name is vita,i am 27 years old!"""4.2.3字符串拼接

字符串可以进行“相加”和“相乘”运算

>>> name = "vita">>> age = "27">>> print("your name is:"+name+" your age is:"+age)your name is:vita your age is:27>>> print("v"*3)vvv

字符串不能喝整数拼接

>>> name = "vita">>> age = 27>>> print(name+age)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: must be str, not int4.3布尔型

布尔型就两个值,true和false,主要用于逻辑判断

>>> a =3>>> b = 5>>> a>bFalse>>> a<bTrue4.4格式化输出

name = input("input your name:")age = input("input your age:")hometown = input("input your hometown:")msg = '''------the info of %s is ------name: %sage: %shometown: %s------the info of end ------''' % (name, name, age, hometown)print(msg)

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.pyinput your name:vitainput your age:27input your hometown:jl------the info of vita is ------name: vitaage: 27hometown: jl------the info of end ------4.5运算符

运算符种类算数运算符、比较运算符、逻辑运算符、赋值运算符



>>> a = 3>>> b = 4>>> a>b and a==3False>>> a<b and a==3True>>> a<b or a!=3True>>> a>b or a==3True>>> not a==3False>>>4.6流程控制4.6.1单分支

if 条件成立: 执行代码

# _*_coding:utf-8_*_"""输入姓名,性别和年龄,如果是女生且年龄小于28,输出我喜欢年轻女孩"""name = input("input your name:")sex = input("input your sex(boy|BOY/girl|GIRL):")#input()读入的age是字符串,要转换为int才能与28做大小比较age = int(input("input your age:"))if sex.lower() == "girl" and age < 28: print(name+" i like young girl")

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.pyinput your name:vitainput your sex(boy|BOY/girl|GIRL):GIRLinput your age:26vita i like young girl4.6.2双分支

if 条件: 条件满足,执行代码else: 条件不满足,执行代码

# _*_coding:utf-8_*_"""输入姓名,性别和年龄,如果是女生年龄小于28,输出我喜欢年轻女孩,年龄不小于28,输出年龄比我大也可以如果不是女生输出我不喜欢男生"""name = input("input your name:")sex = input("input your sex(boy|BOY/girl|GIRL):")#input()读入的age是字符串,要转换为int才能与28做大小比较age = int(input("input your age:"))if sex.lower() == "girl" : if age < 28: print(name+" i like young girl") else: print("the age is greater than me is also ok!")else: print("i do not like boy")

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.pyinput your name:vitainput your sex(boy|BOY/girl|GIRL):girlinput your age:12vita i like young girlE:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.pyinput your name:vitainput your sex(boy|BOY/girl|GIRL):girlinput your age:28the age is greater than me is also ok!E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.pyinput your name:vitainput your sex(boy|BOY/girl|GIRL):boyinput your age:23i do not like boy4.6.3多分支

if 条件: 满足条件执行代码elif 条件: 上面条件不满足,执行这里elif 条件: 上面条件不满足,执行这里else: 所有条件都不满足,执行这里

# _*_coding:utf-8_*_"""输入姓名,性别和年龄,如果是女生年龄小于28,输出我喜欢年轻女孩,年龄不小于28,输出年龄比我大也可以如果不是女生输出我不喜欢男生"""name = input("input your name:")sex = input("input your sex(boy|BOY/girl|GIRL):")#input()读入的age是字符串,要转换为int才能与28做大小比较age = int(input("input your age:"))if sex.lower() == "girl" : if age < 28: print(name+" i like young girl") else: print("the age is greater than me is also ok!")elif sex.lower() == "boy": print("i do not like boy")else: print("your input is not manual human")

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.pyinput your name:vitainput your sex(boy|BOY/girl|GIRL):winput your age:23your input is not manual human4.6.4while

while 条件: 执行代码

"""只打印1-10的偶数"""count = 0while count < 10: if count%2 == 0: print(count) count = count + 1

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py02468

"""打印1-10,第五次不打印,6-8打印值的平方"""count = 0while count <= 10: if count == 5: pass elif count>=6 and count<=8: print(count*count) else: print(count) count = count + 1

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py012343649649104.6.5死循环(dead loop)

只要运行起来,就不再停止,直到把内存耗尽

"""只打印1-10的偶数"""count = 0while count < 10: print(count) # count = count + 1 #注释掉最后一行,程序一直成立,会一直运行4.6.6循环终止

break:用于完全结束一个循环,跳出循环体执行循环后面的语句
continue:终止本次循环,下次的循环继续

"""打印1-10,第五次不打印,6-8打印值的平方"""count = 0while count <= 10: if count == 5: # 这里一定要记得把count+1,否则count就一直等于5,就死循环了 count = count + 1 continue elif count>=6 and count<=8: print(count*count) else: print(count) count = count + 1E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py01234364964910

"""打印1-10,第五次不打印,6-8打印值的平方"""count = 0while count <= 10: if count == 5: # 这里一定要记得把count+1,否则count就一直等于5,就死循环了 count = count + 1 break elif count>=6 and count<=8: print(count*count) else: print(count) count = count + 1E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py012344.6.7while...else

只有在Python中有while...else
while后面的else指,当while循环正常执行完,中间没有被break中止的话,就会执行else

count = 0while count <= 3: if count == 2: count = count + 1 continue else: print(count) count = count + 1else: print("success") E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py013successcount = 0while count <= 3: if count == 2: count = count + 1 break else: print(count) count = count + 1else: print("success") E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py01

本章代码案例:

"""猜年龄游戏:允许用户最多猜三次,猜了三次后,询问是都继续玩,如果输入Y,可以继续猜三次,否则退出"""age = 23count = 0while count < 3: try: guess_age = int(input("input the age of you think:")) except ValueError: print("you should input one number!") count = count + 1 continue if guess_age > 23: print("the age you input is too big!") elif guess_age < 23: print("the age you input is too small!") else: print("excellent!you are right!") break count = count + 1 while count == 3: your_choice = input("you only have three chances,would you like to continue(Y|y/N|n):") if your_choice.lower() == "y": count = 0 elif your_choice.lower() =="n": break else: print("your input is illegal!input again!")

运行

E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/guessage.pyinput the age of you think:2the age you input is too small!input the age of you think:45the age you input is too big!input the age of you think:33the age you input is too big!you only have three chances,would you like to continue(Y|y/N|n):yinput the age of you think:2wyou should input one number!input the age of you think:24the age you input is too big!input the age of you think:55the age you input is too big!you only have three chances,would you like to continue(Y|y/N|n):yinput the age of you think:23excellent!you are right!Process finished with exit code 0