Python基础学习-语法元素
Python基础语法元素总图:
数据类型
数字类型
int整型:2
float浮点型:2.0
complex复数:3+4j
总结:不同的数字类型,与其他语言不同,Python不用声明类型,直接写Python会自动识别,但是要记住它们格式,因为Python正是通过格式来识别它们的类型的。
数字类型
“”或’’,里面放数字、符号啥的
双引号和单引号之间的区别?
答:没有区别,它和其他编程语言不同,其他编程语言中有时,’ ’只能放单个字符,但是Python,没有char和string之分,两者是一样的。
布尔类型
一种判断语句,主要用于逻辑运算
2<1 //FALSE
1<2 //true
列表
总结:
列表的格式,要注意是[]方括号,数据是有序的,之后是可以通过索引来找到相应数据的。
元祖
总结:
元祖的格式是()圆括号,与列表很相似,但是又不同;相似是元祖内的数据也是有序的,不同之处在于元祖内的数据是不能修改的。
字典
总结:
所谓的键值对,就像字典一样,一个字会有其对应的页码,根据页码(索引)就能找到相应的字。
字典中的数据是无序的,只能通过键来当索引。
集合
问:里面的元素,可以是不同类型的吗?
答:可以;但是顺序可能会和你原本输入的不同。
总结:
一系列无序的,互不相等的集合;其中重复的元素会被忽略掉
变量
变量概念
变量的命名
变量名之间不能有空格
不能取Python保留字作为名字:
变量的赋值
总结:
赋值就是给变量数据,来进行之后的运算;让“死气”的变量,变得有意义。
运用打包赋值,两个变量值的互换时,可以直接换,而不用添加新的中间第三个变量。
控制流程:
顺序流程
自上而下,依次执行。
循环流程:
for循环:
问:如果想让i有个range范围,应该如何做?
for i in range(3)即:从0到3,不包含3,即0,1,2
for i in range(1,3) 即:从1到3,不包含3,即1,2
…range(1,3,2)即:从1到3,每次增加2,因为1+2=3,所以输出只有1
while循环
while也可以用else语句:
i=6
while i < 5:
i +=1
print(i)
else:
print(i+2)
#8
总结:
for比while循环更好用一些,因为while比for多了一个,i+=x;即while要用一个语句来规定步长,而for可以直接放条件语句中,不用添加
分支语句:
i=7
if i <5 :
print(i)
elif i<8 :
print(i + 2)
else:
print(i + 3)
#9
总结:
是个分叉路口,根据条件,来分配之后的处理。
输入输出
电脑本地文件输入
问:anoconda软件中的文件目录,是怎么定义的?
答:root = ‘./data/PennFudanPed’ ‘./’的意思就是当前代码目录下的意思;‘./’是父级目录,即再往前的目录。
动态交互输入input
输入的x,是字符串的形式。
问:我想输入的是整数的形式,不想最后得到的是字符串的形式,如何操作?
答:通过eval()去掉字符串的引号即可
x = eval((input("请输入一个数字:"))
x
#请输入一个数字:4
#4
机器的内部,只会是根据格式来判断类型;有引号就是字符串等。
一般输出
print():一般是自动换行的;
问:如果我不想换行呢?
答:可以在后面加个end=来控制
组合输出:
格式化输出
format调换顺序
填充输出
顺序严格定义(填充,对齐,占位多少)
浮点数简化输出
千分位分隔符,保留小数位数,百分输出,科学技术法
格式化输出总结表格
format主要就是对输出的规范化,何谓规范化就是按自己的想法输出,达到自己想要的效果。
程序格式建议
缩进:通过缩进来表达逻辑
运算符加空格的格式;加空格主要是视觉的清晰
等号不用空格
不要使用一个以上的空格
PEP8的格式,是对大家的建议,主要是要好看一些
注释:单行:#;多行:''' ''' 三个小引号括住
练习题
1、input输入
ran=eval(input("一共输入几个数字"));
a = [0]*ran;
sum=1;
for i in range(ran):
print("请输入第{}个数字".format(i+1));
a[i]=eval(input());
a.sort(); #对数组进行排序
for i in range(ran):
if i < (ran-1):
print("{}*".format(a[i]), end="");
sum=a[i]*sum;
else:
sum=a[i]*sum;
print("{}={}".format(a[i],sum));
2、format格式化
x=0.6180339887;
print("保留三位小数{0:.3f}".format(x));
print("保留一位小数百分比{0:.1%}".format(x));
3、填充
#(-填充,20个字符占位,*居中)
for i in [0,1,2,3,4,5]:
print("{0:-^20}".format("*"*(2*i+1)))