这一系列是看莫烦python的基础课程写的笔记。刚刚接触编程的一无所知的小白,笔记内容超级简单。
莫烦python的官网python基础教程 系列的笔记
b站也有这个小哥哥的视频
print功能
-
print字符串
(python3) print字符串要加 '' 或者 ""
print(1)
>>> 1
在python2中打印不用加括号
print 1
>>> 1
print('Hello World!')
>>> Hello World!
print("Hello World!")
>>> Hello World!
想要打印一句话的情况
#这两种是错误的
print(we're going to do something)
print('we're going to do somethinng')
#正确的
print("we're going to do something")
print('we are going to do something')
print("we are going to do something")
2.字符串叠加
print('apple'+'car')
print('apple'+'4')
print('apple'+str(4)) #将数字变成字符串
#错误的 因为字符串和数字是不能被叠加的
print('apple'+4)
>>> applecar
>>> apple4
>>> apple4
3.简单计算
可以直接print 加(+)减(-)乘(*)除(/)
int()和float(),当int一个浮点数时,会保留整数部分而不是四舍五入 int(1.7)会输出1
while循环
while循环语句,当……的时候。在python中控制循环语句有两个语句,还有一个是for
1.基本使用
while condition:
expression
当满足condition时,执行while循环里的expression。否则将推出循环
打印出0-9的所有数字
condition = 0
while condition < 10:
print(condition)
condition = condition + 1
代码第一行设置condition=0,执行while循环时,判断0<10为True,将会执行while循环内部的代码:首先先打印condition的值,其次将condition加1。至此while循环执行完毕,再将condition的值与10比较,仍为True则重复执行时while循环,直到不满足condition<10的条件(false),将退出循环。
2.注意
在使用 while 循环的时候一定要注意在循环内部一定要有不符合条件的值,这样才会退出循环,否则程序的while部分将永远执行下去。终止无限循环ctrl+c
for循环
while循环是当……的时候执行循环条件,不满足则退出循环。而for循环是在一个区间内,变量分别为区间内各个值时执行什么。for循环相当于一个迭代器。
for item in sequence:
expressions
sequence为可迭代的对象,item为序列中的每个对象。
example_list = [12,34,56,77,87]
for i in example_list:
print(i)
输出结果为 12 34 56 77 87,输出内容分别为example_list中的每一个元素。
range的三种用法
随机生成一个序列可用range,共有三种使用方法
1. range(start,stop)
start 和 stop分别为序列的起始值和结束值,其中括号里的内容是左闭右开 [start,stop)。
#输出为1-9
for i in range(1,10):
print(i)
2. range(stop)
如果省略了start,序列的起始值从零开始,仍然取不到stop的值。序列中值的范围为[0至stop-1]
输出为0-9
for i in range(10):
print(i)
3. range(start,stop,step)
其中step为步长,起始值和下一个数的间隔为step
#输出结果为:0 2 4 6 8,取不到9和10
for i in range(0,10,2):
print(i)
#输出结果为:1 2 3 4 5 6 7 8 9
#如果step为1,可以省略不写
for i in range(1,10,1):
print(i)
python中除了循环语句还有判断语句 if判断、if else 判断、if elif else判断
if 判断
if condition:
expressions
如果condition为True,执行expressions,否则退出循环。
# 在python中"="为赋值,是自变量的运算。"=="为等于,判断是否等于
x=1
y=2
z=3
if x<y:
print("x is less than y")
if else 判断
if 和 else是一个同等的条件语句
if condition:
true_expressions
else:
false_expressions
#输出:x is less than y
x = 1
y = 3
z = 4
if x > y:
print("x is greater than y")
else:
print("x is less than y")
python 可以通过if else的行内表达式完成三目操作符类似的功能
#如果condition为True,就将b的值赋值给a,否则就将c的值赋值给a
a = b if condition else c
#输出结果为done
worked = True
result = 'done' if worked else 'not yet'
print(result)
首先判断work是否为TRUE,如果是就将done字符串赋值给result。否则将字符串not yet 赋值给result
if elif else判断
当多个条件需要判断的时候,可以通过elif来添加多个判断条件,一旦某个条件为真,执行expressions,执行完后将将跳出if-elif-else。
if condition1:
true_expression1
elif condition2:
true_expression2
elif condition3:
true_expression3
elif ……
……
else:
else_expression
输出结果为x<1 finish
即使z==3是对的,由于 elif x<1:为True,将退出if-elif-else循环,执行print("finish")
x = -1
y = 4
z = 3
if x>1:
print("x>1")
elif x<1:
print("x<1")
elif x==1:
print("x=1")
elif z==3:
print("z=3")
else:
print("不符合")
print("finish")
def函数
当我们想重复使用一段代码的时候,可以将这部分功能抽象为为函数方便程序调用,或者提供其他模块使用。
#基本使用
def function_name(parameters):
expressions
#def 函数
def function():
print ("this's a function")
a = 1+2
print (a)
#我理解的是相当于调用函数,调用函数的括号不能省略,没有:号
function()
#输出结果为
this's a function
3
上述代码定义了一个function的函数,由于函数没有接收参数,所以括号为空,如果不执行function()将没有任何输出。
1. 函数参数
# 函数参数
def function(a, b):
c = a + b
print('the c is',c)
function(1, 2)或者function(a=1, b=2)
当我们在调用函数的时候,如果想指定一些变量的值,这些变量即为函数的参数,在函数调用中传入即可。
上述代码函数的参数就是两个数值,函数的功能就是将这两个数相加。在调用函数的时候,参数个数和位置一定要按照函数定义,如果不指定参数将会报错。
2. 函数默认参数
我们在定义函数时有时候有些参数在大部分情况下是相同的,只不过为了提高函数的适用性,提供了一些备选的参数, 为了方便函数调用,我们可以将这些参数设置为默认参数,那么该参数在函数调用过程中可以不需要明确给出。
def function_name(para_1,……,para_n=defau_n,……,para_m=defay_m)
expressions
函数声名只要在默认参数的地方用=给定即可,但是所有的默认参数不能出现在非默认参数的前面。
#默认参数的情况下,要这样调用sale_car(1200,'carmy','red','True')
#输出为 price: 1200 brand: carmy color: red is_second_hand: True
def sale_car(price,brand,color,is_second_hand):
print('price:',price,
'brand:',brand,
'color:',color,
'is_second_hand:',is_second_hand)
#在有默认参数的时候
def sale_car(price,brand='carmy',color='red',is_second_hand='True'):
print('price:',price,
'brand:',brand,
'color:',color,
'is_second_hand:',is_second_hand)
sale_car(1000)
#输出为 price: 1200 brand: carmy color: red is_second_hand: True
#如果在给定默认参数的情况下改变想默认参数,就这样调用
sale_car(1000,color='green')
#输出结果为 price: 1000 brand: carmy color: green is_second_hand: True
3. 可变参数
函数的可变参数,顾名思义就是参数的值是可以变化的,可变参数的个数为1个到任意个。但是,注意可变参数在函数定义不能出现在特定参数和默认参数前面,可变参数会吞噬掉这些参数。(“厉害的大神最后出场”)
定义一个函数,首先传入一个参数name,后面的参数*grade,带了一个*号,这样表示其为可变参数,是一个可以迭代的对象
def function(name,*grade):
total_grade = 0
for grade in grades:
total_grade += grade
print(name,'total grade is',total_grade)
#调用函数:function("zhangsan:",50,60)
#输出结果为 zhangsan: total_grade is 110
4. 关键字参数
关键字参数可以传入0个至任意个含参数名的参数,这些参数名在函数定义中并没有出现,这些参数在函数内部自动封装成一个字典(dict)。
关键字参数有什么用?
它可以扩展函数的功能。比如,在function函数里,我们保证能接收到name这个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。
定义一个function,传入一个参数name,和关键字参数,关键字参数要加**来修饰,通常关键字参数放在函数参数列表的最后。
def function(name,**guanjianzi):
print('name:',name)
for y,x in guanjianzi.items():
print(y, x)
function("zhangsan",age=13,wage=4500)
#输出结果: name: zhangsan
age 13
wage 4500
def function(name,**guanjianzi):
print('name:',name,"other:",guanjianzi)
#for y,x in guanjianzi.items():
#print(y, x)
function("zhangsan",age=13,wage=4500)
#输出结果:name: zhangsan other: {'age': 13, 'wage': 4500}