1.如何在终端窗口打印消息?
print("Hello World");
2.如何使用变量存储信息,并打印该变量?
message = "Hello World";#变量定义无需var,int等操作符
print(message);
3.如何在一个字符串变量内填写小字符串?
message = "I love study 'python' very much"+'.';
print(message);#I love study 'python' very much.
4.如何将英文单词的首字母大写?
name = "jack smith";
print(name.title());#Jack Smith
5.如何将所有的字符串改成大写或者小写?
name = "Lucy gray";
print(name.upper());#LUCY GRAY
print(name.lower());#lucy gray
6.如何拼接字符串?
str1 = "hello";
str2 = "python";
print(str1+' '+str2);#hello python
print((str1+' '+str2).title());#Hello Python
7.如何让字符串缩进(使用制表符)?
print("python"); #python
print("\tpython");# python(空白占4个字符)
8.如何让字符串换行?
str1 = " I am an Apple,";
str2 = " I am an Orange,";
str3 = " I am a Banana.";
print(str1+str2+str3);
#I am an Apple, I am an Orange, I am a Banana.
print(str1+'\n'+str2+'\n'+str3);
# I am an Apple,
# I am an Orange,
# I am a Banana.
9.如何删除字符串末尾的空白,头部的空白以及头部和末尾的空白?
str = " abc ";#空代表此处有一个空格
print(str);#空abc空
print(str.rstrip());#空abc
print(str.lstrip());#abc空
print(str.strip()); #abc
10.如何在python中进行四则运算?
print(2+3);#5
print(3-2);#1
print(3/2);#python2版本:1,python3版本:1.5
print(3*2);#6
print(3.0/2);#1.5
print(0.2+0.1);#0.3或者0.300000000004 计算机内部浮点数处理原因
11.如何将整数转化为字符串类型?
age = 11;
print('I am'+age+'years old');#error 不能将整数与字符串进行运算
print('I am'+' '+str(age)+' '+'years old');#I am 11 years old
12.如何在python中进行注释?
在python中,注释使用#
,井号后面的内容会被python解释器忽略。
13.如何访问列表元素中的第二个元素?
arr = ['apple','banana','orange'];
print(arr[1]);#banana 数组索引从0开始,访问第i个元素则索引为i-1
14.如何快速访问列表最后一个元素,倒数第3个元素?
arr = [1,2,3,4,5,6,7,8,9];
print(arr[-1]);#9 python中可以使用负值索引表示从列表末尾开始访问
print(arr[-3]);#7 运用这种特性能够快速的获取需要使用的值
15.如何修改,添加,删除列表中的元素?
arr = ['apple','banana','orange'];
arr[0]='papaya';
print(arr);#['papaya', 'banana', 'orange']
#直接利用索引对数组元素进行赋值修改,注意最后一个元素的下标应为-1或者len(arr) - 1
arr.append('watermelon');
print(arr);#['papaya', 'banana', 'orange', 'watermelon']
#append()方法用于直接在数组的末尾添加一个元素,同于js的push()方法
arr.insert(1,'pitch');
print(arr);
#['papaya', 'pitch', 'banana', 'orange', 'watermelon']
#insert(index,element);insert()方法接收两个参数,第一个为需要在数组中哪个位置(索引从0开始)插入值,第二个参数为需要插入的值。
del arr[0];
print(arr);
#['pitch', 'banana', 'orange', 'watermelon']
#del语句,注意此处语法不是方法,所以arr.del()这个语法是错误的。使用del语句删除数组中的元素需要传递元素的索引,也就是说你必须知道你要删除的元素是在数组中的哪个位置。
delElement = arr.pop();
print(arr);
#['pitch', 'banana', 'orange']
print(delElement); #watermelon
#使用pop(index)方法,可以接收一个删除元素的索引参数,在不填写参数的情况下,就是append()方法的相反操作,可以删除数组中的最后一个元素并返回该元素,该方法与del语句相比最大的不同就是pop()方法会返回被删除的元素而del语句则直接删除。
#当接收一个参数的情况下可以删除数组中任意位置的元素。
arr.pop(0);
print(arr);#['banana', 'orange']
arr.remove('banana');
print(arr);#['orange']
#使用remove(elementValue)方法可以在不知道元素在数组中的索引,但是知道元素的值的情况下从数组中删除该元素。
arr2 = [1,2,3,4,3];
arr2.remove(3);
print(arr2);#[1,2,4,3]
#注意,remove()方法只会删除该元素在数组中第一次出现的位置的值,如果需要删除数组中所有该元素的值,需要使用遍历操作。
16.如何对列表进行排序?
arr = ['bb','aa','dd','cc','ee'];
arr.sort();
print(arr);#['aa', 'bb', 'cc', 'dd', 'ee']
#使用sort()方法可以快速的对数组进行排序,sort()方法会对列表进行永久性的排序操作,如果想让数组进行反向排序,则对sort()传递一个参数 reverse = True;
arr.sort(reverse = True);
print(arr);#['ee', 'dd', 'cc', 'bb', 'aa']
arr2 = [1,2,4,3,6,5];
print(sorted(arr2));#[1, 2, 3, 4, 5, 6]
print(arr2);#[1, 2, 4, 3, 6, 5]
#sorted()方法可以对数组进行临时排序,不会改变原有的数组元素顺序。
arr3 = [1,3,2,7,4,5];
arr3.reverse();
print(arr3);#[5, 4, 7, 2, 3, 1]
arr3.reverse();
print(arr3);#[1, 3, 2, 7, 4, 5]
#使用reverse()方法可以反转数组元素的排列顺序,再次使用reverse()方法会再次反转数组元素的排列顺序。
17.如何获取字符串或者数组的长度?
arr = [1,2,3,4,5];
str = "123456 ";
print(len(arr));#5
print(len(str));#7
#使用len(element)方法可以快速的取得元素的长度
18.如何遍历数组?
arr = [1,2,3,4,5];
for item in arr:
print(item);
# 1 2 3 4 5 此处打印结果会换行
#循环时如何进行的,for item in arr:先获取arr中第0个元素,将该元素的值赋值给item,然后打印item,由于列表中还有元素,获取arr中第1个元素,将该元素赋值给item,打印item,直到数组中没有元素跳出循环。
#for循环语法,注意循环控制语句后面跟:(半角冒号),循环体需要进行缩进操作,如果没有缩进操作将会只执行一次,甚至会报错。
arr2 = [1,2,3,4,5];
for item in arr2:
print(item);# expected an indented block 需要一段缩进的代码块
arr3 = [1,2,3,4,5];
for item in arr3:
print(item);
print('I only print once');
#1 2 3 4 5 I only print once'
#如果需要执行多条循环体语句,注意一定要缩进代码。
arr4 = [1,2,3];
for item in arr4:
print(item);
print('I print the '+str(item)+' times');
# 1 I print the 1 times
# 2 I print the 2 times
# 3 I print the 3 times
#注意上面代码的item需要加上类型转换,否则会报错。
19.如何创建数字列表?
numberArr = list(range(1,5));
print(numberArr);#[1, 2, 3, 4] 注意不包括末尾元素
#使用函数range()还可以指定步长
numberArr2 = list(range(2,11,2));
print(numberArr2);#[2, 4, 6, 8, 10]
#range()函数从2开始,然后不断的加2,直到达到或者超过终值11,注意因为不包括末尾元素所以不会输出12
20.如何快速的获得数字列表中最小的元素,最大的元素和总和?
numberArr = [0,1,2,3,4,5];
min = min(numberArr);
max = max(numberArr);
sum = sum(numberArr);
print(min);#0
print(max);#5
print(sum);#15
21.列表解析,列表解析的意思就是能够快速的生成列表。列表解析将for循环和创建新元素的代码合并成一行,并自动添加新元素。
squares = [value**2 for value in range(1,11)];
print(squares);#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
22.如何在python中使用切片(即操作数组中的一部分数据)?
arr = [1,2,3,4,5,6]; # 我们的索引是从下标0开始的 不包括末尾
print(arr[0:3]);#[1,2,3]
print(arr[1:4]);#[2,3,4]
print(arr[-3:]);#[4,5,6]
print(arr[2:]);#[3,4,5,6]
print(arr[:]);#[1,2,3,4,5,6]
#语法为第start索引值到第end索引值,但不包括end索引值之间的数据,当start为负数的时候,代表从数据末尾开始向前,当不指明start和end值的时候代表数组的所有元素。
23.如何遍历数据的切片和复制数组?
arr = [1,2,3,4,5,6];
for value in arr[:4]:
print(value);#1,2,3,4
#切片的遍历与数据的遍历相同,再次强调使用for循环的时候,请注意循环体的缩进,否则程序会报错。
brr = arr;
print(brr);#[1,2,3,4,5,6];
arr.append(7);
brr.append(8);
print(arr);
print(brr);
#以一般的逻辑我们认为结果会是这个样子的
#arr = [1,2,3,4,5,6,7];
#brr = [1,2,3,4,5,6,8];
#然鹅,结果却是这样子的:
#arr = #brr = [1, 2, 3, 4, 5, 6, 7, 8];
#这涉及到的其实是python的数据结构有关,详见这篇文章[python——赋值与深浅拷贝](http://www.cnblogs.com/Eva-J/p/5534037.html);那么如何获得我们想要的结果呢?我们需要使用python提供的复制数组方法。
brr = arr[:];
arr.append(7);
brr.append(8);
print(arr);#[1, 2, 3, 4, 5, 6, 7];
print(brr);#[1, 2, 3, 4, 5, 6, 8];
24.如何创建一系列不可修改的元素?
arr = (50,100);#这种语法在python中表示创建一个元组,元组与数组的不同之处在于元组是一组静态常量,不能使用下标进行修改,但可以进行访问,如果需要修改元组的数据,需要对元组进行重新赋值。
print(arr);#(50, 100)
arr = (100,200);
print(arr);#(100, 200)
25.如何在python使用if,if else,if-elif-if语句?
arr=[1,2,3,4];
for item in arr:
if item >= 3:
print(item);#3,4
#python中 if后面跟上条件表达式,然后加上冒号,循环体同for语句,需要进行缩进操作。
arr=[1,2,3,4,5];
middle = arr[len(arr)/2];
for item in arr:
if item > middle:
print(str(item) + 'is big than the middle num')
else:
print(str(item) + 'is small than the middle num')
#1 is small than the middle num
#2 is small than the middle num
#3 is small than the middle num
#4 is big than the middle num
#5 is big than the middle num
#实际上应该输出3是和middle num相等的,改写如下:
arr=[1,2,3,4,5];
middle = arr[len(arr)/2];
for item in arr:
if item > middle:
print(str(item) + 'is big than the middle num')
elif item == middle:
print(str(item) + 'is the middle num')
else :
print(str(item) + 'is small than the middle num')
#1 is small than the middle num
#2 is small than the middle num
#3 is the middle num
#4 is big than the middle num
#5 is big than the middle num
#这里注意的就是在python里面,if-else 的用法与其他语言大致相同,但是else if 语句在python中是使用 elif 语句来代替的。
26.如何检查两个值是否相等?
a = 1;
b = '1';
print(a==b);#False
#在python中变量是区分类型的,int类型是不会等于string类型的。
c = 'apple';
d = 'Apple';
print(c==d);#False
print(c.lower() == d.lower());#True
print(c!=d);#True
#python中变量比较严格区分大小写,在某些特殊场景下我们不管用户的输入是大小还是小写,例如验证码的比较中,我们都把输入转化为小写进行比较。
27.如何在python中使用 & 和 || 条件的语句?
a = 1;
b = 3;
if(a>0 and b>0):
print('num is all big than 0')
elif (a>0 or b>0):
print('one of the num is big than 0')
else :
print('sorry,none of the num is big than 0')
#num is all big than 0
28.python中如何快速的判断一个数是否在数组中,以及一个数据是否为空?
arr = [1,2,3,4,5];
brr = [];
a = 1;
b = 6;
if a in arr:
print(str(a) + ' ' + ' is in arr')
if b not in arr:
print(str(b) + ' ' + ' is not in arr')
if brr:
print('brr is not empty')
else :
print('brr is an empty array')
#1 is in arr
#6 is not in arr
#brr is an empty array
#python中使用in判断一个元素是否在数组中,使用not in判断一个元素是否不在数组中,直接使用if arr判断一个数据是否为空,当然也可这样判断
#if len(brr) == 0: print('brr is an empty array')
29.在python中如何创建和操作一个Object对象?
obj = {
'name':'liuda',
'sex':'female',
'age':33
}
print(obj)#{
'age': 33, 'name': 'liuda', 'sex': 'female'}
#访问对象里面的值可以这样使用:
a = obj['name'];
print(a);#liuda
#注意,在这里以obj.name进行访问的话将会报错。
#我们可以这样添加一个新的属性在对象里面:
obj['address'] = 'a place'
print(obj)
#{
'age': 33, 'address': 'a place', 'name': 'liuda', 'sex': 'female'}
#细心的人还会发现,在python中输出的结果默认是经过排序的。
#修改对象的某个值的方式和新建类似:
obj['sex']='man'
print(obj)
#{
'age': 33, 'address': 'a place', 'name': 'liuda', 'sex': 'man'}
#在某些特殊的情况下我们可能需要删除某个对象里面的属性,那么我们可以这样操作:
del obj['age']
print(obj)
#{
'address': 'a place', 'name': 'liuda', 'sex': 'man'}
#类似的情况很多,这里假设是对人的年龄进行保密,del语句将会删除对象中相应的键值对,使用时必须要指定对象的名字和其中要删除的属性的键名。
30.python中如何遍历一个对象?
user = {
'account':'x123456',
'name':'刘大',
'sex':'man'
}
#遍历所有的键-值
for key,value in user.items():
print('\nkey: '+ key)
print('value: '+ value)
# key: account
# value: x123456
# key: name
# value: 刘大
# key: sex
# value: man
#使用for循环进行遍历对象的时候,可以声明两个变量,用于存储键-值对中的键和值,这两个变量可以使用任何语义化的名称。
#item()方法会返回一个键-值对列表
#有的时候我们并不关心对象中的值,而注重对象中的属性名,这时我们只想遍历对象中的所有键,那么我们可以这样操作:
for key in user.keys():
print(key)#account name sex
#当然有时候我们想要遍历键的时候又得到对应的值,这时我们可以这样访问到键对应的值:
for key in user.keys():
print(key)#account name sex
print(user[key])
#account x123456 name 刘大 sex man
#在某些情况下我们想要结果按照一定的顺序排列起来,还记得之前用到的sorted()方法吗?
fruits = {
'banana':2,
'orange':5,
'apple':7
}
for key in fruits.keys():
print(key)
#orange banana apple
for key in sorted(fruits.keys()):
print(key)
#apple banana orange
#再次回顾下,sorted()方法返回的是一个临时排序,不会改变对象原有的结构,而使用sort()方法将会返回一个永久性的排序,对象内部结构会发生变化。
#同理,如何只遍历对象中所有的值呢?
for value in fruits.values():
print(value)#5,2,7
#思考,目前都是考虑对象中没有重复的值,那么假如对象中有重复的值呢?要如何进行遍历提取没有重复的值?
ages = {
'liuda':33,
'zhangsan':25,
'lisi':36,
'xiaoming':25
}
for values in ages.values():
print(value)#33,25,36,25
#假如我们只需要提取所有的年龄数据,而不管其中有多少个25岁的人,我们需要进行下面的操作:
for age in set(ages.values()):
print(age)#33,25,36
#set()方法会返回一个没有重复数据的列表。
#这些都是一些比较简单的列表,现实情况中的对象更加复杂:
milks = [
{
'name':'旺仔牛奶',
'product':['广州明旺','浙江大旺','内蒙古旺旺'],
'size':[
{
'sizeName':'125ml',
'sizeNum':'24',
'sizePackage':'纸盒'
},
{
'sizeName':'245ml',
'sizeNum':'12',
'sizePackage':'铁罐',
}
]
},
{
'name':'蒙牛早餐奶',
'product':['内蒙古蒙牛','湖南蒙牛','广州蒙牛'],
'taste':['核桃味','燕麦味','巧克力味'],
'size':[
{
'sizeName':'245ml',
'sizeNum':'12',
'sizePackage':'纸盒',
}
]
}
]
print(milks[0]['name'])#旺仔牛奶
31.如何获取用户的输入?
#input()函数让程序暂停,等待用户输入一些文本,python在输入转化为字符串存储起来。
#注意,在python2.7需要使用raw_input()而不是input();
message = input('please enter some text:')
print(message)
32.在python中如何使用while循环?
start = 1
while start <= 5:
print(start)
start += 1
#1,2,3,4,5
#在很多情况下,我们需要处理用户的退出,推荐的是使用一个标志变量,当满足一定条件的时候标志变换。
flag = True;
start = 1
while flag:
print(start)
start += 1
if(start == 3):
flag = False
#1,2
33.break与continue的对比?
#break语句适用于立即退出while循环,不再运行余下的代码,不管条件测试的结果如何
#continue语句则会返回到循环开头,并根据条件测试结果决定是否继续执行循环。
#break
start = 0
while start <= 10:
start += 1
if(start % 2 == 0):
print(start)
break;
#在使用break语句下,上面小程序在1-10之间输出偶数2之后就停止运行
#continue
start = 0
while start <= 10:
start += 1
if(start % 2 == 0):
print(start)
continue;
#在使用continue下则会输出正确结果,2,4,6,8,10
#回顾,在前面我们学习过如何在一个数组中删除一个指定的元素,
arr = [1,2,3,4,5]
arr.remove(1)
print(arr)#[2, 3, 4, 5]
#那么假如要删除的数在数组中出现多次,默认remove()只会删除第一次出现的数,这时while循环起作用了。
brr = [1,2,3,4,5,1]
brr.remove(1);
print(brr);#[2, 3, 4, 5, 1]
crr = [1,2,3,4,5,1]
while 1 in crr:
crr.remove(1)
print(crr)#[2, 3, 4, 5]
#while 循环和in判断结合使用可以进行删除。
34.python如何自定义函数?
#python使用关键字def进行声明函数
def greet():
"""Hello World"""
print('Hello World')
greet()#Hello World
#三个引号括起来的叫做 **文档字符串**,用来作为函数的注释,描述了此函数是做什么的。
35.python中函数的实参和形参?
def greet_user(userName):
print('Hello:'+userName)
greet_user('Lucy')#Hello:Lucy
#在定义函数的时候userName是一个形参,在调用函数的时候参数实参Lucy。传入的实参存储在形参中。
#位置实参
#在调用函数的时候,在不指定形参名的情况下,python默认是按照形参的顺序进行实参的调用的,直接看例子:
def greet_user(userName,userAge):
print("\nHello: " + str(userName))
print("\nYou are "+ str(userAge) + " years old")
greet_user('Linda',12)
#Hello: Linda
#You are 12 years old
#在传入正确的形参位置时,结果能够正常的输出,但假如位置写错的话,输出就会意想不到
greet_user(12,'Lucy')
#Hello: 12
#You are Lucy years old
#使用位置实参的时候,一定要保证实参和形参的传入顺序一致,否则将会出现意料之外的情况,在需要传入的参数比较多的情况下,推荐使用**关键字实参**。
greet_user(userName='Lili',userAge=16)
#Hello: Lili
#You are 16 years old
#如何传递任意数量的参数,在你预先不指定函数接收多少个参数的情况下可以传递任意参数。
def make_cake(*params):
print(params)
make_cake('flour','egg')#('flour', 'egg')
make_cake('flour','egg','cream')#('flour', 'egg', 'cream')
make_cake('flour','egg','cream','strawberry')
#('flour', 'egg', 'cream', 'strawberry')
#如何结合使用位置实参和任意数量实参
#如果要让函数接受不同类型的实参,必须要将函数定义中将接纳任意数量实参的形参放在最后,python会先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。
def get_userInfo(userName,phone,*additional):
print("\nuName:"+ userName)
print("\nuPhone:"+ str(phone))
print(additional)
get_userInfo('Liuda',13456789562,'address:xxxProvincexxxCity','age:22')
#uName:Liuda
#uPhone:13456789562
#('address:xxxProvincexxxCity', 'age
36.python如何导入外部文件和函数?
#python中使用import语句进行导入当前程序文件中使用的模块
#student.py
def add_student(sNo,sName):
print(sNo+':'+sName)
add_student('1111','Single')#1111:Single
#teacher.py
import student
student.add_student('222','double')#222:double
#注意在导入整个模块的时候我们需要使用 模块名.方法名 进行外部模块方法的使用。
#导入特定的函数:
from module_name import function
from student import add_student
#这种导入方式就可以在 teacher.py 中直接调用add_student方法了。
#我们还可以给导入的方法另起名字,as 关键字后面跟上新的名字
from student import add_student as add_one_student
#导入模块中的所有函数,可以使用:
from student import *
#推荐不要使用导入所有函数的写法,而采用 import student 这种写法,采用这种写法的话调用 student.func 可以避免由于函数名相同引起的错误。
这里介绍了python中使用的一些基本知识,下一章将会讲解有关面向对象编程和文件操作等相关知识。