目录
文章目录
一、变量
··字符串大小写:
··拼接字符串:
··剔除字符串中的空白:
··str():
注释使用#
二、列表
··末尾添加:
··插入:
··删除:
··排序:
··长度:
··for循环应用:
··range()生成数值:
··列表解析:
··切片:
··复制列表:
··元组:
三、IF语句
四、字典
··访问:
··添加键值对:
··删除键值对:
··遍历:
··字典列表:
··字典中存储列表:
··字典中存储字典:
五、用户输入
··多行输入:
··将输入转为数值:
六、while循环
··决定循环条件
··让用户选择何时退出
··用作标志:
··break语句
··continue :
··处理列表与字典:
七、函数
··函数定义:
··向函数传递信息:
··返回字典:
··操作列表:
··传递任意数量的实参:
··使用任意数量的关键字实参:
··模块:
··as:
八、类
··创建类:
··实例化
··给属性默认初始值
··修改属性值
··继承
··将实例用作属性
··导入类
一、变量
变量名同C规定,只能由数字、_、字母组成,且_和字母可为第一个字符。
字符串可由“”或‘’组成,但是“”与’‘不能和字符串中的“”’‘同时出现,可以交替使用。
··字符串大小写:
lower()、title()、upper()
··拼接字符串:
直接使用+完成连接
··剔除字符串中的空白:
剔除字符串前lstrip()、剔除字符串之后rstrip(),或者直接使用strip()
··str():
当python无法分辨变量age=23是数字还是字符时可以使用str()说明为一个字符串
注释使用#
二、列表
列表:
bicycles = ['trek', 'cannondale', 'redline', 'specialized'] 与数组相似,由0开始
··末尾添加:
bicycles.
append
('')
··插入:
bicycles.
insert
(0, 'ducati')
··删除:
del
bicycles[0]
bicycles.
pop
(可根据索引指定,如空白则默认为列表末尾)
方法pop()
可删除列表末尾的元素,并让你能够接着使用它
bicycles.remove('值')
··排序:
bicycles.sort() 按字母顺序正向 bicycles.sort(reverse=True)逆向 {永久性}
sorted(bicycles) sorted(bicycles,reverse=True) {临时性}
bicycles.reverse() 反转列表元素的排列顺序 {永久性}
··长度:
len(bicycles)
··for循环应用:
for bicycle in bicycles: print(bicycle) {注意缩进错误}
··range()生成数值:
利用for value in range(1,5): print(value) 可以输出1-4
利用list(range(1,5,步长))生成列表,可指定步长(不指定默认为1)
··列表解析:
squares = [value**2 for value in range(1,11)] 得到1-10的平方的列表
即列表名=[表达式 赋予表达式的值]
··切片:
bicycles[起始:末尾](其中,起始与末尾可以省略,即到表头或表尾)
··复制列表:
bicycles_2=bicycle[:] 可以指定起始与末尾
··元组:
相当于不可修改的列表 利用bicycles=(value1,value2)
不可以修改其中的value值,但可以进行重新赋值 bicycles=(value3,value4)
也可以利用索引与for循环
三、IF语句
大体与C相同
··判断条件时区分大小写
··使用and检查多个条件
``判断元素是否存在与表中 如 if bicycle (not) in bicycles
··检查超过两个条件时可以使用 if-elif-else 结构 (其中,当有一个测试通过时,就不再执行其他的测试)
··判断列表是否存在: if bicycles:
四、字典
alien_0 = {'color': 'green', 'points': 5} 用花括号包含一系列键值对 也可以创建空字典
alien_0 = {}
··访问:
如数组相似 alien_0[‘color’]
··添加键值对:
alien_0['x_position'] = 0 得到
{'color': 'green', 'points': 5, 'x_position': 0}
··删除键值对:
del
alien_0['points'] 只需删除键
··遍历:
for key, value in alien_0.items(): (其中key与value可以根据含义进行替换)
print("\nKey: " + key)
print("Value: " + value)
遍历所有键:
for type in alien_0.key(): 其中.key() 可以省略,效果相同
遍历所有值则使用 .value() 当去除重复值时使用函数 for name in
set
(alien_0.value)):
按顺序遍历:for name in sorted(alien_0.keys()):
··字典列表:
aliens = []
for alien_number in range(30): 生成30个相同的外星人并存入列表
new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien)
··字典中存储列表:
每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表
pizza = {
'crust': 'thick',
'toppings': ['mushrooms', 'extra cheese'],
}
··字典中存储字典:
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
五、用户输入
message = input("Tell me something, and I will repeat it back to you: ")
print(message)
··多行输入:
prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name = input(prompt)
··将输入转为数值:
输入时默认为字符串,将字符串转为数值时使用函数 age=
int
(age)
六、while循环
大体和C相同
··决定循环条件
while current_number <= 5:
··让用户选择何时退出
while message != 'quit':
··用作标志:
active = True
while active:
message = input(prompt)
if message == 'quit':
active = False
else:
print(message)
··break语句
在任何Python循环中都可使用break语句
··continue :
要返回到循环开头,并根据条件测试结果决定是否继续执行循环
··处理列表与字典:
列表间移动元素:
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
while unconfirmed_users:
current_user = unconfirmed_users.pop()
confirmed_users.append(current_user)
删除包含特定值的所有列表元素:
while 'cat' in pets:
pets.remove('cat')
使用用户
输入来填充字典
:
responses = {}
polling_active = True
while polling_active:
name = input("\nWhat is your name? ")
response = input("Which mountain would you like to climb someday? ")
responses[name] = response
七、函数
··函数定义:
def greet_user():
··向函数传递信息:
def greet_user(username):
print("Hello, " + username + "!")
greet_user('jesse')
··传递实参时注意位置,当使用默认值时python也会根据位置信息进行匹配。
··使实参是可选的:即将可选实参的默认值设为空字符串'',后续用if语句实现
··返回字典:
def build_person(first_name, last_name):
person = {'first': first_name, 'last': last_name}
return person
musician = build_person('jimi', 'hendrix')
print(musician)
··操作列表:
禁止函数修改列表 可以将列表的副本传递给函数 如 调用时:
function_name(list_name[:])
··传递任意数量的实参:
形参名
*toppings
中的星号让
Python
创建一个名为
toppings
的空元组,并将收到的所有值都封
装到这个元组中
··使用任意数量的关键字实参:
def build_profile(first, last, **user_info):
profile = {}
profile['first_name'] = first
profile['last_name'] = last
for key, value in user_info.items():
profile[key] = value
return profile
user_profile = build_profile('albert', 'einstein', location='princeton', field='physics')
print(user_profile)
··模块:
在主文件开头加 import 函数文件名 调用时 函数文件名.函数名
也可以直接调用特定的函数 from 文件名 import 函数名1,函数名2
··as:
使用
as 给函数指定别名 from
module_name
import
function_name
as
fn
使用 as 给模块指定别名 import
module_name as mn
导入模块中的所有函数 from
module_name import * (可通过名称来调用每个函数,而无需使用句点表示法)
八、类
··创建类:
class Dog(): (类名首字母大写)
def __init__(
self
, name, age):
self.name = name
self.age = age
def sit(
self
):
print
(self
.name.title() + " is now sitting.")
def roll_over(
self
):
print(self.name.title() + " rolled over!")
··实例化
my_dog=Dog('ball',2)
访问属性:my_dog.name
调用方法:my_dog.sit()
··给属性默认初始值
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
无需将其包含于形参
··修改属性值
1. 直接修改属性的值:my_new_car.odometer_reading = 23
2. 通过方法修改属性的值:
def update_odometer(self, mileage):
self.odometer_reading = mileage
my_new_car.update_odometer(23)
my_new_car.read_odometer()
3. 通过方法对属性的值进行
递增
:
def increment_odometer(self, miles):
self.odometer_reading += miles
··继承
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
给
子类定义属性和方法:可以直接在子类相应位置进行添加
重写父类的方法:对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。为此,可在子类中定义一个这样的方法,即它与要重写的父类方法同名。这样,Python将不会考虑这个父类方法,而只关注你在子类中定义的相应方法。
··将实例用作属性
class Battery():
def __init__(self, battery_size=70):
self.battery_size = battery_size
调用初始化时:
self.battery = Battery()
··导入类
from 文件名 import 类名
在一个模块中存储多个类:调用时只需调用所需类,不用考虑继承关系
从一个模块中导入多个类:用 , 分隔各个类
导入整个模块:import 文件名 注意:在之后调用文件中的类时需要用 文件名.类
导入模块中的所有类:from
文件名
import *
在一个模块中导入另一个模块:可在模块中导入必要的类