修改字符串的大小写
title()
1 | print('abcd'.title()) |
输出
1 | Abcd |
upper()
1 | print('abcd'.upper()) |
输出
1 | ABCD |
lower()
1 | print('ABCD'.lower()) |
输出
1 | abcd |
列表
1 | name = ['name1','name2','name3'] |
添加元素(append)
1 | name.append('name4') |
1 | print(name[3]) |
插入元素(insert)
1 | name.insert(0,'name0') |
1 | print(name[0) |
删除元素(del)
1 | del name[0] |
删除元素(pop)
1 | name.pop() |
根据值删除元素(remove)
1 | name.remove("name0") |
组织列表
1 | numbers = [1,4,2,8] |
永久排序(sort)
1 | numbers.sort() |
临时排序(sorted)
临时排序不影响它们在列表中的原始排序顺序1
numbers.sort()
倒着打印(reverse)
1 | numbers.reverse() |
列表长度(len)
1 | len(numbers) |
索引-1返回最后一个元素
操作列表
1 | nums = ['nums1','nums2','nums3'] |
遍历列表
1 | for info in nums: |
输出:
1 | nums1 |
创建数字列表
使用函数range()
1 | for value in range(1,5): |
输出:
1 | 1 |
使用range()函数创建数字列表
1 | print(list(range(1,6))) |
输出:1
[1, 2, 3, 4, 5]
指定步长
1 | print(list(range(2,11,3))) |
输出:
1 | [2, 5, 8] |
对数字列表执行简单的统计计算
1 | digits = [1,2,3,4,5,6,7,8,9,0] |
列表解析
1 | squares = [value**2 for value in range(1,11)] |
输出:
1 | [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] |
使用列表的一部分
1 | name = ['name0','name1','name2','name3'] |
切片
1 | print(name[1:3]) |
输出:
1 | ['name1', 'name2'] |
遍历切片
1 | for info in name[-3:]: |
输出:
1 | name1 |
复制列表
1 | name_re = name[:] |
元组
定义元组
1 | b = (200.50) |
遍历元组
1 | b = (200.50) |
修改元组变量
不能修改元组的元素但是可以重新定义1
2b = (200.50)
b = (300.50)
条件语句
注:检测是否相等时考虑大小写
1 | 相等:== |
if语句
1 | if True: |
字典
1 | alien_0 = {'color':'red','points':5} |
遍历字典(items(),keys(),values())
1 | for key,value in alien_0.items(): |
输出:1
points 5
按照顺序遍历所有键
1 | for key in sorted(alien_0.keys()): |
输出:
1 | color |
用户输入和while循环
input()
1 | message = input("Tell me something, and I will repeat it back to you") |
int() str() 类型转换
求模运算符
1 | 5 |
while循环
1 | num = 1 |
break退出循环
continue返回循环开头
函数
1 | def cats(): |
调用:
1 | cats() |
实参和形参
1 | def greet_user(username): |
在上面的代码中username是一个形参,而greet_user(“yinxs”)中的yinxs是一个实参
传递实参
位置实参
关联方式是基于实参的顺序,这种关联方式叫位置实参
1 | def greet_user(username,age): |
关键字实参
关键字实参是传递给函数的名称-值对。
1 |
|
可以设置默认值
1 | def greet_user(username,age=25): |
返回值
1 | def greet_user(username,age=23): |
可选实参
1 | def get_formatted_name(first_name,last_name,middle_name=''): |
传递列表
1 | def greet_users(names): |
将函数存储在模块中
导入整个模块
要让函数是可导入的,得先创建模块
greet_users.py1
2
3def names(infos):
for info in infos:
print(info)
在另一个文件中
1 | import greet_users |
注意: 如果是用的pyCharm记得设置根目录在setting-source中
导入特定的函数
1 | from greet_users import names |
使用as给模块指定别名
1 | import greet_users as n |
导入模块中所有函数
1 | from greet_users import * |
函数编写指南
- 形参指定默认值时,两边不能有控格。
- 如果包含多个函数,可使用两个空行将相邻的函数分开
- 代码行长度不要超过79个字符
类
创建和使用类
创建Dog类
根据Dog类创建的每个实例都将存储名字和年龄并赋予小哥蹲下和打滚的能力
1 |
|
方法init():
类中的函数称为方法。init()是一个特殊的方法,每当根据Dog类创建实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。在形参中self必不可少,位于开头,它是一个指向实例本身的引用。
根据类创建实例
1 | my_dog = Dog('Bai',5) |
前面两个print中的是访问属性,后面两个print中的是调用方法
使用类和实例
指定默认值
1 |
|
self.race = “dog” 为默认值
修改默认值
直接修改
1 | my_dog = Dog('Bai',5,'Teddy') |
通过方法修改
1 |
|
1 | my_dog.change_race("Teddy") |
继承
一个类继承另一个类
子类的方法init()
1 | class Car(): |
python2.7中的继承
1 | class Car(object): |
将实例用作属性
1 | class Car(): |
导入类
car.py1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22class Car():
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_derscriptive_name(self):
long_name = str(self.year) + " " + self.make + " " + self.model
return long_name.title()
def read_odometer(self):
print("This cat has " + str(self.odometer_reading) + " miles on it.")
def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
self.odometer_reading += miles
在文件中导入:
1 | from car import Car |
导入多个类
car.py1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35class Car():
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_derscriptive_name(self):
long_name = str(self.year) + " " + self.make + " " + self.model
return long_name.title()
def read_odometer(self):
print("This cat has " + str(self.odometer_reading) + " miles on it.")
def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
self.odometer_reading += miles
class Battery():
def __init__(self,battery_size=70):
self.battery_size = battery_size
def descript_battery(self):
print("This car has a " + str(self.battery_size) + "-kwh battery.")
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__( make, model, year)
self.battery = Battery()
导入:
1 | from car import Car,ElectricCar |
导入整个模块
1 | import car |
导入模块中的所有类
1 | form car import * |
异常
使用try-except代码块
1 | try: |
失败时无提示1
2
3
4try:
print(5/0)
except ZeroDivisionError:
pass