前言
不管学C/C++还是matlab,或者是现在的python,最基本的那几样是不变的,就是数据类型、控制语句、函数,以及面向对象编程,其实不同语言类型都大同小异,主要是理解思路。笔者学过C/C++,对于matlab编程也算精通,所以对于这部分基础地学习,就只做这一篇笔记。网上相关的详尽资料浩如烟海,随时可以查找到,加上对于pyhon的学习目前只能算是爱好所在,只是想入个门,无意太过深入,这里只作比较关键的部分的简略笔记。
基本语言元素
1.分隔语句:python使用逗号分隔语句;尽量使用过行分割语句,同一行尽量只用一个语句
2.代码块:不同于C/C++的大括号,python采用缩进区分代码块,所以一定要注意
3.关于注释:
(1)井号:#后为注释
(2)多行注释:用三个双引号,如:
"""这是注释的内容这是注释的内容"""
4.变量赋值:
与matlab的m语言类似,python中定义变量时不需要声明变量类型,直接赋值
a = 1b = 2.565c = 1+5j
可以使用type()函数检查变量类型,type返回字符串,内容为变量类型名称
type(a)type(b)type(c)
分别返回:
另外,可以使用Python中内置的函数对变量类型进行转换。
- int():将一个数值或字符串转换成整数,可以指定进制
- float():将一个字符串转换成浮点数
- str():将指定的对象转换成字符串形式,可以指定编码
- chr():将整数转换成该编码对应的字符串(一个字符)
- ord():将字符串(一个字符)转换成对应的编码(整数)
5.简单的控制台输入输出函数:input()和print()
使用两个例子来说明吧。
I. 控制台输入华氏度,程序转换为摄氏度输出:
f = float(input('请输入华氏温度: '))c = (f - 32) / 1.8 print('%.1f华氏度 = %.1f摄氏度' % (f, c))
II. 输入圆的半径计算周长和面积:
import math radius = float(input('请输入圆的半径: ')) perimeter = 2 * math.pi * radius area = math.pi * radius * radius print('周长: %.2f' % perimeter) print('面积: %.2f' % area)
(1)上面的print函数中输出的字符串使用了占位符语法,其中%d是整数的占位符,%f是小数的占位符,%%表示百分号 (因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成%%
(2)%.1f和%.2f分别表示保留1位和2位小数,其余类推。
6.运算符
包括算术运算符,逻辑运算符,比较运算符等,另外还有位运算符,身份运算符,成员运算符等,初学用的不多,不在此记录,学习到需要使用时再记录
算术运算符:
算术运算符
比较运算符
比较运算符
赋值运算符
赋值运算符
逻辑运算符
逻辑运算符
控制语句
1. 判断语句,较简单,记录一个例子:
""" 分段函数求值 3x - 5 (x > 1) f(x) = x + 2 (-1 <= x <= 1)5x + 3 (x < -1) """x = float(input('x = ')) if x > 1: y = 3 * x - 5 else: if x >= -1: y = x + 2 else: y = 5 * x + 3 print('f(%.2f) = %.2f' % (x, y))
2. for-in循环语句,仍记录一个例子来理解即可:
""" 用for循环实现1~100求和""" sum = 0for x in range(101): sum += x print(sum)
需要说明的是上面代码中的range(101)可以用来构造一个从0到100的取值范围,这样就可以构造出一个整数的序列并用于循环中,例如:
- range(101)可以产生一个0到100的整数序列。
- range(1, 100)可以产生一个1到99的整数序列。
- range(1, 100, 2)可以产生一个1到99的奇数序列,其中2是步长,即数值序列的增量。
3.while循环语句
while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。
""" 猜数字游戏 计算机出一个1~100之间的随机数由人来猜 计算机根据人猜的数字分别给出提示大一点/小一点/猜对了 """ import randomanswer = random.randint(1, 100) counter = 0 while True: counter += 1 number = int(input('请输入: ')) if number < answer: print('大一点') elif number > answer: print('小一点') else: print('恭喜你猜对了!') break print('你总共猜了%d次' % counter)if counter > 7: print('你的智商余额明显不足')
break关键字来提前终止循环,需要注意的是break只能终止它所在的那个循环,这一点在使用嵌套的循环结构需要引起注意。除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让循环进入下一轮。